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>
|