summaryrefslogtreecommitdiffstats
path: root/Studio/Content/Effect Library/Emboss.effect
blob: 876db3a58df572817533a3cdd0845b7d9dea3aaf (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
<?xml version="1.0" encoding="UTF-8" ?>
<Effect>
    <MetaData>
    <Property name="amount" formalName="Amount" min="0" max="0.01" default="0.003" description="Amount"/>
    </MetaData>
    <Shaders>
        <Shared></Shared>
        <VertexShaderShared></VertexShaderShared>
        <FragmentShaderShared></FragmentShaderShared>
        <Shader name="main">
            <VertexShader></VertexShader>
            <FragmentShader><![CDATA[

void frag()
{
    vec4 origColor = texture2D_0(TexCoord);

    float step_w = amount;
    float step_h = amount;

    vec4 t1 = texture2D_0(vec2(TexCoord.x - step_w, TexCoord.y - step_h));
    vec4 t2 = texture2D_0(vec2(TexCoord.x, TexCoord.y - step_h));
    vec4 t3 = texture2D_0(vec2(TexCoord.x - step_w, TexCoord.y));
    vec4 t4 = texture2D_0(TexCoord);

    vec3 rr = -4.0 * t1.rgb - 4.0 * t2.rgb - 4.0 * t3.rgb + 12.0 * t4.rgb;
    float y = (rr.r + rr.g + rr.b) / 3.0;

    vec4 result = vec4(vec3(y, y, y) + 0.3, origColor.a);

    gl_FragColor = result;
}
    ]]></FragmentShader>
        </Shader>
    </Shaders>
    <Passes>
        <Pass shader="main" input="[source]" output="[dest]"/>
    </Passes>
</Effect>