计算机图形学-GAMES101-12阴影

Shadow mapping

问题的提出

  • 我们之前在进行着色时,对于每个物体仅考虑自己,而不考虑其他物体对它的影响。限定在光栅化中,如何解决阴影问题呢?
  • 阴影能被摄像机看到,但不能被光源所照亮。
  • 经典的Shadow mapping只能处理点光源(或者说方向光源)产生的阴影,这种阴影有明显的边界,即一个物体要么在阴影里、要么不在。这种非0即1的阴影叫做硬阴影。

Projection to light

  • 将相机移动到点光源位置,进行投影,计算并记录点光源照射物体的深度信息。
  • 将相机移回角色头部,在角色视线方向进行投影,对每个片段进行变换。
  • 使用上一步的变换矩阵,获取刚刚记录的片段对应的深度信息,计算片段到相机的距离。
  • 如果距离等于深度,那么使用光进行着色,否则视为阴影。

从光源看向场景

在这里插入图片描述

记录物体的深度

在这里插入图片描述

从相机看向场景

在这里插入图片描述

需要探讨的问题

  • 深度的数值精度

  • Shadow Mapping使用多大的分辨率?

  • Shadow Mapping需要更多的计算

  • 只能计算硬阴影(理论上)

  • 硬阴影和软阴影有什么区别?在这里插入图片描述
     硬阴影就是被本影挡住的部分,而软阴影是被部分光源照亮。
    在这里插入图片描述
     如果要做出软阴影,必须使用具有一定体积大小的点光源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仰望—星空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值