Real-time clustered-forward rendering engine written in OpenGL & C++ utilizing GPU compute. Physically-based shading models in progress.
I rewrote this engine in Vulkan here. I will probably won’t be working on this version much if at all
This engine is somewhere I can implement modern rendering techniques and hopefully make some beautiful images along the way. So far, this engine has successfully implemented the following features:
The current roadmap is as follows:
Sphere primitive generated.
Clustered forward shading result with 1024 lights on the Sponza scene. This is using a Blinn-Phong lighting model and HDR + Reinhard tonemapping, along with gamma correction.
Simple phong lighting model with forward rendering, which will be adapted to work with clustered forward rendering.
Debug screenshot of subdividing between near and far plane into clusters on the sponza model. This idea will be used in the compute shader for culling lights into clusters.
First rendered model.
Gooch shading model implementation. See reference for Stanford dragon model below.
Morgan McGuire, Computer Graphics Archive, July 2017 (https://casual-effects.com/data)
git clone --recursive https://github.com/deadbird11/efgl.git
, then cd efgl
. Create a build directory, like build
, then cd
into it. Run cmake ..
and it should generate some Makefiles. You can also generate other project files for whatever platform you’re on. Finally, if you’re using make, run make install
and it should build an efgl
binary. Enjoy!