## Choosing clamping limit in VPL rendering

Practical and theoretical implementation discussion.
ingenious
Posts: 282
Joined: Mon Nov 28, 2011 11:11 pm
Location: London, UK
Contact:

### Re: Choosing clamping limit in VPL rendering

toshiya wrote:My question is, wouldn't it be kind of "suboptimal" in the sense that we ignore the fact that the more VPLs you have in total, the lower each contribution becomes?

For example, let's say we trace 100 light subpaths for each iteration and do 1000 iterations (i.e., we get O(100K) VPLs). If we clamp pixel-contributions of VPLs considering only VPLs (100 VPLs) within each iteration, which I think you suggest and with the progressively increasing threshold, wouldn't it be different from clamping pixel-contributions of all the VPLs (i.e., O(100K) VPLs) with the same threshold adjusted according to the number of VPLs?
You can ask the same question about progressive photon mapping (PPM). If you know you'll be making 1000 iterations, why not just use a fixed "ideal" radius?

The VPL clamping introduces bias, but puts a bound on the image variance. This is similar to using a larger radius in PPM, which gives you lower variance in the beginning. With both methods you can start with lower bias, but your image will be noisier; so it's a trade-off.

toshiya
Posts: 22
Joined: Tue Apr 03, 2012 1:42 pm

### Re: Choosing clamping limit in VPL rendering

Maybe my question is still not clear, but I am not talking about making VPL rendering with clamping consistent, which your progressive VPL is doing.

I am just asking if there is an obvious way to achieve the same image with 100 VPLs x 1000 iterations and 100K VPLs x 1 iteration while clamping the image contribution. It is easy to do with distance clamping since the clamping threshold is not related to the number of VPLs. It sounds like your answer is no (or approximately yes)?

ingenious
Posts: 282
Joined: Mon Nov 28, 2011 11:11 pm
Location: London, UK
Contact:

### Re: Choosing clamping limit in VPL rendering

toshiya wrote:I am just asking if there is an obvious way to achieve the same image with 100 VPLs x 1000 iterations and 100K VPLs x 1 iteration while clamping the image contribution. It is easy to do with distance clamping since the clamping threshold is not related to the number of VPLs. It sounds like your answer is no (or approximately yes)?
The answer should be yes, if you keep the clamping threshold constant over the iterations. But if you change the clamping threshold over time, then the contribution of any particular VPL depends on the iteration number, so the answer would be no. You can also do progressive distance clamping relaxation, for which the answer would be again no.

tomasdavid
Posts: 22
Joined: Wed Oct 10, 2012 12:41 pm

### Re: Choosing clamping limit in VPL rendering

toshiya wrote:My question is, wouldn't it be kind of "suboptimal" in the sense that we ignore the fact that the more VPLs you have in total, the lower each contribution becomes?

For example, let's say we trace 100 light subpaths for each iteration and do 1000 iterations (i.e., we get O(100K) VPLs). If we clamp pixel-contributions of VPLs considering only VPLs (100 VPLs) within each iteration, which I think you suggest and with the progressively increasing threshold, wouldn't it be different from clamping pixel-contributions of all the VPLs (i.e., O(100K) VPLs) with the same threshold adjusted according to the number of VPLs?
It would. I guess you could do some image space tricks, tho. Have a progressive clamping and the final 100k clamping and blend them based on the number of VPLs traced so far. But if the final target is not known, I don't think you can do much without storing way too much data around.