Skip to content
Go back

Tiled reservoir sampling for many-light rendering

· Updated:

report

拙訳

  • Reservoir-based Spatiotemporal Importance Resampling (ReSTIR) [Bitterli et al. 2020Bitterli, B., Wyman, C., Pharr, M., Shirley, P., Lefohn, A. and Jarosz, W. 2020. Spatiotemporal reservoir resampling for real-time ray tracing with dynamic direct lighting. ACM Trans. Graph. 39, 4. 10.1145/3386569.3392481. https://benedikt-bitterli.me/restir/.]
    • Weighted Reservoir Sampling [Chao 1982Chao, M. T. 1982. A general purpose unequal probability sampling plan. Biometrika 69, 3, 653–656. 10.1093/biomet/69.3.653.]にもとづいて時空間的に再利用した候補サンプルの中からライトをリサンプリングする
  • Stochastic Light Culling [Tokuyoshi and Harada 2017Tokuyoshi, Y. and Harada, T. 2017. Stochastic light culling for vpls on GGX microsurfaces. Computer Graphics Forum 36, 4, 55–63. 10.1111/cgf.13224. https://yusuketokuyoshi.com/papers/2017/Stochastic%20Light%20Culling%20for%20VPLs%20on%20GGX%20Microsurfaces.pdf.] でライトカリングを行う
  • カリング後のライトリストに対して、ロシアンルーレットとReservoir Samplingを行う
    • reservoirを1つ用いるReservoir Samplingでのライティングの積分は以下のようになる:
      • Ωf(x)dμ(x)f(y)p^(y)w\int_\Omega f(x) d\mu(x) \approx \frac{f(y)}{\hat{p}(y)} w
        • f(x)[0,)f(x) \in [0, \infty)はライト頂点xxからの寄与
        • yyは重みに従って候補からリサンプリングされたライト頂点
        • p^(y)[0,)\hat{p}(y) \in [0, \infty)はtarget PDF
          • 可視性を除いたライトの寄与に比例する
        • w[0,)w \in [0, \infty)はPDFに対する正規化因数となる、累積的な候補重みcandidate weight
      • 本手法の初期候補において、候補重みは以下のように与えられる
        • w=1MiLp^(xi)p(xi)H(P(xi)ξi)P(xi)w = \frac{1}{M} \sum_{i \in L}{\frac{\hat{p}(x_i)}{p(x_i)} \frac{H(P(x_i) - \xi_i)}{P(x_i)}}
          • MNM \in \mathbb{N}は候補の数
          • iiはライトリストLLにおけるライト番号
          • p(xi)[0,)p(x_i) \in [0, \infty)はsource PDF
          • ξi[0,1)\xi_i \in [0, 1)はライトごとの一様乱数
          • HHはHeaviside関数
            • ξi<P(xi)\xi_i \lt P(x_i)なら1、そうでないなら0を返す
  • reservoirsをもとの配置に並び替える必要がある
    • 本手法では、deinterleavedされたピクセルに対してReservoir Samplingを行うため
    • サンプリングパスの最後でバッファに格納した後、再利用パスが収集して各reservoirのyywwを更新する