Multithreaded raytracer

In this school assignment I created a Realtime Raytraced Renderer that runs on the CPU. The renderer supports rendering spheres, planes and TriangleMeshes. And supports materials using BDRF shaders.

About the project

This school project was my first introduction with graphics programming other than playing around with OpenGL and Vulkan in my free time. The goal of this project was to create a ray traced renderer running on the CPU. In my free time I wanted to explore multi threading in C++ so I enhanced my software ray tracer to divide the rendering of the frame over multiple threads to significantly increase the render time of each frame.

Topics covered

  • Orthographic & Perspective Camera
  • Lightning & Shadows
  • PBR Materials
  • Applied Vector & Matrix Math
  • Ray Intersections
  • OBJ Parser
  • BDRF's
    • Lambert
    • Phong
    • Cook-Torrence
FooterContactInfo
FooterResume