PhotonGI caustic cache re-factoring
Posted: Thu Sep 26, 2019 2:39 pm
I have re-factored PhotonGI caustic cache to use Vertex Merging (aka SPPM in the specific case used only to render caustics). So there is now:
Note: if you set the minimum radius equal to the starting radius you have pretty much normal photon mapping (i.e. no radius reduction).
Note: OpenCL support still to do.
The rendering will start blurred, this is with 10 samples/pixel:
And will refine over each pass, this is with 200 samples/pixel:
It provides, hand down, the best SDS path rendering I have seen so far:
However Hybrid looks still a bit superior for normal caustic renderings. So my original plan to use the caustic cache only for SDS paths looks right.
This is my "SDS benchmark" scene:
The dark edges are still there but they are reduced over time. All the under-water part of the scene is rendered only with SPPM so the result is remarkable.
This is a rendering of the pool scene:
I'm still trying to figure out the under-water "darkening": if you set the IOR to 1.0, there is no darkening at all, more you increase the IOR and darker the under-water becomes. This looks like the result of the increase of glass internal reflection but it is questionable.
Code: Select all
path.photongi.caustic.enabled = 1
# An initial look up radius
path.photongi.caustic.lookup.radius = 0.1
# VM works with a quite small amount of photons traced for each pass
path.photongi.caustic.maxsize = 100000
# Samples/pixel between each pass
path.photongi.caustic.updatespp = 4
# Look up radius reduction for each pass (1% each pass with 0.99)
path.photongi.caustic.updatespp.rediusreduction = 0.99
# A lower bound to radius value
path.photongi.caustic.updatespp.minradius = 0.
Note: OpenCL support still to do.
The rendering will start blurred, this is with 10 samples/pixel:
And will refine over each pass, this is with 200 samples/pixel:
It provides, hand down, the best SDS path rendering I have seen so far:
However Hybrid looks still a bit superior for normal caustic renderings. So my original plan to use the caustic cache only for SDS paths looks right.
This is my "SDS benchmark" scene:
The dark edges are still there but they are reduced over time. All the under-water part of the scene is rendered only with SPPM so the result is remarkable.
This is a rendering of the pool scene:
I'm still trying to figure out the under-water "darkening": if you set the IOR to 1.0, there is no darkening at all, more you increase the IOR and darker the under-water becomes. This looks like the result of the increase of glass internal reflection but it is questionable.