Abstract
Multiple importance sampling (MIS) is an indispensable tool in rendering that constructs robust sampling strategies by combining the respective strengths of individual distributions. Its efficiency can be greatly improved by carefully selecting the number of samples drawn from each distribution, but automating this process remains a challenging problem. Existing works are mostly limited to mixture sampling, in which only a single sample is drawn in total, and the works that do investigate multi-sample MIS only optimize the sample counts at a per-pixel level, which cannot account for variations beyond the first bounce. Recent work on Russian roulette and splitting has demonstrated how fixed-point schemes can be used to spatially vary sample counts to optimize image efficiency but is limited to choosing the same number of samples across all sampling strategies. Our work proposes a highly flexible sample allocation strategy that bridges the gap between these areas of work. We show how to iteratively optimize the sample counts to maximize the efficiency of the rendered image using a lightweight data structure, which allows us to make local and individual decisions per technique. We demonstrate the benefits of our approach in two applications, path guiding and bidirectional path tracing, in both of which we achieve consistent and substantial speedups over the respective previous state-of-the-art.
Citing MARS
1@inproceedings{meyerMARSMultisampleAllocation2024,
2 title = {{{MARS}}: {{Multi-sample Allocation}} through {{Russian}} roulette and {{Splitting}}},
3 shorttitle = {{{MARS}}},
4 booktitle = {{{SIGGRAPH Asia}} 2024 {{Conference Papers}}},
5 author = {Meyer, Joshua and Rath, Alexander and Yazici, {\"O}mercan and Slusallek, Philipp},
6 year = {2024},
7 month = {nov},
8 series = {{{SA}} '24},
9 pages = {1--10},
10 publisher = {Association for Computing Machinery},
11 address = {Tokyo, Japan},
12 doi = {10.1145/3680528.3687636},
13 url = {https://doi.org/10.1145/3680528.3687636},
14 isbn = {979-8-4007-1131-2/24/12},
15 langid = {english},
16 numpages = {10},
17}
Comments