|
@@ -49,14 +49,6 @@
|
|
|
#include "Transform.hlsl"
|
|
#include "Transform.hlsl"
|
|
|
#include "ScreenPos.hlsl"
|
|
#include "ScreenPos.hlsl"
|
|
|
|
|
|
|
|
-/*==========================================================================*/
|
|
|
|
|
-//
|
|
|
|
|
-// Shader Requirements
|
|
|
|
|
-//
|
|
|
|
|
-/*--------------------------------------------------------------------------*/
|
|
|
|
|
-
|
|
|
|
|
-#define FXAA_GATHER4 0
|
|
|
|
|
-
|
|
|
|
|
/*============================================================================
|
|
/*============================================================================
|
|
|
FXAA QUALITY - TUNING KNOBS
|
|
FXAA QUALITY - TUNING KNOBS
|
|
|
------------------------------------------------------------------------------
|
|
------------------------------------------------------------------------------
|
|
@@ -378,25 +370,12 @@ float4 FxaaPixelShader(
|
|
|
posM.x = pos.x;
|
|
posM.x = pos.x;
|
|
|
posM.y = pos.y;
|
|
posM.y = pos.y;
|
|
|
|
|
|
|
|
- #if (FXAA_GATHER4 == 1)
|
|
|
|
|
- float4 rgbyM = FxaaTexTop(tex, posM);
|
|
|
|
|
- float4 luma4A = FxaaTex4(tex, posM);
|
|
|
|
|
- float4 luma4B = FxaaTexOff4(tex, posM, float2(-1, -1));
|
|
|
|
|
- #define lumaM rgbyM.w
|
|
|
|
|
- #define lumaE luma4A.z
|
|
|
|
|
- #define lumaS luma4A.x
|
|
|
|
|
- #define lumaSE luma4A.y
|
|
|
|
|
- #define lumaNW luma4B.w
|
|
|
|
|
- #define lumaN luma4B.z
|
|
|
|
|
- #define lumaW luma4B.x
|
|
|
|
|
- #else
|
|
|
|
|
- float4 rgbyM = FxaaTexTop(tex, posM);
|
|
|
|
|
- #define lumaM rgbyM.y
|
|
|
|
|
- float lumaS = FxaaLuma(FxaaTexOff(tex, posM, float2( 0, 1), fxaaQualityRcpFrame.xy));
|
|
|
|
|
- float lumaE = FxaaLuma(FxaaTexOff(tex, posM, float2( 1, 0), fxaaQualityRcpFrame.xy));
|
|
|
|
|
- float lumaN = FxaaLuma(FxaaTexOff(tex, posM, float2( 0,-1), fxaaQualityRcpFrame.xy));
|
|
|
|
|
- float lumaW = FxaaLuma(FxaaTexOff(tex, posM, float2(-1, 0), fxaaQualityRcpFrame.xy));
|
|
|
|
|
- #endif
|
|
|
|
|
|
|
+ float4 rgbyM = FxaaTexTop(tex, posM);
|
|
|
|
|
+ #define lumaM rgbyM.y
|
|
|
|
|
+ float lumaS = FxaaLuma(FxaaTexOff(tex, posM, float2( 0, 1), fxaaQualityRcpFrame.xy));
|
|
|
|
|
+ float lumaE = FxaaLuma(FxaaTexOff(tex, posM, float2( 1, 0), fxaaQualityRcpFrame.xy));
|
|
|
|
|
+ float lumaN = FxaaLuma(FxaaTexOff(tex, posM, float2( 0,-1), fxaaQualityRcpFrame.xy));
|
|
|
|
|
+ float lumaW = FxaaLuma(FxaaTexOff(tex, posM, float2(-1, 0), fxaaQualityRcpFrame.xy));
|
|
|
/*--------------------------------------------------------------------------*/
|
|
/*--------------------------------------------------------------------------*/
|
|
|
float maxSM = max(lumaS, lumaM);
|
|
float maxSM = max(lumaS, lumaM);
|
|
|
float minSM = min(lumaS, lumaM);
|
|
float minSM = min(lumaS, lumaM);
|
|
@@ -414,15 +393,10 @@ float4 FxaaPixelShader(
|
|
|
if(earlyExit)
|
|
if(earlyExit)
|
|
|
return FxaaTexTop(tex, pos);
|
|
return FxaaTexTop(tex, pos);
|
|
|
/*--------------------------------------------------------------------------*/
|
|
/*--------------------------------------------------------------------------*/
|
|
|
- #if (FXAA_GATHER4 == 0)
|
|
|
|
|
- float lumaNW = FxaaLuma(FxaaTexOff(tex, posM, float2(-1,-1), fxaaQualityRcpFrame.xy));
|
|
|
|
|
- float lumaSE = FxaaLuma(FxaaTexOff(tex, posM, float2( 1, 1), fxaaQualityRcpFrame.xy));
|
|
|
|
|
- float lumaNE = FxaaLuma(FxaaTexOff(tex, posM, float2( 1,-1), fxaaQualityRcpFrame.xy));
|
|
|
|
|
- float lumaSW = FxaaLuma(FxaaTexOff(tex, posM, float2(-1, 1), fxaaQualityRcpFrame.xy));
|
|
|
|
|
- #else
|
|
|
|
|
- float lumaNE = FxaaLuma(FxaaTexOff(tex, posM, float2(1, -1), fxaaQualityRcpFrame.xy));
|
|
|
|
|
- float lumaSW = FxaaLuma(FxaaTexOff(tex, posM, float2(-1, 1), fxaaQualityRcpFrame.xy));
|
|
|
|
|
- #endif
|
|
|
|
|
|
|
+ float lumaNW = FxaaLuma(FxaaTexOff(tex, posM, float2(-1,-1), fxaaQualityRcpFrame.xy));
|
|
|
|
|
+ float lumaSE = FxaaLuma(FxaaTexOff(tex, posM, float2( 1, 1), fxaaQualityRcpFrame.xy));
|
|
|
|
|
+ float lumaNE = FxaaLuma(FxaaTexOff(tex, posM, float2( 1,-1), fxaaQualityRcpFrame.xy));
|
|
|
|
|
+ float lumaSW = FxaaLuma(FxaaTexOff(tex, posM, float2(-1, 1), fxaaQualityRcpFrame.xy));
|
|
|
/*--------------------------------------------------------------------------*/
|
|
/*--------------------------------------------------------------------------*/
|
|
|
float lumaNS = lumaN + lumaS;
|
|
float lumaNS = lumaN + lumaS;
|
|
|
float lumaWE = lumaW + lumaE;
|
|
float lumaWE = lumaW + lumaE;
|