Realtime global illumination 3

HBAO

Horizon based ambient occlusion

SSAO 加上法线影响,加上深度阙值

image-20230322202416685

SSDO

Screen Space Directional Occlusion

屏幕空间的直接光遮蔽

image-20230322202953989

Theory

  • AO 和 DO 的假设是相反的image-20230323151621346

    • DO 假设光照来源于附近物体的反射

    • AO 假设光照来源于非常远处,会被附近物体阻挡

  • DO 是在 AO 的基础上,判断说如果采样点处于物体内,就计算对应的间接光

  • image-20230323152049968
  • 判断 P 到随机点是否会被挡住,在对应的 RSM 来对 P 进行贡献

result

  • 质量不错,比 AO 好

  • Screen Space 会丢失表面之外的信息

  • 只能表现出小范围内的全局光照

  • 本质是在屏幕空间上,从着色点开始的光线追踪

Screen Space Reflection (SSR)

屏幕空间上做光线追踪

overview

  • Shadedscene + Normal + Depth => SSR => Shaded scene with SSR

  • image-20220309193216182

function

  • Linear Raymarchimage-20220309193237397

  • Hierarchical ray march 层级步长方法

    • 先将场景中的深度做 Mip map,不是取平均而是最小值image-20230323154523019

    • 快速跳过不相交的格子

    • 从低到高找到前进不会产生交点的层级

    • 再从高到低找到有交点的最低层级,即像素

limitation

  • 没法反射物体内部

  • 没法反射屏幕外像素

  • 只能假设被反射物是 Diffuse 的,因为已经着色了,没法使用 BRDF。反射物可以是 BRDF 的

可以做到的

image-20230323161117426

Improvements

  • Glossy 物体的重要性采样

  • 空间上结果的复用,可以用屏幕上周围 shading point 的结果image-20230323160721495

Summary

image-20230323161300809

最后更新于

这有帮助吗?