This is an SDL+OpenGL rendering project written in C that implements various computer graphics techniques I find interesting.
It currently includes an HDR deferred render pipeline, PBR lighting, IBL, shadow mapping, parallax mapping, tonemapping, basic particle emitters (forward rendered).
The material system uses a roughness/metallic workflow and supports any/all of the following textures:
- Roughness
- Metalness
- Normal
- Emissive
- AO
- Height
There is also a small tool to stitch cubemaps and bake irradiance maps (support for generating prefiltered radiance maps is NYI).
- Material textures come from freepbr.com
- Environment maps come from humus.name
- Lots of implementation help from learnopengl.com
- cmft was used to generate the prefiltered radiance maps
- The GUI library used is the awesome dear-imgui