Demon Renderer Enhanced

This project started as a minimal OpenGL framework provided by my university, but I quickly turned it into a much more complex renderer by implementing a full suite of modern graphics features. The goal was to explore advanced shader programming, GPU compute, and rendering techniques used in real-time engines.

Most of the work focused on pushing visual fidelity while learning how to manage GPU resources more efficiently. I built a deferred renderer from scratch, added support for PBR materials, and implemented post-processing effects like depth of field, fog, and edge detection. One of the more challenging parts was simulating millions of snow particles entirely on the GPU using compute shaders and SSBOs.

I also experimented with LOD systems using tessellation and geometry shaders, created procedural terrain using noise functions, and built a basic lighting system with shadows. The project includes a custom UI with ImGui to tweak settings in real time.

It became a great environment to test ideas and push my understanding of real-time rendering and graphics programming. This project quickly became one of my favourites.

Features

• Deferred renderer with shadow mapping • PBR materials • Compute shader snow simulation (~3 million particles) • Tessellation + geometry shader LOD system • Procedural terrain with noise • Post-processing: Depth of field, fog, edge detection, tonemapping, etc • Billboarded trees and seperate skybox pass • ImGui debug UI for live tweaking