Page MenuHome

Cycles improved volume light sampling
AbandonedPublic

Authored by Brecht Van Lommel (brecht) on Jun 11 2014, 8:05 PM.

Details

Reviewers
None
Summary
  • Volume multiple importace sampling support to combine equiangular and distance sampling, for both homogeneous and heterogeneous volumes.
  • Branched path "Sample All Direct Lights" and "Sample All Indirect Lights" now apply to volumes as well as surfaces.
  • Volume sampling method can now be set per material/world.
  • Includes a bunch of code refactoring in path tracing code

There's a few things to solve here still, but I intend to commit something close to this after git is open again.

Test file that compares various sampling combinations.
https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests/cycles/volume_light_sampling.blend

Diff Detail

Branch
volume-mis

Event Timeline

Nice work Brecht!

I found 2 issues though in this example:

  • The Area Lamp is invisible, when you look at it from the back. (Just rotate the camera). This only happens with Equi-Angular, Vanilla Master is fine.
  • Enabling Lamp MIS changes the result. This is already happening in Vanilla Master, but it seems the difference is larger with the patch.
Brecht Van Lommel (brecht) updated this revision to Unknown Object (????).Jun 14 2014, 12:35 AM

Fixed the issues with area lights and MIS.

Still seems to me that noise can be reduced here, but seems to converge to
correct result at least.

Thanks, the file works now.

A question about Multiple Importance:
https://www.solidangle.com/research/egsr2012_volume.pdf Figure 4 says "by sampling the phase function as well (with MIS). Is that something else than this MIS that you implemented?

The new MIS in this patch is the one from figure 8.

The one in figure 4 is shows combination of existing lamp MIS with equiangular, which is exactly what is not working well enough yet here. I'll try to improve it still so that we hopefully can get noise levels so similar to figure 4.

Committed in {a29807cd63b0}.