Skip to content

[SIGGRAPH Asia 2024 (Journal Track)] Official code release for paper: 🎯"DARTS: Diffusion Approximated Residual Time Sampling for Time-of-flight Rendering in Homogeneous Scattering Media"

License

Notifications You must be signed in to change notification settings

Enigmatisms/DARTS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

The code is composed of two renderers:

A kind reminder: don't get misled. Diffusion here does not mean DDPM related generative AI. It is an optics concept which describes the "diffusion" of photons within the participating medium. The only part Pytorch gets used in this work, is the precomputation of the EDA direction sampling table, which takes merely 5 seconds to complete with torch.compile and no back-prop is used. Yeah, I know, this is old-fashioned, sorry about that if you accidentally click this repo and try to see how diffusion models are employed.

Compilation and using this code base can refer to the README in each folder. The main modification:

  • Support ToF rendering (transient / time-gated) for both renderers.
  • Added GuidedHomogeneousMedium class, IsotropicDAPhase class and etc. which support our sampling methods.
  • Modified some of the BSDF implementation, so that Tungsten can have the same outputs as PBRT-v3 (Tungsten can have matched output as PBRT-v4 but not v3).

You can refer to Enigmatisms/AnalyticalGuiding repo to test the 2D and 1D numerical tests and interactive visualization (in DearPyGui and Taichi).


Scene availability

Check this repo for GLOSSY DRAGON and STAIRCASE scene. For more test scenes mentioned in the supplementary document, open an issue and leave your e-mail for me so that I can send them to you.


Rendering Results

image

image

image


Acknowledgements & Guidances

Apart from other authors, here I'd like to extend my personal gratitude to Yang Liu, who is the first author of paper "Temporally sliced photon primitives for time-of-flight rendering". The implementation (photon point methods) of our method is based on the code base of his (listed above) and some of the discussions with him really pushed forward the modification of the Tungsten renderer part. His work for camera-unwarped transient rendering is very solid and inspiring, which definitely deserves more attention.

Other ToF rendering related paper:


Citation

For the paper:

@article{he2024darts,
  title={DARTS: Diffusion Approximated Residual Time Sampling for Time-of-flight Rendering in Homogeneous Scattering Media},
  author={He, Qianyue and Du, Dongyu and Jiang, Haitian and Jin, Xin},
  journal={ACM Transactions on Graphics (TOG)},
  volume={43},
  number={6},
  pages={1--14},
  year={2024},
  publisher={ACM New York, NY, USA}
}

For the code base, it is recommended that PBRT-v3 and Tungsten are cited altogether:

@misc{He:2024:DARTS,
  title = {DARTS-ToF-Renderer},
  author = {He, Qianyue},
  year = {2024},
  url = {https://github.com/Enigmatisms/DARTS/}
}

About

[SIGGRAPH Asia 2024 (Journal Track)] Official code release for paper: 🎯"DARTS: Diffusion Approximated Residual Time Sampling for Time-of-flight Rendering in Homogeneous Scattering Media"

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published