Mathematical Spheres Raycast-Renderer in OpenGL

This project was developed in the course “alternative rendering methods” by me and two colleagues.

It implements a sort-of classic Raycast-Renderer (e. g. the first Doom game) with the spheres not being 3d models but being defined by position, center-point and radius instead. The renderer then uses mathematical sphere equations and the benefits of OpenGL/GLSL to produce a modern-looking rendering result with proper depth and dynamic lighting.

Due to multithreading and subdividing the screen into multiple raycasting-/rendering-zones the renderer achieves more than 60fps on average on a 800×600 pixel resolution.

Worked on


  • Rendering architecture
    • OpenGL setup
    • render cycle
    • ImGUI implementation
  • Shaders & lighting


Running with lighting