Page 17 of 109
Re: PhotonGI cache
Posted: Wed Feb 06, 2019 11:16 am
by Dade
epilectrolytics wrote: Wed Feb 06, 2019 11:11 am
I'd like to suggest that the debug option showing the photon map is removed and instead it is always contained as a photon AOV when PhotonGI is activated so that it can be toggled as a channel during the render for inspection.
Unfortunately, it is not possible, it is literally a different kind of rendering.
Re: PhotonGI cache
Posted: Wed Feb 06, 2019 11:31 am
by Dade
Now that the Oidn work is pretty much all done, I can come back looking into this topic.
Re: PhotonGI cache
Posted: Wed Feb 06, 2019 11:37 am
by epilectrolytics
Dade wrote: Wed Feb 06, 2019 11:31 am
Now that the Oidn work is pretty much all done
Just seen the BiDir fix (NONE_FILTER) on GitHub, thanks very much for that one, great work!!
Re: PhotonGI cache
Posted: Wed Feb 06, 2019 11:50 am
by B.Y.O.B.
B.Y.O.B. wrote: Tue Feb 05, 2019 8:47 pm
Dade wrote: Tue Feb 05, 2019 8:24 pm
You should try increase the number of photons used to compute the result on a point (path.photongi.indirect.lookup.maxcount property) but I have probably forget to ask to B.Y.O.B. to add that property
Damnit, I forgot to ask if I forgot a property that should be exposed.
Here's how the UI looks like at the moment - apart from lookup.maxcount, anything else that should be in there?
By the way, it seems to me like the user would always want max. size to be the same as the photon count. Would it make sense to remove max. size from the UI and set it to the same as photon count behind the scenes? Or is this nonsense?
I have exposed the lookup.maxcount property, and I set the max. size automatically now. Is this a good idea?
Re: PhotonGI cache
Posted: Wed Feb 06, 2019 12:51 pm
by Dade
B.Y.O.B. wrote: Tue Feb 05, 2019 8:47 pm
By the way, it seems to me like the user would always want max. size to be the same as the photon count. Would it make sense to remove max. size from the UI and set it to the same as photon count behind the scenes? Or is this nonsense?
Nope, "Max photon count" is the maximum number of photons fired, it is the max. number of photon
paths traced. Each photon can create between 0 to "maxdepth" photon entries in a cache, an entry can be created each time it bounces over a surface. So photon count is very different form cache size value. Also the indirect and caustic cache size should be separated (are the same in your screenshot ?).
Re: PhotonGI cache
Posted: Wed Feb 06, 2019 12:57 pm
by lacilaci
By the way setting the lookup max count as high as 16 000 and I still get a lot of "bleeding" or light leaks, I don't know.
Re: PhotonGI cache
Posted: Wed Feb 06, 2019 1:00 pm
by Dade
Post a (simple) test scene, pls.
Re: PhotonGI cache
Posted: Wed Feb 06, 2019 1:08 pm
by B.Y.O.B.
Dade wrote: Wed Feb 06, 2019 12:51 pm
B.Y.O.B. wrote: Tue Feb 05, 2019 8:47 pm
By the way, it seems to me like the user would always want max. size to be the same as the photon count. Would it make sense to remove max. size from the UI and set it to the same as photon count behind the scenes? Or is this nonsense?
Nope, "Max photon count" is the maximum number of photons fired, it is the max. number of photon
paths traced. Each photon can create between 0 to "maxdepth" photon entries in a cache, an entry can be created each time it bounces over a surface. So photon count is very different form cache size value. Also the indirect and caustic cache size should be separated (are the same in your screenshot ?).
So if I want to ensure that every generated photon ends up in the cache, I have to use:
maxsize = photon.maxcount * photon.maxdepth
Is that correct? And is there ever a case where I want to throw away photons?
Re: PhotonGI cache
Posted: Wed Feb 06, 2019 1:13 pm
by lacilaci
Dade wrote: Wed Feb 06, 2019 1:00 pm
Post a (simple) test scene, pls.
This actually is a simple testscene....
Re: PhotonGI cache
Posted: Wed Feb 06, 2019 1:40 pm
by Dade
B.Y.O.B. wrote: Wed Feb 06, 2019 1:08 pm
So if I want to ensure that every generated photon ends up in the cache, I have to use:
maxsize = photon.maxcount * photon.maxdepth
Is that correct? And is there ever a case where I want to throw away photons?
Nope, there is no warranty that a photon path will generate a cache entry (for instance, a path hitting nothing).
photon.maxcount is a safe guard to place a bound to a potentially infinite process (for instance, trying to feel a caustic cache when there are no caustics in the current scene).