GSoC 2022: Many Lights Sampling in Cycles X (Weekly Report)

Weekly Report #4 (7/04 - 7/10):

This week, I updated the multiple importance sampling calculations to account for the light tree sampling distribution. Here’s a slightly more technical post summarizing what I did. Other than that, I also made some improvements and corrections to the importance heuristic. I mainly tested with the following scene, which contains 1 sun light, 1 spot light, 2 emissive triangles, 1 point light, and 1 area light:


At 1024 samples with adaptive sampling enabled, my method took me around 34 seconds to render while the original method took around 39 seconds. The last thing to test for now is combining this with environment HDRIs.

Unfortunately, since I spent a lot of time debugging the MIS PDF calculations and the importance heuristics, I was unable to attend to the list of bugs mentioned in the feedback thread. This is going to be my first task for next week.

Objective for Week #5:

I’d like to complete the following for next week:

  • Resolve, or at least trace and understand, the bugs mentioned in the feedback thread
  • Test scenes with environment HDRIs
    • The importance heuristic for these lights will likely need to be adjusted
  • Continue reading about the many lights sampling algorithm in participating media
    • Sorry that this has been on the to-do list for so long, but hopefully I can get started with implementation after next week!

Since this report also marks some degree of support for most light sources (outside of participating media), please feel free to start sharing scenes for testing, benchmarking, etc. in the feedback thread! I’ll try to check them out when I get the chance.

12 Likes