【Unity——Screenspace Shadow Map与传统Shadow Map】

本文对比了Unity中的Screenspace Shadow Map与传统Shadow Map技术,详细介绍了Screenspace Shadow Map的工作流程,包括UpdateDepthTexture、RenderShadowMap和CollectShadows三个主要步骤,并通过实例展示了它们的影响。Unity5使用Screenspace Shadow Map技术,预先计算并存储阴影结果,提高渲染效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

一.Screenspace Shadow Map技术与传统Shadow Map技术区别
二.Screenspace Shadow Map简介
2.1Screenspace Shadow Map概括
2.2UpdateDepthTexture
2.3RenderShadowMap
2.4CollectShadows

一.Screenspace Shadow Map技术与传统Shadow Map技术区别

《Unity Shader入门精要》中P197页对二者的阐述如下
●传统Shadow Map
在传统的Shadow Map实现中,会在正常渲染的Pass中将顶点位置变换到光源空间中,使用其xy分量对ShdowMap进行采样,将得到的深度与该顶点的深度信息(由z分量得来)比较,若小于,则该点处于阴影中。
●Screenspace Shadow Map
Unity5中使用了屏幕空间的阴影映射技术(ScreenSpace ShadowMap),在Light Mode为ShadowCaster的pass中分别得到摄像机的深度纹理和光源的ShadowMap,从而得到一张屏幕空间的阴影图,通过对这张阴影图采样,就可以得到对应的阴影效果。

二者的区别可以概括为:
Screenspace Shadow Map会先计算所有的阴影结果,并将这些结果保存在一张屏幕空间的阴影纹理中,在渲染某个物体时,如果其开启了接收阴影选项,其阴影来源于对这张屏幕空间阴影纹理的采样。而传统Shadow Map技术不会提前

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值