Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yumcyaWiz/volppm
Volumetric progressive photon mapping written in C++.
https://github.com/yumcyaWiz/volppm
3dcg computer-graphics photon-mapping progressive-photon-mapping raytracing rendering rendering-3d-graphics rendering-engine volume-rendering
Last synced: 3 months ago
JSON representation
Volumetric progressive photon mapping written in C++.
- Host: GitHub
- URL: https://github.com/yumcyaWiz/volppm
- Owner: yumcyaWiz
- License: mit
- Created: 2021-12-17T17:52:43.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-11-12T09:46:09.000Z (about 2 years ago)
- Last Synced: 2024-08-02T15:11:49.046Z (6 months ago)
- Topics: 3dcg, computer-graphics, photon-mapping, progressive-photon-mapping, raytracing, rendering, rendering-3d-graphics, rendering-engine, volume-rendering
- Language: C++
- Homepage:
- Size: 2.31 MB
- Stars: 52
- Watchers: 2
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-oneapi - volppm - Volppm is a volumetric progressive photon mapping project that features homogeneous mediums for chromatic absorption and scattering coefficients. (Table of Contents / Data Visualization and Rendering)
README
# volppm
![](img/water_cornellbox.png)
Volumetric progressive photon mapping written in C++.
WIP.
## Features
* Homogeneous medium
* [Hero wavelength sampling](https://doi.org/10.1145/3306346.3323025) for chromatic absorption/scattering coefficient
* [Artist friendly parameter](https://doi.org/10.1145/2897839.2927433) to control absorption/scattering coefficient
* Random walk subsurface scattering
* Load obj model## Requirements
* C++ (20>=)
* CMake (3.20>=)
* OpenMP
* [spdlog](https://github.com/gabime/spdlog)
* [Embree](https://github.com/embree/embree) (>=3)## Build
|CMake option|Description|
|:--|:--|
|BUILD_TESTS|build tests|```
git submodule update --init
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
```## Gallery
### Water cornell box
|Parameter|Value|
|:--|:--|
|number of iterations|1000|
|number of photons in each iteration|200000|
|alpha|3/4|
|initial search radius for surface|0.01|
|initial search radius for volume|0.05|![](img/water_cornellbox.png)
This model is available at `models/CornellBox-Water-Small-Light-Covered-Cube-Floor-No-Backwall.obj`
## References
* [Physically Based Rendering:From Theory To Implementation, Matt Pharr, Wenzel Jakob, and Greg Humphreys](https://pbr-book.org/)
* [Efficient simulation of light transport in scenes with participating media using photon maps](https://doi.org/10.1145/280814.280925)
* [Hachisuka, Toshiya, Shinji Ogaki, and Henrik Wann Jensen. "Progressive photon mapping." ACM SIGGRAPH Asia 2008 papers. 2008. 1-8.](https://doi.org/10.1145/1457515.1409083)
* [Hachisuka, Toshiya, and Henrik Wann Jensen. "Stochastic progressive photon mapping." ACM SIGGRAPH Asia 2009 papers. 2009. 1-8.](https://doi.org/10.1145/1661412.1618487)
* [Knaus, Claude, and Matthias Zwicker. "Progressive photon mapping: A probabilistic approach." ACM Transactions on Graphics (TOG) 30.3 (2011): 1-13.](https://doi.org/10.1145/1966394.1966404)
* [Wilkie, Alexander, et al. "Hero wavelength spectral sampling." Computer Graphics Forum. Vol. 33. No. 4. 2014.](https://doi.org/10.1111/cgf.12419)
* [Chiang, Matt Jen-Yuan, Peter Kutz, and Brent Burley. "Practical and controllable subsurface scattering for production path tracing." ACM SIGGRAPH 2016 Talks (2016): 1-2.](https://doi.org/10.1145/2897839.2927433)
* [Fong, Julian, et al. "Production volume rendering: Siggraph 2017 course." ACM SIGGRAPH 2017 Courses. 2017. 1-79.](https://doi.org/10.1145/3084873.3084907)
* [Wrenninge, Magnus, Ryusuke Villemin, and Christophe Hery. Path traced subsurface scattering using anisotropic phase functions and non-exponential free flights. Tech. Rep. 17-07, Pixar. https://graphics. pixar. com/library/PathTracedSubsurface, 2017.](https://graphics.pixar.com/library/PathTracedSubsurface/paper.pdf)
* [Novák, Jan, et al. "Monte Carlo methods for volumetric light transport simulation." Computer Graphics Forum. Vol. 37. No. 2. 2018.](https://doi.org/10.1111/cgf.13383)