I have been trying to implement photon mapping following the book “realistic image synthesis using photon mapping”. Ive come into some problems like what to do with the photon’s power during the photon tracing stage and how to use the photon map for rendering. I am probably misunderstanding some parts so its producing strange results as you can see below.
I have been working on the data structure that is used in photon mapping during the photon emission stage. The kd tree seems to be choice so, I have been trying to implement a naive implementation just to get something working.
Below are some images debugging the data structure using opengl. They show the behaviour with different search radii with a max photon count of 100.
Fixing and playing around with things while I am trying to grasp the concept of photon mapping and the k-d tree data structure. I will try to get a working implementation by the end of next week since I have to hand in the fourth progress report.
Below is an autumn leaf that is starting to decay. The textures are by Wojciech Piwowarczyk from his autumn leaves texture pack which sadly does not contain any glossy maps. Unfortunately, he has removed his photo-scanned leaves asset which do contain the geometry for the leaves and all the associated maps.
click the image for full size since wordpress compresses the images.
I implemented Ward’s anisotropic BRDF. Anisotropy in this context refers to the materials where the reflection is directionally dependent around the point about the normal. Materials such as brushed metal or hair are examples of anisotropic materials.