Skip to content

AmelieHeinrich/Oni

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Oni : a DirectX 12 renderer written in C++

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.

Requirements

  • 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

Building

  • 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

Screenshots

Renderer features

  • 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

Other features

  • UI powered by ImGui
  • In-engine screenshot system
  • Shader hot reloading and caching
  • Texture compression

Dependencies

Releases

No releases published

Languages