Sample clamping makes volume borders visible in branched path tracing
Open, ConfirmedPublic

Description

I'm not sure if I should consider this one as bug or as design limitation:

When combining branched path tracing and sample clamping, the borders of overlapping volumes can become visible. This does not happen in plain path tracing or without sample clamping.

The root of this problem is that the number of volume samples is per volume segment and not per primary ray. In branched path tracing, camera rays that traverse multiple volumes have a higher probability of gathering scattered light than rays that go through only a single ray. Without clamping, different weights make this difference disappear when given enough AA samples. With clamping, the weighting loses effect and the different sample density is turned into a difference in intensity.

Details

Type
To Do

A possible remedy would be to gather all volume intersections in one go (similar to intersect_shadow_all) and do the ray marching in a single step. There are hints that Arnold is using such a method in " Importance Sampling Techniques for Path Tracing in Participating Media", section 6.

Brecht Van Lommel (brecht) triaged this task as Confirmed priority.Thu, Apr 5, 7:27 AM

Gathering all volume intersections would be good also to improve performance.

I would consider this a To Do item.

It may also be possible to change clamping so that it is independent of such weights, but that would be quite different than the current clamping system and I'm not entirely sure it would work.