Ray Tracer
This was a project for my Advanced Graphics course. I do not normally like including school work in my portfolio but I think that this is a very important piece of work that I am proud of.
This was created from scratch using C++. I used the GLM library for math, RapidJSON for the scene description files, and wrote a custom .BMP exporter for the frames. This project went through many iterations.
Here is the output of the first iteration of the ray tracer, this is an image without diffuse light bounce.
I also wanted to create animations with it, so I added the ability to be able to describe simple animations inside of the scene description file and then render out a small clip. Here is an example!
I also explored implementing soft shadows and multiple bounce diffuse lighting. Here is an example image using a plane light source.
Here is an image using a sphere for a light source.
Here are multiple spherical light sources!
Places To Improve:
As you can see from the path tracer output, there is a lot of noise! I would like to either find a denoising algorithm or implement another algorithm that reduces noise while needing fewer iterations to converge.