Rendering engine and editor
Editor UI uses Qt.
Engine description
Fully GPU driven graphics architecture. GPU based frustum and occlusion culling using cluster culling. (roughly the same as the one presented here http://advances.realtimerendering.com/s2015/aaltonenhaar_siggraph2015_combined_final_footer_220dpi.pdf)
Physically based lighting model (PBR) supporting the most common light types (directional, spot, point). Also supporting image based lighting.
Temporal Antialiasing. PCF Shadows. Screen space ambient occlusion.
Light probes.
Supports both DX12 and Vulkan backends.
Shader hotreload (both in editor/in game).
Distributed asset processing.
This project is likely never going to be finished nor production quality. It is only a tool for me to study the subject.
Building it.
- pull the latest version
- download the externals package from here: https://drive.google.com/file/d/1XFZp6AO2Q2x2dW24wWxyYK4750MU0Ds2/view?usp=sharing
- and unzip it under the main darkness folders
- build sharpmake with visual studio. Solution file is under: tools\Sharpmake\Sharpmake.sln
- open Visual studio Command prompt (x64 Native Tools Command Prompt for VS 2022)
- in the darkness root folder. execute (twice): GenerateSolutions.bat
- open ide\vs2022\darkness.vs.2022.sln. and build release and/or debug
- DarknessEditorV2 and DarknessGame are currently runnable
Good luck.