Extremely simple realtime renderer
- Physical based rendering(PBR)
- Image based lighting(IBL)
- Screen space ambient occlusion(SSAO)
- Screen space reflection(SSR)
- Deferred pipeline
- Particle system(firework only)
- Post effect
Third parties kits:
- GLM (Math library)
- GLAD (OpenGL extension)
- GLFW (Window controller)
- Assimp (Resources loader)
- ImGUI (GUI)
CXX standards:
- c++17 (only required for filesystem.cpp)
mkdir build && cd build
cmake ..
- Set repository folder as working directory
- Add all DLLs(assimp only here) to startup path
In the case of Visual Studio:
- Select project "demo" and choose "Set as Startup Project"
- Go to "Properties" of "demo" then "Debugging" page
- Set "Working Directory" as "$(ProjectDir)../../"
- Set "Environment" as "PATH=$(ProjectDir)../../3rdparty/assimp/bin;%PATH%"
- All above apply if your build folder is under repo folder
- Mouse control(view)
- Keyboard WASD(move) Q(up) E(down)
- Keyboard Tab(show/hide ui board)
- Keyboard 1(scene 1) 2(scene 2) 3(null scene)