Files
bluflame/netpoet-coop-8k/src/intro/shaders/taa.hlsl
2026-04-19 00:41:25 +02:00

29 lines
826 B
HLSL

void taa(inout float3 old, in float2 id, int2 iResolution)
{
id *= iResolution;
id += .5;
if (any(id <= 1) || any(id >= iResolution - 1))
return;
// get the neighborhood min / max from this frame's render
float3 center = lastFrame[id].rgb;
float3 minColor = center;
float3 maxColor = center;
for (int iy = -1; iy <= 1; ++iy)
{
for (int ix = -1; ix <= 1; ++ix)
{
if (ix == 0 && iy == 0)
continue;
float3 color = lastFrame[id + int2(ix, iy)].rgb;
minColor = min(minColor, color);
maxColor = max(maxColor, color);
}
}
//center = max(minColor, center);
//center = min(maxColor, center);
// get last frame's pixel and clamp it to the neighborhood of this frame
old = lerp(old, center, 0.4);
}