7.1 阴影贴图

1.传统阴影贴图

2.屏幕空间阴影贴图


1.传统阴影贴图

csharp 复制代码
a.从光源视角渲染场景, 生成阴影贴图(记录的是每个方向的最小深度值)
csharp 复制代码
b.从主相机视角渲染场景, 将每个片元变换到光源视角下, 比较其深度与阴影贴图中记录的深度

值, 是否处于阴影中

2.屏幕空间阴影贴图

csharp 复制代码
a.从主相机视角生成整个场景的深度纹理
csharp 复制代码
b.在屏幕空间中对每个像素, 根据深度纹理重建世界坐标, 然后将其变换到光源空间, 得到在光

源视角下的深度

c.将这个深度与阴影贴图中的深度进行比较, 检查片元是否在阴影中

csharp 复制代码
屏幕空间阴影映射就是在已经渲染好的画面上, 基于画面本身的深度信息, 直接绘制阴影

a.传统: 从光源看 -> 生成阴影图 -> 从相机看 -> 比较

b.屏幕空间: 从相机看 -> 直接在画面上画阴影
相关推荐
平行云38 分钟前
Enscape × Paraverse | 从设计到一键发布、网页分享、实时交互的全新体验
unity·ue5·xr·3dsmax·webgl·实时云渲染·云桌面
老朱佩琪!4 小时前
Unity迭代器模式
unity·设计模式·迭代器模式
程序猿多布5 小时前
Unity 多语言系统实现
unity·多语言
CreasyChan6 小时前
Unity中C#状态模式详解
unity·c#·状态模式
鹿野素材屋6 小时前
动作游戏网游:帧同步下的动画同步
unity·游戏引擎
世洋Blog7 小时前
数据驱动与MVC
unity·mvc
WMX10127 小时前
Unity添加近身菜单-MRTK
unity·游戏引擎
在路上看风景1 天前
15. 纹理尺寸是4的倍数
unity
AT~1 天前
unity 使用Socket和protobuf实现网络连接
unity·游戏引擎
怣疯knight1 天前
Cocos creator判断节点是否能用的方法
unity·cocos2d