VQEngine - DirectX12 Renderer
VQEngine (GitHub) is an open source DirectX12 renderer for prototyping of rendering techniques and experimenting with cutting edge technology that I develop on the weekends.
See Releases to download the source & pre-built executables.
Features, as of release v0.8.0 (November 2021) :
Graphics
- Physically-based Rendering (PBR)
- BRDF
- NDF : Trowbridge-Reitz GGX
- G : Smith
- F : Fresnel_Schlick / Fresnel_Gaussian
- Image-based Lighting (IBL) w/ prefiltered environment cubemaps
- Load-time diffuse & specular irradiance cubemap convolution
- BRDF
- Lighting & Shadow maps
- Point Lights
- Spot Lights
- Directional Light
- PCF Shadow Maps for Point/Spot/Directional lights
- HDR Environment Maps from HDRI Haven
- Ambient Occlusion
- Anti Aliasing
- MSAA x4
- PostProcess
- Tonemapping & Gamma correction
- FidelityFX - Contrast Adaptive Sharpening (CAS)
- FidelityFX - Super Resolution 1.0
Display
- HDR display support with scRGB HDR pipeline
- Multiple window & monitor support
- Refresh Rate
- Custom
- Auto (1.33 x monitor refresh rate)
- Unlocked
- VSync
- Alt+Enter Borderless Fullscreen
Engine
- Multi-threading
- Worker threads
- Parallel command list recording
- Culling
- Asset loading
- Main + Simulation threads to decouple OS events from the update loop
- Worker threads
- glTF 2.0 model loading using assimp
- Shader system
- Shader cache
- Multi-threaded shader compilation
- Shader Model 5.0 (DXBC) & 6.0 (DXIL)
- Automated build & testing scripts