文章目录
- 前言
- 一、阴影的作用
- 1、阴影可以增加真实度
- 2、阴影可以提升空间感
- 二、阴影的生成
- 1、现实中阴影的生成
- 2、Unity中阴影的生成 ShadowMapping
- 三、ShadowMapping原理
- 1、在 光源处添加一个相机,同时打开深度测试 与 写入,并生成ShadowMap(深度图)
- 2、正常绘制场景,把当前的片段转换到光源空间下,计算得到的深度 与采样ShadowMap中的深度值进行比较,如果大于则表示该片段处于阴影中,反之则不在阴影中
- 四、Unity中是怎么实现的
前言
Unity中Shader的ShadowMapping的原理(阴影)
一、阴影的作用
1、阴影可以增加真实度
2、阴影可以提升空间感
二、阴影的生成
1、现实中阴影的生成
阴影是光线被阻挡的结果
2、Unity中阴影的生成 ShadowMapping
- ShadowMapping是一种常用的实时阴影生成方法
- ShadowMap 是动态生成的阴影纹理图,在需要时对其进行采样来获取阴影的一种技术手段
三、ShadowMapping原理
1、在 光源处添加一个相机,同时打开深度测试 与 写入,并生成ShadowMap(深度图)
2、正常绘制场景,把当前的片段转换到光源空间下,计算得到的深度 与采样ShadowMap中的深度值进行比较,如果大于则表示该片段处于阴影中,反之则不在阴影中
四、Unity中是怎么实现的
在FrameDebugger中,可以看见 在光线处的摄像机视角下的深度图 ShadowMap
然后,在计算阴影时,使用的就是这张ShadowMap