Radish Engine is a DirectX12 renderer & mini engine for experimenting with renderer architecture, rendering techniques and mainly focusing on procedural generation.
Rendering of Terrain generated with erosion & Water simulation as a byproduct of Hydraulic Erosion rendered with Screen Space Reflections/Refractions
Rendering of Sponza with shadow mapping
- Water Rendering
- Screen Space Rendering & Reflections
- Blinn Phong Lighting Model
- Normal Mapping
- Shadow Mapping
- Real-Time Terrain Generation & Erosion:
- GPU Hydraulic Erosion
- GPU Thermal Erosion
- Diamond Square
- Fully Bindless Architecture with SM 6.6
- Runtime Shader Compilation
- Entity Component System Architecture with EnTT
- Obj & Texture Loading with tinyobjloader and stb_image
- MipMap Generation with FidelityFX SPD
- Dear ImGui Integration
Make sure to have pre-requisites installed & submodules initialized
git submodule update --init --recursive
Generate Visual Studio solution files with CMake & build the project
cmake -S . -B Build -G "Visual Studio 17 2022" -A x64
cmake --build Build --config RelWithDebInfo
Key | |
---|---|
WASD+Ctrl+Space | Camera movement |
E | Toggle Capture Cursor |
M | Reset Terrain Generation |
R | Reset Camera Position |
L | Move Light to Camera |
Tab | Toggle between Camera/Light View |
-
Jákó, B., & Tóth, B. (2011). Fast Hydraulic and Thermal Erosion on GPU. Eurographics.
-
X. Mei, P. Decaudin and B. -G. Hu, "Fast Hydraulic Erosion Simulation and Visualization on GPU," 15th Pacific Conference on Computer Graphics and Applications (PG'07), Maui, HI, USA, 2007, pp. 47-56, doi: 10.1109/PG.2007.15.