问题总结-forward render path surface shader 不写入深度问题

在Unity中,使用ForwardRenderPathSurfaceShader时,若删除fallback且未写入相机深度贴图,将导致后期计算错误。解决方法是在pragma surface中加入fullforwardshadows或addshadow,以确保渲染深度贴图。

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

问题复现:forward render path surface shader删除fall back之后 不写入相机的深度贴图,导致用到深度的后期计算错误

解决办法,#pragma surface 加入 fullforwardshadows 或者 addshadow

原因:

https://docs.unity3d.com/Manual/SL-CameraDepthTexture.html

渲染深度贴图需要shadow caster pass,如果没有unity会在fallback里去找

如果是surface shader加入addshadow就自动生成shadow pass

猜测:Unity forward计算深度是shadow depth map和camera depthmap一起算的,省一次所有物体的fs

---by wolf96 2018/12/10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值