Dade wrote: ↑
Tue Oct 01, 2019 8:26 am
lacilaci wrote: ↑
Mon Sep 30, 2019 2:37 pm
on the left set to sds only + lighttracing, on right lighttracing off and sdsonly = 0
What you are observing is the importance of indirect caustic lighting (SD+S paths). It is something we speculated some post before. It is something only using caustic cache can be rendered.
So I flipped the problem, instead of rendering only SDS paths with the cache, I render only SD paths (aka normal caustics) with hybrid rendering. This has also the additional benefit of not requiring any setting, if Hybrid rendering is enabled, the cache will not be used for SD paths.
So "path.photongi.caustic.useonlyforsds" has been removed and not required anymore, just enable/disable hybrid rendering at your will.
P.S. I have the felling you are using 100x more photons of what you should. Using too many photons, both requires a lot of ram and slows down
I didn't do some scientific comparisons but I did a ton of tests with both low amount of photons and large amount of photons all tests in the production scene with ton of glass and pool (both rendering overview and crazy close ups)
This is important cause I have large areas covered by ~same values/smooth caustics (both sds and normal) and also a lot of sharp caustics.
I think radius reduction is useless, let me explain:
1.You start with big radius you get darkening and big splotches that will:
A. be replaced with noisy smaller patches and you need to wait to "fill" rendering with photons if you have fast radius reduction
B. be refined and render nice caustics if you have good radius reduction but you still have to wait same amount of time as A
So starting with lower radius - or target radius gives much better performance overview cause you can actually see the amount of noise in photons and contribution per each update
2. You have to use low amount of photons per spp update cause large amount of photons and big radius kills performance drastically, but:
A. As radius gets smaller the amount of photons that are produced per update is too low and you render forever
B. If you start with low radius you can use more photons without too much slowdown but you now need to balance photon generating performance and pathtracing performance trade-offs
In conclusion, if I use low amount of photons (no matter the initial radius - this is useless feature it gives nothing to render) I might end up rendering for an hour to have super clean pathtracing result and then another 10 hours until I have enough photons in the rendering.
So I rather go with something like 4 milion photons per 4spp and a fixed radius of 0.0015 that will give me 1/2 of samples/sec performance penalty but progress of photon convergence is +/- same as pathtracing - so visually I can clearly see and somewhat estimate how long until rendering is clean
The only exception is some occasional fireflies, that might be however solved(mostly) with lighttracing.
So, maybe I'm not seeing something. But can you explain what is the benefit of radius reduction function?
From all my testing this was useless as a preview purposes(fixed larger radius would serve well enough)
and for final renderings it just hurts performance and makes any estimates impossible.
for example in my scene I use 4M photons per 4spp at fixed 0.0015 radius and I can guess very well:
A. if target radius is good enough
B. if photon tracing is progressing as good as rendering