
Games202-lecture3-实时阴影和PCSS介绍

大纲

Shadow Mapping
概况

Pass1: 从光源渲染一个深度

Pass2: 从相机渲染,然后把渲染点投影到Shadow Map比较深度

Shadow Mapping的一些问题
自遮挡问题
相机相当于把地面离散化为垂直于相机的小块,相机越平行于地面越严重。




走样的问题:锯齿

Shadow Mapping中的数学:从渲染方程解释
不等式

实时渲染把不等式看作是约等式
一个重要的约等式(SplitSum和RSM都有用到)。

Rendering Equation上可以把V项给拆出来
相当于先做Shading,再乘以一个Shadow因子。

什么情况下拆分是比较准的
基本上就是Glossy BRDF下的面光源不准。

Percentage Closer Soft Shadows (PCSS)
Percentage Closer Filtering (PCF)
最开始就是做抗锯齿的。
做法:在Shadow Map上对应点附近7x7比较深度后再做平均值(所有结果都是0或者1的)。

效果:没有锯齿,还有类似软阴影的效果。

PCSS分析
发现:软阴影和硬阴影是跟笔尖和纸的距离有关。

PCSS分析:不同遮挡物距离需要的Filter核的大小关系
貌似我们找的depth应该是黄色的那个线,而不应该是蓝绿线。

PCSS算法
- 第一步是通过ShadowMap计算遮挡物的平均深度(遮挡物的判断需要用深度比较一下)。
- 第二步计算Filter Size。
- 第三步就是PCF(面光源的ShadowMap是由面光源的中心生成的)。

PCSS算法:解释如何第一步找Blocker平均Depth大小
这个是启发式的(用ShadingPoint往面光源连线,取相交于ShadowMap的区域来计算遮挡物的平均深度);另外还可以用固定的5x5大小来找。

- 标题: Games202-lecture3-实时阴影和PCSS介绍
- 作者: Zh-Hui
- 创建于 : 2025-01-20 16:26:56
- 更新于 : 2025-03-22 22:09:50
- 链接: https://hui1520.top/2025/01/20/Games202-Lecture3/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论