summaryrefslogtreecommitdiffstats
path: root/Studio/Content/Effect Library/FXAA.effect
blob: 0434a38e8169d58a304d174d2ae120fc18847426 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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>