Oni is a modern graphics engine written in C++ with the DirectX 12 API. Its goal is to showcase the latest advancements in real-time rendering. Oni makes heavy use of compute shaders to accelerate the rendering pipeline -- everything that isn't a draw call is done through compute.
- xmake
- Windows SDK Latest
- Visual Studio 2022 + ATL Toolkit
- HLSL Shader Model 6.6
- GPU with, ideally, the following features:
- DXR
- Mesh shaders
- Work graphs
- xmake
- xmake f --mode={debug/release}
- Copy the contents of the bin folder in build/windows/x64/{debug/release}/
- Copy the D3D12 folder in build/windows/x64/{debug/release}/
- xmake run
- Deferred rendering
- Shadow mapping
- Bloom (experimental, doesn't work well or look good)
- HDR rendering
- Color grading
- TAA (Temporal Anti-Aliasing)
- Film Grain
- Debug renderer (lines, motion vector visualizer)
- PBR and emissive material workflow
- Point, directional lights
- UI powered by ImGui
- In-engine screenshot system
- Shader hot reloading and caching
- Texture compression