SkillAgentSearch skills...

Ppmapa

Header only implementation of Progressive Photon Mapping: A Probabilistic Approach(PPMAPA) in C++.

Install / Use

/learn @yumcyaWiz/Ppmapa
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

ppmapa

Header only implementation of Progressive Photon Mapping: A Probabilistic Approach(PPMAPA) in C++.

In this reformulation of (stochastic) progressive photon mapping, not so many code changes are required from original photon mapping. You don't have to prepare hit points and local statistics of photons.

Due to this simplicity, most of the codes come from the implementation of original photon mapping

Algorithms are summarized as follows.

  1. Photon tracing
  2. Build photon map
  3. Ray tracing from the eye and estimate the reflected radiance with photon map
  4. Reduce the search radius for density estimation
  5. Go back to 1

Note that the procedure of 1, 2, 3 is the same as original photon mapping.

Features

  • Depth of field with thin lens camera
  • Load obj model

Requirements

Build

|CMake option|Description| |:--|:--| |BUILD_TESTS|build tests|

git submodule update --init
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make

Gallery

cornellbox-water2

|Parameter|Value| |:--|:--| |number of photons in each iteration|100000| |number of iterations|1000| |alpha|3/4| |initial radius|0.01|

This model is available under models/

Externals

References

View on GitHub
GitHub Stars14
CategoryDevelopment
Updated8mo ago
Forks2

Languages

C++

Security Score

87/100

Audited on Aug 1, 2025

No findings