Skip to content

Photon beam rendering algorithm implemented with DirectX12 and RTX

Notifications You must be signed in to change notification settings

donguklim/DirectX12PhotonBeam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Photon beam rendering algorithm implemented with DirectX12 and RTX

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published