Skip to content

akavasis/Kaguya

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

243 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kaguya

This is a hobby project using DirectX 12 and utilizing its latest features such as DirectX RayTracing (DXR). This project is inspired by Peter Shirley and his ray tracing book series: In One Weekend, The Next Week, The Rest of Your Life, Alan Wolfe's blog post series on causual shadertoy path tracing and lastly Physically Based Rendering: From Theory to Implementation by Matt Pharr, Wenzel Jakob, and Greg Humphreys.

Features

  • Stochastic path tracing
  • Bindless resource
  • Multi-threaded rendering
  • Utilization of multiple queues on the GPU
  • Lambertian, Mirror, Glass, and Disney BSDFs
  • Point and quad lights
  • ECS scene system (Unity-like interface)
  • Scene serialization and deserialization using yaml allows quick experimental scene
  • Asynchronous resource loading
  • Importance sampling of BSDFs and multiple importance sampling of lights

Goals

  • Implement spectral path tracing
  • Implement anti-aliasing techniques
  • Implement more materials
  • Implement denoising
  • Implement compaction to acceleration structures
  • Upgrade from DXR 1.0 to DXR 1.1 (inline raytracing)

Build

  • Visual Studio 2019
  • GPU that supports DXR
  • Windows SDK Version 10.0.19041.0
  • Windows 10 Version: 20H2
  • CMake Version 3.15
  • C++ 20

Make sure CMake is in your environmental variable path, if not using the CMake Gui should also work. Once you have cloned the repo, be sure to initialize the submodules.

When the project is build, all the assets and required dlls will be copied to the directory of the executable. Theres a scene folder containing all the scenes for the showcase, those can be loaded in when right clicking on hierarchy and cicking on deserialize.

Bibliography

Acknowledgements

Thanks to Benedikt Bitterli's for rendering resources!

Showcase

0 1 2 3 4 5 6 7

About

D3D12 Rendering Engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 58.1%
  • C 29.3%
  • HLSL 11.5%
  • CMake 1.1%