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

Weekly Update #10 (8/15-8/21):

This week, I modified the PDF calculations used in the multiple importance sampling. As mentioned in the previous weekly post, this uses a bit-trail to keep track of the leaf node’s location and also accounts for the adaptive splitting. This change seems to have resolved some of the issues that were mentioned in the feedback thread.

I also addressed the other issues mentioned in the feedback thread. There are a few issues remaining, but I believe the solution will be to fix the splitting threshold at some constant value.

Objective for Week #11:

Since I’m returning to my university this week, I’ll probably be working on less technical stuff and more documentation. I’d like to complete the following by next week:

  • Talk to Brecht about fixing the splitting threshold. This seems to be the easiest solution to many of the issues brought up in the feedback thread.
  • Along those lines, there also needs to be a good sampling method used for the weighted reservoir sampling. Right now, it returns a weight of 0 if it’s outside a light source, otherwise it returns 1. This isn’t much better than uniform sampling in some cases.
  • Add some limit to the amount of splitting performed. For large scenes, it may take a really long time to sample lights if there’s no splitting limit.

Other than this, I’ll probably be working on documenting things (e.g. one last technical write-up about the adaptive splitting, adding to-dos, etc).

15 Likes