Files
FlaxEngine/Source/Shaders/Temporal.hlsl

20 lines
574 B
HLSL

// Copyright (c) Wojciech Figat. All rights reserved.
#ifndef __TEMPORAL__
#define __TEMPORAL__
#include "./Flax/Common.hlsl"
// [Pedersen, 2016, "Temporal Reprojection Anti-Aliasing in INSIDE"]
float4 ClipToAABB(float4 color, float4 minimum, float4 maximum)
{
float4 center = (maximum + minimum) * 0.5;
float4 extents = (maximum - minimum) * 0.5;
float4 shift = color - center;
float4 absUnit = abs(shift / max(extents, 0.0001));
float maxUnit = max(max(absUnit.x, absUnit.y), absUnit.z);
return maxUnit > 1.0 ? center + (shift / maxUnit) : color;
}
#endif