【Shading】Shadow Mapping 阴影映射
课程来源:GAMES101-现代计算机图形学入门-闫令琪 Lecture12
GAMES101 现代计算机图形学入门
主讲老师:闫令琪,UCSB
课程主页:https://sites.cs.ucsb.edu/~lingqi/teaching/games101.html
Shadows 阴影
- How to draw shadows using rasterization? 如何使用栅格化来绘制阴影?
- Shadow mapping!
Shadow of the Tomb Raider, 2018
Shadow Mapping 阴影映射
- Shadow Mapping在生成阴影的时候,是不知道场景中的几何信息的
- Shadow Mapping核心思想:点不在阴影里,说明摄像机和光都能看到这个点。利用这种现象,生成阴影。经典的Shadow Mapping只能处理点光源。
点光源的渲染
来自光源的深度图像
从光源看向场景,记录这些点的深度。
从眼睛(摄像机)再次看向这个场景,
Shadow Mapping例子
Visualizing Shadow Mapping 可视化阴影映射
- The depth buffer from the light’s point-of-view 从光的角度来看深度缓冲器
Comparing Dist(light, shading point) with shadow map 将区域(灯光、着色点)与阴影贴图进行比较
Shadow Mapping – Well known rendering technique 众所周知的渲染技术
Basic shadowing technique for early animations (Toy Story, etc.) and in EVERY 3D video game
早期动画的基本阴影技术(玩具总动员等)并且在每一个3D视频游戏中
Problems with shadow maps 阴影贴图的问题
- Hard shadows (point lights only)
硬阴影(仅限点灯光) - Quality depends on shadow map resolution(general problem with image-based techniques)
质量取决于阴影图的分辨率(基于图像的技术的一般问题) - Involves equality comparison of floating point depth values means issues of scale, bias, tolerance
涉及到浮点深度值的相等式比较,即尺度、偏差、公差等问题
Hard shadows vs. soft shadows 硬阴影与软阴影