summaryrefslogtreecommitdiffstats
path: root/Studio/Content/Effect Library/FrameFlipper.effect
blob: 6529e6c84a2666cd0191609b59930586850fee5d (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="horflip" formalName="Flip Horizontally" type="Boolean" description="Flip Frame horizontally" default="False"/>
    <Property name="verflip" formalName="Flip Vertically" type="Boolean" description="Flip Frame vertically" default="False"/>
    </MetaData>
    <Shaders>
        <Shared></Shared>
        <VertexShaderShared></VertexShaderShared>
        <FragmentShaderShared></FragmentShaderShared>
        <Shader name="main">
            <VertexShader></VertexShader>
            <FragmentShader><![CDATA[
void frag()
{
    float yflippedCoord = 1.0 - TexCoord.y;
    float xflippedCoord = 1.0 - TexCoord.x;
    vec2 flippedCoord = TexCoord;

    if(horflip || verflip){
        if(horflip){
            flippedCoord.x = xflippedCoord;
        }
        if(verflip){
            flippedCoord.y = yflippedCoord;
        }
    }

    vec4 origColor = texture2D_0(flippedCoord);

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