我们发现ue中的shadowmap不适配正交相机,研究了一下发现,主要是阴影计算这里使用了screenPosition.w作为深度写入(如图),而正交相机的这个值是1
[Image Removed]
screenPosition实际是这里赋予的,可以看到没有考虑正交相机的情形,因此来源于screenposition.w的大部分效果是不正确的
[Image Removed]
我们准备的一个修改是直接修改SvPositionToResolvedScreenPosition这个函数,正交相机生效的情况下,给screenposition.w赋予正交相机的深度。类似于result.w = ConvertFromDeviceZ(SvPosition.z);return result;这样的修改,但是这个函数牵扯的东西有点多,想询问一下有什么更多修改建议