This 2D Ray Tracer was developed as a course project at BUAS during Block C of Year 1. The entire rendering pipeline runs on the CPU in C++. To demonstrate the dynamic lighting capabilities, I made a small snake spinoff on top of the engine.

Goals and Motivations

Technical Goals:

  • Explore fundamental ray-tracing concepts such as intersection checks, shadows, lighting.
  • Gain experience on CPU based renderers while improving C++ skills.
  • Get a basic understanding of optimization techniques in ray tracing

Challenges and solutions