diff --git a/neo/shaders/builtin/SSAO/AmbientOcclusion_AO.ps.hlsl b/neo/shaders/builtin/SSAO/AmbientOcclusion_AO.ps.hlsl index 8408cf07..597802b8 100644 --- a/neo/shaders/builtin/SSAO/AmbientOcclusion_AO.ps.hlsl +++ b/neo/shaders/builtin/SSAO/AmbientOcclusion_AO.ps.hlsl @@ -164,7 +164,7 @@ float3 reconstructCSPosition( float2 S, float z ) { float4 P; P.z = z;// * 2.0 - 1.0; - P.xy = ( S * rpWindowCoord.xy );// * 2.0 - 1.0; + P.xy = ( S * rpWindowCoord.xy ) * 2.0 - 1.0; P.w = 1.0; float4 csP; diff --git a/neo/shaders/builtin/SSAO/ssao_compute.cs.hlsl b/neo/shaders/builtin/SSAO/ssao_compute.cs.hlsl index 5595d112..c142360e 100644 --- a/neo/shaders/builtin/SSAO/ssao_compute.cs.hlsl +++ b/neo/shaders/builtin/SSAO/ssao_compute.cs.hlsl @@ -209,8 +209,7 @@ void main( uint3 globalId : SV_DispatchThreadID ) #endif // RB: pixelNormal is already in view space but it has to be negated to look correct which is weird - pixelNormal = -normalize( pixelNormal ); - //pixelNormal = normalize( float3( pixelNormal.x, 1.0 - pixelNormal.y, -pixelNormal.z ) ); + pixelNormal = -normalize( pixelNormal * 2.0 - 1.0 ); //pixelNormal = normalize( mul( float4( pixelNormal, 0 ), g_Ssao.matWorldToView ).xyz ); float2 pixelClipPos = WindowToClip( pixelPos );