summaryrefslogtreecommitdiffstats
path: root/src/Runtime/res/effectlib/Fxaa3_11.glsllib
diff options
context:
space:
mode:
Diffstat (limited to 'src/Runtime/res/effectlib/Fxaa3_11.glsllib')
-rw-r--r--src/Runtime/res/effectlib/Fxaa3_11.glsllib76
1 files changed, 38 insertions, 38 deletions
diff --git a/src/Runtime/res/effectlib/Fxaa3_11.glsllib b/src/Runtime/res/effectlib/Fxaa3_11.glsllib
index 52053c0d..f5de2089 100644
--- a/src/Runtime/res/effectlib/Fxaa3_11.glsllib
+++ b/src/Runtime/res/effectlib/Fxaa3_11.glsllib
@@ -49,11 +49,11 @@ Example,
Or,
#define FXAA_360 1
-
+
Or,
#define FXAA_PS3 1
-
+
Etc.
(2.)
@@ -62,7 +62,7 @@ Then include this file,
(3.)
Then call the FXAA pixel shader from within your desired shader.
Look at the FXAA Quality FxaaPixelShader() for docs on inputs.
-As for FXAA 3.11 all inputs for all shaders are the same
+As for FXAA 3.11 all inputs for all shaders are the same
to enable easy porting between platforms.
return FxaaPixelShader(...);
@@ -93,7 +93,7 @@ Look at the FXAA Quality FxaaPixelShader() for docs on inputs.
(6.)
Have FXAA vertex shader run as a full screen triangle,
-and output "pos" and "fxaaConsolePosPos"
+and output "pos" and "fxaaConsolePosPos"
such that inputs in the pixel shader provide,
// {xy} = center of pixel
@@ -110,7 +110,7 @@ Insure the texture sampler(s) used by FXAA are set to bilinear filtering.
------------------------------------------------------------------------------
INTEGRATION - RGBL AND COLORSPACE
------------------------------------------------------------------------------
-FXAA3 requires RGBL as input unless the following is set,
+FXAA3 requires RGBL as input unless the following is set,
#define FXAA_GREEN_AS_LUMA 1
@@ -163,7 +163,7 @@ Getting luma correct is required for the algorithm to work correctly.
------------------------------------------------------------------------------
Applying FXAA to a framebuffer with linear RGB color will look worse.
This is very counter intuitive, but happends to be true in this case.
-The reason is because dithering artifacts will be more visiable
+The reason is because dithering artifacts will be more visiable
in a linear colorspace.
@@ -258,7 +258,7 @@ A. Or use FXAA_GREEN_AS_LUMA.
// Might want to lower the settings for both,
// fxaaConsoleEdgeThresholdMin
// fxaaQualityEdgeThresholdMin
- // In order to insure AA does not get turned off on colors
+ // In order to insure AA does not get turned off on colors
// which contain a minor amount of green.
//
// 1 = On.
@@ -343,7 +343,7 @@ A. Or use FXAA_GREEN_AS_LUMA.
#ifndef FXAA_GATHER4_ALPHA
#define FXAA_GATHER4_ALPHA 0
#endif
- #endif
+ #endif
#endif
/*============================================================================
@@ -406,14 +406,14 @@ NOTE the other tuning knobs are now in the shader function inputs!
//
// Choose the quality preset.
// This needs to be compiled into the shader as it effects code.
- // Best option to include multiple presets is to
+ // Best option to include multiple presets is to
// in each shader define the preset, then include this file.
- //
+ //
// OPTIONS
// -----------------------------------------------------------------------
// 10 to 15 - default medium dither (10=fastest, 15=highest quality)
// 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality)
- // 39 - no dither, very expensive
+ // 39 - no dither, very expensive
//
// NOTES
// -----------------------------------------------------------------------
@@ -422,7 +422,7 @@ NOTE the other tuning knobs are now in the shader function inputs!
// 23 = closest to FXAA 3.9 visually and performance wise
// _ = the lowest digit is directly related to performance
// _ = the highest digit is directly related to style
- //
+ //
#define FXAA_QUALITY__PRESET 12
#endif
@@ -732,7 +732,7 @@ NOTE the other tuning knobs are now in the shader function inputs!
FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.w; }
#else
FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; }
-#endif
+#endif
@@ -786,28 +786,28 @@ FxaaFloat4 FxaaPixelShader(
// Where N ranges between,
// N = 0.50 (default)
// N = 0.33 (sharper)
- // {x___} = -N/screenWidthInPixels
+ // {x___} = -N/screenWidthInPixels
// {_y__} = -N/screenHeightInPixels
- // {__z_} = N/screenWidthInPixels
- // {___w} = N/screenHeightInPixels
+ // {__z_} = N/screenWidthInPixels
+ // {___w} = N/screenHeightInPixels
FxaaFloat4 fxaaConsoleRcpFrameOpt,
//
// Only used on FXAA Console.
// Not used on 360, but used on PS3 and PC.
// This must be from a constant/uniform.
- // {x___} = -2.0/screenWidthInPixels
+ // {x___} = -2.0/screenWidthInPixels
// {_y__} = -2.0/screenHeightInPixels
- // {__z_} = 2.0/screenWidthInPixels
- // {___w} = 2.0/screenHeightInPixels
+ // {__z_} = 2.0/screenWidthInPixels
+ // {___w} = 2.0/screenHeightInPixels
FxaaFloat4 fxaaConsoleRcpFrameOpt2,
//
// Only used on FXAA Console.
// Only used on 360 in place of fxaaConsoleRcpFrameOpt2.
// This must be from a constant/uniform.
- // {x___} = 8.0/screenWidthInPixels
+ // {x___} = 8.0/screenWidthInPixels
// {_y__} = 8.0/screenHeightInPixels
- // {__z_} = -4.0/screenWidthInPixels
- // {___w} = -4.0/screenHeightInPixels
+ // {__z_} = -4.0/screenWidthInPixels
+ // {___w} = -4.0/screenHeightInPixels
FxaaFloat4 fxaaConsole360RcpFrameOpt2,
//
// Only used on FXAA Quality.
@@ -829,7 +829,7 @@ FxaaFloat4 FxaaPixelShader(
// 0.333 - too little (faster)
// 0.250 - low quality
// 0.166 - default
- // 0.125 - high quality
+ // 0.125 - high quality
// 0.063 - overkill (slower)
FxaaFloat fxaaQualityEdgeThreshold,
//
@@ -847,7 +847,7 @@ FxaaFloat4 FxaaPixelShader(
// Tune by looking at mostly non-green content,
// then start at zero and increase until aliasing is a problem.
FxaaFloat fxaaQualityEdgeThresholdMin,
- //
+ //
// Only used on FXAA Console.
// This used to be the FXAA_CONSOLE__EDGE_SHARPNESS define.
// It is here now to allow easier tuning.
@@ -882,7 +882,7 @@ FxaaFloat4 FxaaPixelShader(
// Trims the algorithm from processing darks.
// The console setting has a different mapping than the quality setting.
// This only applies when FXAA_EARLY_EXIT is 1.
- // This does not apply to PS3,
+ // This does not apply to PS3,
// PS3 was simplified to avoid more shader instructions.
// 0.06 - faster but more aliasing in darks
// 0.05 - default
@@ -894,7 +894,7 @@ FxaaFloat4 FxaaPixelShader(
// Tune by looking at mostly non-green content,
// then start at zero and increase until aliasing is a problem.
FxaaFloat fxaaConsoleEdgeThresholdMin,
- //
+ //
// Extra constants for 360 FXAA Console only.
// Use zeros or anything else for other platforms.
// These must be in physical constant registers and NOT immedates.
@@ -1271,11 +1271,11 @@ FxaaFloat4 FxaaPixelShader(
/*============================================================================
FXAA3 CONSOLE - PC VERSION
-
+
------------------------------------------------------------------------------
Instead of using this on PC, I'd suggest just using FXAA Quality with
#define FXAA_QUALITY__PRESET 10
-Or
+Or
#define FXAA_QUALITY__PRESET 20
Either are higher qualilty and almost as fast as this on modern PC GPUs.
============================================================================*/
@@ -1364,7 +1364,7 @@ FxaaFloat4 FxaaPixelShader(
/*============================================================================
- FXAA3 CONSOLE - 360 PIXEL SHADER
+ FXAA3 CONSOLE - 360 PIXEL SHADER
------------------------------------------------------------------------------
This optimized version thanks to suggestions from Andy Luedke.
@@ -1399,14 +1399,14 @@ float4 FxaaPixelShader(
/*--------------------------------------------------------------------------*/
float4 lumaNwNeSwSe;
#if (FXAA_GREEN_AS_LUMA == 0)
- asm {
+ asm {
tfetch2D lumaNwNeSwSe.w___, tex, pos.xy, OffsetX = -0.5, OffsetY = -0.5, UseComputedLOD=false
tfetch2D lumaNwNeSwSe._w__, tex, pos.xy, OffsetX = 0.5, OffsetY = -0.5, UseComputedLOD=false
tfetch2D lumaNwNeSwSe.__w_, tex, pos.xy, OffsetX = -0.5, OffsetY = 0.5, UseComputedLOD=false
tfetch2D lumaNwNeSwSe.___w, tex, pos.xy, OffsetX = 0.5, OffsetY = 0.5, UseComputedLOD=false
};
#else
- asm {
+ asm {
tfetch2D lumaNwNeSwSe.y___, tex, pos.xy, OffsetX = -0.5, OffsetY = -0.5, UseComputedLOD=false
tfetch2D lumaNwNeSwSe._y__, tex, pos.xy, OffsetX = 0.5, OffsetY = -0.5, UseComputedLOD=false
tfetch2D lumaNwNeSwSe.__y_, tex, pos.xy, OffsetX = -0.5, OffsetY = 0.5, UseComputedLOD=false
@@ -1427,7 +1427,7 @@ float4 FxaaPixelShader(
#else
float lumaMinM = min(lumaMin, rgbyM.y);
float lumaMaxM = max(lumaMax, rgbyM.y);
- #endif
+ #endif
if((lumaMaxM - lumaMinM) < max(fxaaConsoleEdgeThresholdMin, lumaMax * fxaaConsoleEdgeThreshold)) return rgbyM;
/*--------------------------------------------------------------------------*/
float2 dir;
@@ -1450,8 +1450,8 @@ float4 FxaaPixelShader(
float4 rgbyA = rgbyN1 + rgbyP1;
float4 rgbyB = rgbyN2 + rgbyP2 + rgbyA * 0.5;
/*--------------------------------------------------------------------------*/
- float4 rgbyR = ((FxaaLuma(rgbyB) - lumaMax) > 0.0) ? rgbyA : rgbyB;
- rgbyR = ((FxaaLuma(rgbyB) - lumaMin) > 0.0) ? rgbyR : rgbyA;
+ float4 rgbyR = ((FxaaLuma(rgbyB) - lumaMax) > 0.0) ? rgbyA : rgbyB;
+ rgbyR = ((FxaaLuma(rgbyB) - lumaMin) > 0.0) ? rgbyR : rgbyA;
return rgbyR; }
/*==========================================================================*/
#endif
@@ -1576,7 +1576,7 @@ Pass | Unit | uOp | PC: Op
| | |
13 | SCT0 | mad | 48: ADDxc0_s rc, h2, h2.w---;
| SCB0/1 | mul | 49: MOVh h0(NE0.xxxx), h1;
-
+
Pass SCT TEX SCB
1: 0% 100% 25%
2: 0% 100% 25%
@@ -1662,7 +1662,7 @@ half4 FxaaPixelShader(
#else
dir.x += lumaSw.y;
dir.z += lumaSw.y;
- #endif
+ #endif
/*--------------------------------------------------------------------------*/
// (3)
half4 lumaNw = h4tex2Dlod(tex, half4(fxaaConsolePosPos.xy, 0, 0));
@@ -1725,7 +1725,7 @@ half4 FxaaPixelShader(
#else
half lumaMin = min(min(lumaNw.y, lumaSw.y), min(lumaNe.y, lumaSe.y));
half lumaMax = max(max(lumaNw.y, lumaSw.y), max(lumaNe.y, lumaSe.y));
- #endif
+ #endif
rgby2 = (rgby2 + rgby1) * 0.5;
/*--------------------------------------------------------------------------*/
// (12)
@@ -1881,7 +1881,7 @@ Pass | Unit | uOp | PC: Op
| | |
15 | SCT0/1 | mul | 55: MOVh h0(NE0.wwww), h2;
| SCB0/1 | mul | 56: MOVh h0(NE0.xxxx), h1;
-
+
Pass SCT TEX SCB
1: 0% 100% 25%
2: 0% 100% 25%