以下为个人学习笔记整理,涉及坐标内容统一用右手坐标系,课程官网。
# Shadow Mapping
阴影的核心思想:能被「摄像机」观察到的点,且该点也能被「光源」看见
# 阴影如何生成
- 从光源看向场景
- 从摄像机看向场景
# 从光源渲染场景
从光源出发,观察场景内能够看到的点,记下每个点的深度值。
# 从摄像机看向场景
摄像机观察到的点投影到光源上
- 如果两者的深度值相同,那么表示该点是可以被看到的。
- 如果两者的深度值不同,那么可以认为该点不能没看到。
# Visualizing Shadow Mapping
让我们来实际演练一下🐾
# 从光源看向场景
# 得到深度图
深度图的精度会间接影响最终的阴影效果。
# 从相机看向场景
每个摄像机观察到的像素的位置,投影到光线的观测点上,灰色的点代表摄像机和光源深度不一致的位置(阴影)。
图中在一些可见位置也会有一些灰色的斑点,形成原因:浮点数之间比较相等往往会有误差。
# 硬阴影 (Hard Shadows)vs 软阴影(Soft Shadows)
软阴影取决于光源本身存在一定的大小。