Ray tracer


Year 1



 8 weeks


Team Size:

 Solo Project



Graphics programmer


Game Engine:

JBikkr Template


About the Project:

For this project I had to create a ray tracer that was capable of rendering different shapes. This had to be done with good shading(Blinn–Phong) as well as with reflections.


I was most interested working on the different data structures and getting the shading done correctly, as shading adds a lot to the feeling/look and data structures are pleasing to work with.


  • Camara
  • Vector Math
  • Hardcoding UI
  • Ray-Plane & Ray-Sphere Collision
  • Blinn-Phong Shading
  • Reflection
  • Bounding Volume Hierarchy


Ray-Plane & Ray-Sphere Collision

Addressing collision demands necessitated delving into shape definition through formulas. I successfully implemented ray-sphere and ray-plane collision techniques, despite the initial challenge of grasping applied mathematics. This endeavor significantly enhanced my proficiency in vector utilization and applied mathematical concepts.



This feature proved both enjoyable and demanding, requiring meticulous logic sequencing to avoid frustrating outcomes from even a single step being out of place. The complexity was heightened by incorporating recursion, making the process all the more intricate.



Creating a BVH (Bounding Volume Hierarchy) and designing a custom data structure were novel experiences for me. I conducted research to comprehend data structure mechanics, ultimately selecting a binary tree that best suited my requirements.