It seems we are on the verge to have one photon mapping GPU maybe inside PS5 or if it is not PS5 maybe on an NVIDIA next iteration of RTX.
http://casual-effects.com/research/Mara2013Photon/Mara13Photon.pdf
Nvidia search about the different photon mapping method on a Geforce 670 in 2013, the best one is 2d tiles on a GPU
https://patents.google.com/patent/US9633471B2/en
Sony patent with hardware 2d tiles photon mapping, reading the patent it seems rasterizing is only used for direct illumination and visibility for shadow. Full indirect photon mapping lightning
http://fileadmin.cs.lth.se/cs/Education/EDAN30/papers/photonMappingTutorial-SIG08.pdf
It goes much faster than path tracing, sometimes two orders of magnitude faster. In SIGGRAPH 2008 they did a rendering demo needing 100 rays per pixel to render in 5 minutes in path tracing to be noise free, took 5 seconds and 10 rays per pixel in photon mapping without blur.
Advantage:
_ Much faster than path tracing/raytracing even simple Whitted raytracing and with better quality because it can render caustic. Photon tracing pass is like raymarching.
_ fully independent of geometry scene complexity
_ In 2D tile method resolution will be equal to what you will be able to render into the direct illumination solution rasterizing or raytracing. The limitation is the number of photons you generate during the photon tracing pass, the more you can trace, the best the quality will be.
_ Easy to integrate inside an existing rasterizing or raytracing pipeline
_ In 2D tile possibility to use tile rendering inside on-chip memory, I believe this what Sony is doing reading the patent
_ No need to do some denoising when the number of photons is too low the light blur, like into the REVISION 2019 raytracing 4k winning demo.
Problem
_ KD-tree construction is slow(probably generation with something like scene generation in Power VR GPU)
_ Can't do glossy effects like eye reflection or certain refraction. Can't do direct illumination. The two effects demand too much photon.
_ Difficult to parameter the number of photon for each surface, it kills photon mapping as a global method for offline rendering. This is only used for some effect like volume rendering where it is great and much faster than path tracing. Importance sampling can be a solution to this problem.
The year after the 2015 hardware 2D tile Photon mapping patent, Sony Interactive Entertainment hired an employee of Imagination/Power VR which did his master thesis on Progressive Photon mapping using CUDA in a GPU. He is a raytracing/Photon mapping specialist...
https://www.linkedin.com/in/carlovloet
https://carlovloet.wordpress.com/
On raytracing gem book there is a chapter about Photon Mapping on RTX with a 2080 TI but it does not use the 2D tile method.
https://github.com/ananthaks/DXR-PhotonMapper
A photon mapper on Titan X, slowest part kd tree construction. I read the Kun Zou 2008 paper about KD-tree construction on GPU I don't think this is fast enough, the GPU is only as good as a multicore CPU.
If someone resolve the KD-tree construction this a much better solution than raytracing and probably the only way to solve it is to use something fast enough and able to build BVH every frame like the scene hierarchy generator of Power VR but for KD-tree.
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.118.6575&rep=rep1&type=pdf
Photon mapping pass will be slower with more photon on a PS1 scene at same resolution than a scene of the Avatar movie, this is not a joke because this is fully decoupled from scene complexity, you can use tesselated, displacement shading or any form of complex geometry or primitive this will not be the problem and the limitation of the photon mapping pass. It will be the number of photons linked to the number of ray.
2D tile Photon mapping has less dependancy on resolution than other photon mapping method and probably other global illumination method. The resolution will be the one you can reach with the direct illumination rendering pass.
In offline rendering the biggest problem of Photon mapping it was too difficult to parameter automatically to know the number of photon you need to use for each surface and it took too much artist time . But the inventor of the method told it is possible to solve problem with importance sampling but I think offline rendering choose path tracing without doing more research about photon mapping only more power was needed after all. Artist time is too precious.
http://casual-effects.com/research/Mara2013Photon/Mara13Photon.pdf
Nvidia search about the different photon mapping method on a Geforce 670 in 2013, the best one is 2d tiles on a GPU
https://patents.google.com/patent/US9633471B2/en
Sony patent with hardware 2d tiles photon mapping, reading the patent it seems rasterizing is only used for direct illumination and visibility for shadow. Full indirect photon mapping lightning
http://fileadmin.cs.lth.se/cs/Education/EDAN30/papers/photonMappingTutorial-SIG08.pdf
It goes much faster than path tracing, sometimes two orders of magnitude faster. In SIGGRAPH 2008 they did a rendering demo needing 100 rays per pixel to render in 5 minutes in path tracing to be noise free, took 5 seconds and 10 rays per pixel in photon mapping without blur.
Advantage:
_ Much faster than path tracing/raytracing even simple Whitted raytracing and with better quality because it can render caustic. Photon tracing pass is like raymarching.
_ fully independent of geometry scene complexity
_ In 2D tile method resolution will be equal to what you will be able to render into the direct illumination solution rasterizing or raytracing. The limitation is the number of photons you generate during the photon tracing pass, the more you can trace, the best the quality will be.
_ Easy to integrate inside an existing rasterizing or raytracing pipeline
_ In 2D tile possibility to use tile rendering inside on-chip memory, I believe this what Sony is doing reading the patent
_ No need to do some denoising when the number of photons is too low the light blur, like into the REVISION 2019 raytracing 4k winning demo.
Problem
_ KD-tree construction is slow(probably generation with something like scene generation in Power VR GPU)
_ Can't do glossy effects like eye reflection or certain refraction. Can't do direct illumination. The two effects demand too much photon.
_ Difficult to parameter the number of photon for each surface, it kills photon mapping as a global method for offline rendering. This is only used for some effect like volume rendering where it is great and much faster than path tracing. Importance sampling can be a solution to this problem.
The year after the 2015 hardware 2D tile Photon mapping patent, Sony Interactive Entertainment hired an employee of Imagination/Power VR which did his master thesis on Progressive Photon mapping using CUDA in a GPU. He is a raytracing/Photon mapping specialist...
https://www.linkedin.com/in/carlovloet
https://carlovloet.wordpress.com/
On raytracing gem book there is a chapter about Photon Mapping on RTX with a 2080 TI but it does not use the 2D tile method.
https://github.com/ananthaks/DXR-PhotonMapper
A photon mapper on Titan X, slowest part kd tree construction. I read the Kun Zou 2008 paper about KD-tree construction on GPU I don't think this is fast enough, the GPU is only as good as a multicore CPU.
If someone resolve the KD-tree construction this a much better solution than raytracing and probably the only way to solve it is to use something fast enough and able to build BVH every frame like the scene hierarchy generator of Power VR but for KD-tree.
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.118.6575&rep=rep1&type=pdf
photon map is decoupled from the geometric representation of the scene, making the method capable of simulating global illumination in scenes containing complex objects.
These objects do not need to be tessellated; they can be instanced, or even represented by an implicit function. Since
the method is based on a bidirectional simulation, it automatically adapts to illumination and view. Furthermore,
because the use of photon maps reduces noise and aliasing, the method is suitable for rendering of animations.
Photon mapping pass will be slower with more photon on a PS1 scene at same resolution than a scene of the Avatar movie, this is not a joke because this is fully decoupled from scene complexity, you can use tesselated, displacement shading or any form of complex geometry or primitive this will not be the problem and the limitation of the photon mapping pass. It will be the number of photons linked to the number of ray.
2D tile Photon mapping has less dependancy on resolution than other photon mapping method and probably other global illumination method. The resolution will be the one you can reach with the direct illumination rendering pass.
In offline rendering the biggest problem of Photon mapping it was too difficult to parameter automatically to know the number of photon you need to use for each surface and it took too much artist time . But the inventor of the method told it is possible to solve problem with importance sampling but I think offline rendering choose path tracing without doing more research about photon mapping only more power was needed after all. Artist time is too precious.
Last edited: