This is a personal toy renderer meant as a playground for experimenting with ideas and rendering techniques.
- Visual Studio 2022
- Windows SDK 10.0.19041.0
- DXR compatible GPU with Resource Heap Tier 3 support
- Run
scripts/Generate_VS2022_Windows.bat
to generate VS project files.
- Open
D3D12.sln
and Compile/Run
Visibility Buffer - Deferred Texturing
2 Phase Occlusion Culling |
Visibility Buffer Deferred Texturing |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/OcclusionCulling.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/VisibilityBuffer.jpg) |
GPU Driven rendering with mesh shaders using the 2 Phase Occlusion algorithm to a visibility (ID) buffer.
Dynamic Diffuse Global Illumination (DDGI)
DDGI |
Disabled |
Path Traced |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/1_DDGI.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/1_NoDDGI.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/1_PathTraced.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/6_DDGI.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/6_NoDDGI.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/6_PathTraced.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/4_DDGI.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/4_NoDDGI.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/4_PathTraced.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/5_DDGI.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/5_NoDDGI.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/5_PathTraced.jpg) |
Resource re-use |
Graph visualization |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/RenderGraphTracking.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/RenderGraphDump.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/Profiler.jpg)
Tiled and Clustered Light Culling
View |
Clustered Buckets |
Tiled Buckets |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/LightCulling_02.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/LightCulling_01.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/LightCulling_03.jpg) |
Enabled |
Disabled |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/VolumetricFog_01.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/VolumetricFog_02.jpg) |
Concurrent Binary Tree - GPU driven runtime subdivision
View |
Color Coded Cascades |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/CSM_02.jpg) |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/CSM_01.jpg) |
View |
![](https://raw.githubusercontent.com/simco50/D3D12_Research/master/Images/AutoExposure.jpg) |
- GPU driven rendering
- 2 phase occlusion culling
- Render graph
- Deferred texturing
- Path tracing mode
- Tiled light culling (Forward+)
- Clustered light culling (Clustered Forward+)
- Cascaded shadow maps
- Volumetric lighting
- Bindless resources, no input layouts
- Compute particles
- Dynamic eye adaptation
- Screen space reflections (wip)
- Raytraced reflections (wip)
- Screen space ambient occlusion
- Raytraced ambient occlusion (wip)
- Temporal anti-aliasing
- Microfacet BRDF
- Shader hot-reloading