Skip to content

Latest commit

 

History

History
71 lines (46 loc) · 4.3 KB

README.md

File metadata and controls

71 lines (46 loc) · 4.3 KB

DirectX12PhotonBeam

Photon beam rendering algorithm implemented with DirectX12 and RTX

Link to video

Link to video

Background

This is a portfolio project made with intention to implement Photon Beam rendering algorithm using DXR and DirectX 12.

Photon Beam is a rendering algorithm developed by Disney for descriging radiance due to volumetric participating media.

This application loads a GLTF 3D model file. BRDF equation used for surface refelections on the 3D model follows BRDF in GLTF specification for surface reflection.

For rendering, this application uses

  • Photon beam method for volumetric participating media radiance estimation
  • Photon mapping method for surface radiance
  • Simple raytracing for specular reflection on 3D model objects with zero roughness.

Watch above video for checking how the implementation works.

For more detailed background of the techinques used, you may check the references.

Requirement

  1. You need to install Windows SDK, which can be installed from Visual Studio Installer.
  2. In the Windows SDK folder (typically located at Program files/Windows Kits/10/), search for dxil.dll file and dxcompiler.dll file for your machine(arm64, x64 or x86), and copy those files to PhotonBeam folder

Note

  • If lauching the applicatio fails, turn off raytracing mode by default and check if the rasterization works well
  • If only raytracing mode fails, try to lower m_maxNumBeamSamples and m_numBeamSamples variables of PhotonBeamApp class

Vulkan Implementation

https://github.com/donguklim/vk_raytracing_tutorial_KHR/tree/master/photon_beam

The vulkna implementation is made with Nvidia raytracing sample code as base.

References

Third Party Libraries