e4s-sdk/gamedata/shaders/r2/depth_downs.ps.hlsl
2026-06-17 23:06:51 +03:00

34 lines
921 B
HLSL

#include "common.hlsli"
uniform float4 screen_res;
float4 main(float2 tc : TEXCOORD0) : COLOR
{
#if SSAO_OPT_DATA == 2
// FIXME: Should add a float-texel offset to I.tc0 here
// This would fix horizontal line issue
float4 P0 = tex2D(s_position, tc + 0.5f * screen_res.zw); // position.(mtl or sun)
float4 P1 = tex2D(s_position, tc - 0.5f * screen_res.zw); // position.(mtl or sun)
float4 P2 = tex2D(s_position, tc + 0.5f * float2(screen_res.z, -screen_res.w)); // position.(mtl or sun)
float4 P3 = tex2D(s_position, tc + 0.5f * float2(-screen_res.z, screen_res.w)); // position.(mtl or sun)
float4 P = P0;
if (P1.z < P.z)
{
P = P1;
}
if (P2.z < P.z)
{
P = P2;
}
if (P3.z < P.z)
{
P = P3;
}
return float4(P.zzzz);
#else
return tex2D(s_position, tc - 0.5f * screen_res.zw).zzzz;
#endif
}