summaryrefslogtreecommitdiffstats
path: root/Studio/Content/Effect Library/Desaturate.effect
blob: 02c311911bc6b08751cf2e60479dfa71732f2525 (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
<?xml version="1.0" encoding="UTF-8" ?>
<Effect>
    <MetaData>
    <Property name="strenght_gray" formalName="Effect Strenght" min="0" max="1" default="1.0" description="Strenght of the Grayscale"/>
    </MetaData>
    <Shaders>
        <Shared></Shared>
        <VertexShaderShared></VertexShaderShared>
        <FragmentShaderShared></FragmentShaderShared>
        <Shader name="main">
            <VertexShader></VertexShader>
            <FragmentShader><![CDATA[

vec4 desaturate(vec3 color, float strenght)
{
    vec3 lum = vec3(0.299, 0.587, 0.114);
    // lum values based on: ITU-R BT.601
    vec3 gray = vec3(dot(lum, color));
    return vec4(mix(color, gray, strenght), 1.0);
}
void frag()
{
    vec4 origColor = texture2D_0(TexCoord);

    gl_FragColor = desaturate(origColor.rgb,strenght_gray);
}
    ]]></FragmentShader>
        </Shader>
    </Shaders>
    <Passes>
        <Pass shader="main" input="[source]" output="[dest]"/>
    </Passes>
</Effect>