top of page

Ray Tracer

What I have done:

  1. Custom vector3

  2. Ray class

  3. Calculating surface normals

  4. Antialiasing

  5. Different types of Materials: Diffuse, Metal, Dielectric

  6. Camera and Depth of field

 

What more can be done?

  • First thing is this program runs in single core so it takes a while to run with too many samples per pixel so Parallelism is essential.

  • Textures

  • Lights

  • Since this is only spheres, Triangles can be added

Technologies Used:

  • C++

  • Visual Studio

GitHub Page:

Details:

The aim of this program is to understand how Ray Tracing works. This is a simple implementation of the topic. I have not used any external libraries to create this program. Output of this program creates an image in ppm format. I have chosen this format because it's relatively simple to create image outputs.

The first thing that I created in this project is the ray and send that to the scene. This project have multiple objects in the scene that have different materials such has Diffuse (matte), Metal and Dielectrics. It also calculates antialiasing by sending multiple samples and averaging them to get the color. This project also has a very simple position able camera that looks at the world origin. It also has depth of field. This project took me a week to do so.

​

bottom of page