Stochastic Screen Space Ray Tracing

Alt text stochastic 体现在 importance sampling上。

tiled-based classification

Alt text 先以一个1/8的resolution去做试探性的RT,根据求交的结果来决定ray count.

ray classification

  • classify each pixel based on roughness.
  • rt in low resolution

    expensive rays

    use this one on smooth surfaces, as for mirror-like reflections we would like the intersection points to be as precise as possible.
  • hierarchical ray tracing Alt text
  • Monte Carlo importance sampling
    • use importance sampling of the BRDF in order to generate ray directions. Any BRDF can be used here; we happen to worship GGX.
    • generating half-angle vectors, and reflecting them off the microfacet normal. This results in some rays actually pointing below the surface. We can’t use those, so we re-generate them a few times until we get nice ones.
    • importance sample from the Distribution of Visible Normals 怎么重要性采样还要看看源码和多种方式验证下。
  • ray reuse
  • variance reduction ???
  • importance sampling bias Alt text

cheap rays

for rough reflections --> linear marcher

blur

solutions

  • mip maps blur
  • stochastically sampling the directions
    • noisy

      influences

  • roughness
  • normal
  • proximity

BRDF importance sampling

hit point reuse ---> multi-pixel resolve

reuse

基于一种假设:neighbor point 的 visibility 和 target point 是一样的。 Alt text color 是用的 自己的 BRDF 算的,但是sampling 除以的 pdf 是用的 target point的。 如果相邻点的材质差别很大的话,会有问题。

variance reduction

Alt text Alt text 造成方差很大的问题是绿色方框里的计算,上面的计算可以减少方差,FG是IBL预烘焙好的。不是特别懂,因为用了精确的FG,所以就更准确了么??

resolve

instead of returning the colors immediately, we barely store the intersection points. Then we have a ‘resolve’ pass, which reuses those intersection points across neighboring pixels.

  • resolve in full resolution
  • Instead of fetching the high frequency color buffer for our reflections, we use appropriately pre-blurred versions of it.
  • resolve four pixel at a time, each pixel has a unique mip level
  • take the reflection distance into account
  • weigh the contributions by each pixel’s BRDF ??? sampling的时候不是已经考虑过权重了,这个要看下实现

temporal filter

  • denoising
  • temporal reprojection calculate the average depth of the reflected objects, and reproject using that.

questions

tiled based classification 基于什么方式做?

ray jitter solutions

elongation 要怎么resolve才能得到

how to determine mip map level

color buffer filtering 要怎么做

  • 是否考虑depth
  • filtering weight 怎么算
  • deferred shading 的 rt 只要 mip map 1

    elongation 的效果是怎么做的

    If you’re using a microfacet BRDF, your analytical lights do this already. ??
Copyright © tingxia.top 2021 all right reserved,powered by Gitbook该文件修订时间: 2022-10-05 11:25:41

results matching ""

    No results matching ""