Project Overview
Project Progress
Finished 100%

Genre

Whitted Style Raytracer

Team Size

1 Person

Roles

Graphics Programmer

Platform

PC

Duration

8 weeks

During the second Block of my first year in IGAD, we developed a fully-fledged Whitted-style ray tracer under the instruction of Professor Jacco Bikker. 

While limited, my ray tracer can visualize basic primitives like planes and spheres and factors simple light models like Blinn-Phong shading in. It also employs a simple 2D screenspace grid as an acceleration structure and uses OpenMP multithreading to increase performance. 

What did I work on?

Since this is an entirely CPU based ray tracer, I employ another technique to accelerate the rendering process: Interlacing. While this would ruin the image quality in a ray tracer with a movable camera, it is optimal for improving the performance of a ray tracer with stationary cameras. The Idea behind interlacing is not to render/trace every line of pixels every frame, meaning that depending on the stride, the workload the CPU has to carry can be drastically reduced. However, this also means that some pixels are not updated every frame, resulting in artefacts of previous frames being shown when moving the camera in real-time.

You can download the code of my ray tracer from the Github Repo linked below.

Code & Executable