photon_mapping
minimal but extensible header only implementation of photon mapping in C++.
[!NOTE]
This Project aims at determining the illumination of virtual plants and study the influence of their environment.
How to compile:
create and activate the conda environment:
conda env create -f environment.yml
conda activate photonmap
To install as a Python library:
To compile the source code without installing (useful for debugging):
mkdir ./build && cd ./build
cmake -DCMAKE_BUILD_TYPE=Debug ../
make -j
How to run example:
conda activate photonmap
cd examples/python/plantgl-rad-scene
python planglRadScene.py
How to run the jupyter notebook
conda activate photonmap
pip install pgljupyter
cd examples/python/plantgl-rad-scene
jupyter notebook
Features
- Direct illumination with explicit light sampling
- Indirect illumination with final gathering
- Caustics photon map
- Load obj model
Requirements
- C++ (20>=)
- CMake (3.20>=)
- OpenMP
- Embree (>=3)
Externals
Authors
This project was originaly developed by YumcyaWiz(Kenta Eto). Main extension were developed by Aurélien Besnier and Nguyen Tuan Minh with contribution of J. Bertheloot, F. Boudon, E. Faure. This work was funded by INRAe Metaprogramme DIGIT-BIO (Digital biology to explore and predict living organisms in their environment).
Use case
This project is used in the coupling of MorphoNet and L-Py for the project Physioscope.
References
original git: https://github.com/yumcyaWiz/photon_mapping
- Jensen, Henrik Wann. Realistic image synthesis using photon mapping. AK Peters/crc Press, 2001.
- https://pbr-book.org/3ed-2018/Light_Transport_III_Bidirectional_Methods/Stochastic_Progressive_Photon_Mapping#
- http://www.cs.cmu.edu/afs/cs/academic/class/15462-s12/www/lec_slides/lec18.pdf
- memoRANDOM
- McGuire Computer Graphics Archive
- Rendering Resources | Benedikt Bitterli's Portfolio
- Jensen, Henrik Wann. "Global illumination using photon maps." Eurographics workshop on Rendering techniques. Springer, Vienna, 1996.
- Veach, Eric. Robust Monte Carlo methods for light transport simulation. Stanford University, 1998.
- Christensen, Per H. "Faster photon map global illumination." Journal of graphics tools 4.3 (1999): 1-10.
- Hachisuka, Toshiya, Jacopo Pantaleoni, and Henrik Wann Jensen. "A path space extension for robust light transport simulation." ACM Transactions on Graphics (TOG) 31.6 (2012): 1-10.