Skip to content

AurelienBesnier/photon_mapping

Repository files navigation

example workflow

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:

python -m pip install ./

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