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 进行许可。
评论