summaryrefslogtreecommitdiffstats
path: root/Studio/Content/Effect Library/FXAA.effect
diff options
context:
space:
mode:
Diffstat (limited to 'Studio/Content/Effect Library/FXAA.effect')
-rw-r--r--Studio/Content/Effect Library/FXAA.effect51
1 files changed, 51 insertions, 0 deletions
diff --git a/Studio/Content/Effect Library/FXAA.effect b/Studio/Content/Effect Library/FXAA.effect
new file mode 100644
index 0000000..0434a38
--- /dev/null
+++ b/Studio/Content/Effect Library/FXAA.effect
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Effect>
+ <MetaData>
+ <Property name="Sprite" filter="nearest" clamp="clamp" type="Texture" />
+ </MetaData>
+ <Shaders>
+ <Shader name="RGBL">
+ <FragmentShader>
+void frag() // Create RGBL buffer
+{
+ vec4 color = texture2D_0(TexCoord);
+ color.a = dot(color.rgb, vec3(0.299, 0.587, 0.114));
+ gl_FragColor = color;
+}
+ </FragmentShader>
+ </Shader>
+ <Shader name="BLUR">
+ <FragmentShader>
+#define FXAA_VERION 311
+#define FXAA_PC 1
+#define FXAA_GLSL_130 1
+#define FXAA_LINEAR 1
+#if FXAA_VERION >= 311
+#include "Fxaa3_11.glsllib"
+#else
+#include "Fxaa3_8.glsllib"
+#endif
+
+void frag() // Mix the input blur and the depth texture with the sprite
+{
+ float sprightA = texture2D_Sprite( TexCoord ).a;
+#if FXAA_VERION >= 311
+ vec4 aaPix = FxaaPixelShader( TexCoord, vec4(0.0,0.0,0.0,0.0), Texture0, Texture0, Texture0, vec2(1.0 / DestSize.x, 1.0 / DestSize.y),
+ vec4(0,0,0,0), vec4(0,0,0,0), vec4(0,0,0,0), 0.75, 0.166, 0.0833, 8.0, 0.125, 0.05, vec4(0,0,0,0) );
+#else
+ vec4 aaPix = FxaaPixelShader( TexCoord, vec4(0.0,0.0,0.0,0.0), Texture0, vec2(1.0 / DestSize.x, 1.0 / DestSize.y), vec4(0,0,0,0) );
+#endif
+ gl_FragColor = vec4(aaPix.rgb, sprightA );
+}
+ </FragmentShader>
+ </Shader>
+ </Shaders>
+ <Passes>
+ <Buffer name="rgbl_buffer" type="ubyte" format="rgba" filter="linear" wrap="clamp" lifetime="frame"/>
+ <Pass shader="RGBL" input="[source]" output="rgbl_buffer"/>
+ <Pass shader="BLUR" input="rgbl_buffer">
+ <BufferInput param="Sprite" value="[source]"/>
+ </Pass>
+ </Passes>
+</Effect>
+