/Grosse_Senior_Project

A repository housing the resources for my senior project in my undergrad at Carroll College

Jacob Grosse Senior Project

This repository contains all of the research and code which encompass my interdisciplinary senior project for my triple major (Computer Science, Data Science, Mathematics) program at Carroll College.

The goal of this project is threefold:

  • Utilize C++ to create an efficient CPU raytracer (expand and reimplement with GPU parellel processing if time allows)
  • Utilize python and PyTorch to create a convolutional neural network which can denoise lower quality rendered images which would allow quicker render times to produce relatively high quality images (success in this category is relatively new in the data science world and I will be attempting to replicate the work of PhD students in the field)
  • Explore mathematical functions of shapes and vectors and how those functions interact with each other for the use case of three dimensional geomtric rendering (implemented directly in the raytracing application)

Most of the code that I have used or modified from other sources will be annotated in the code itself; however, most of the raytracing portion of the application is heavily influenced by the Ray Tracing in One Weekend series by Peter Shirley. The code for the raytracer is based strongly on this series of texts and as such, these texts are considered an implicit reference in the code for that portion of this application. In some places of that code, this implicit reference is explicitly stated, and in some it is not, but should be considered a cited reference for the raytracing code.