Skip to content

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

License

Notifications You must be signed in to change notification settings

yumcyaWiz/ppmapa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published