- PBR
- Environment Mapping
- IBL
- Lights & tools for controlling them
- Gizmos
- Shadow mapping
- Scene Graph
- Instanced Rendering
- Postprocessing - Gamma Correction & FXAA
- Geometry Shader
In order to build the project you first need to create CMake build directory.
cmake -B buildAfter that compile the project using whatever generator you used.
For example: for Visual Studio it means opening the generated .sln file. For compiling with Ninja, you need to run ninja -C build.
When running the project make sure that your current working directory is the root of this repository.
Right click on viewport in order to control camera.
While controling the camera, use WASD to navigate and Control / Space to move camera down / up.
When model is selected you can switch gizmos with W, E and R keys.
Sponza scene lit by 1 directional light from the top (sun) and 2 point lights (green and blue) orbiting around the center.
Debug View of FXAA edge detection. Edge detection threshold can be changed by tweaking the LUMA Threshold slider in the Misc tab.
The whole scene is rendered using PBR. You can see reflections of the skymap on the helmet and boombox.
1 million textured cubes are rendered around the scene.
Triangles are being created from the heightmap terrain. Then they are being moved along their normals.




