minimal but extensible header only implementation of photon mapping in C++.
Install Miniforge: https://github.com/conda-forge/miniforge
Follow installation instructions. Use default installation settings.
Execute next commands in anaconda prompt.
create and activate the conda environment:
mamba env create -f environment.yml -n photonmap
mamba activate photonmap
To install as a Python library:
python -m pip install ./
To compile the source code without installing (useful for debugging):
[ -d ./build ] || mkdir ./build; cd ./build
cmake -DCMAKE_BUILD_TYPE=Debug ../
make -j
A set of examples can be found in the ./examples/python
directory.
- C++ (20>=)
- CMake (3.20>=)
- OpenMP
- Embree (>=4)
This project was originally developed by YumcyaWiz (Kenta Eto). Main extension were developed by Aurélien Besnier and Nguyen Tuan Minh with contribution of J. Bertheloot, F. Boudon, T. Arsouze, E. Faure. This work was funded by INRAe Metaprogramme DIGIT-BIO (Digital biology to explore and predict living organisms in their environment).
This project is used in the coupling of MorphoNet and L-Py for the project Physioscope.
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.