gpt4 book ai didi

shader - 使用正交相机的屏幕空间环境遮挡?

转载 作者:行者123 更新时间:2023-12-02 11:04:25 24 4
gpt4 key购买 nike

就会出现标准 Assets 效应Screen Space Ambient Obscurance不适用于正交相机。这很奇怪,因为基本 SSAO脚本工作得很好。我怀疑问题在于片段深度的计算错误。

有没有办法编辑效果,使其按照正交相机的预期工作?

最佳答案

也许有点晚了,但我也遇到了同样的问题,解决方法如下:

(更改ScreenSpaceAmbientObscurance.shader)

float LinearEyeDepthOrth(float z)
{
// uniform float4 _ProjectionParams;
// x = 1 or -1 (-1 if porject is flipped)
// y = near plane
// z = far plane
// w = 1/far plane

// http://www.derschmale.com/2014/03/19/reconstructing-positions-from-the-depth-buffer-pt-2-perspective-and-orthographic-general-case/
// Z_view = Z_near + Z_ndc(Z_far - Z_near)
return _ProjectionParams.y + z * (_ProjectionParams.z - _ProjectionParams.y);
}

float3 ReconstructCSPosition(float2 S, float z)
{
float linEyeZ = LinearEyeDepthOrth(z);
//return float3(( ( S.xy * _MainTex_TexelSize.zw) * _ProjInfo.xy + _ProjInfo.zw) * linEyeZ, linEyeZ);
return float3(( ( S.xy * _MainTex_TexelSize.zw) * _ProjInfo.xy + _ProjInfo.zw), linEyeZ);
...
}

进行此更改后,它将在正交相机中正确渲染。

关于shader - 使用正交相机的屏幕空间环境遮挡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35210731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com