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.
- Rendering architecture
- OpenGL setup
- render cycle
- ImGUI implementation
- Shaders & lighting