Page MenuHome

Cheaper sampling for distant mesh area lights
ClosedPublic

Authored by Antonis Ryakiotakis (psy-fi) on Jan 12 2020, 8:44 PM.

Details

Summary

This patch uses Erik Heitz's A Low-Distortion Map Between Triangle and Square to skip square root evaluation in mesh light sampling. There may be more places in cycles where this could be useful, for now just using it in mesh lights.

Based on ideas from

https://pharr.org/matt/blog/2019/02/27/triangle-sampling-1.html
https://pharr.org/matt/blog/2019/03/13/triangle-sampling-1.5.html

Diff Detail

Repository
rB Blender

Event Timeline

I'm testing this in a very simple file with an emitting suzanne mesh and a diffuse plane on the ground but I can't see any performance difference. Probably it's not worth submitting but will leave here just in case it's useful somehow.

srqt() isn't that much of a performance issue any more as it once was. That said, the newer mapping should give us a better sample distribution.

Fine with me, but ensure the Cycles regression tests pass and update the reference images if needed.

This revision is now accepted and ready to land.May 18 2020, 10:03 PM