// GLSL shader autogenerated by cg2glsl.py.
#if defined(VERTEX)

#if __VERSION__ >= 130
#define COMPAT_VARYING out
#define COMPAT_ATTRIBUTE in
#define COMPAT_TEXTURE texture
#else
#define COMPAT_VARYING varying
#define COMPAT_ATTRIBUTE attribute
#define COMPAT_TEXTURE texture2D
#endif

#ifdef GL_ES
#define COMPAT_PRECISION mediump
#else
#define COMPAT_PRECISION
#endif
COMPAT_VARYING     float VARone;
COMPAT_VARYING     float VARpix_no;
COMPAT_VARYING     vec2 VARtex;
struct data {
    vec2 VARtex;
    float VARpix_no;
    float VARone;
};
struct input_dummy {
    vec2 _video_size;
    vec2 _texture_size;
    vec2 _output_dummy_size;
};
vec4 _oPosition1;
data _oData1;
input_dummy _IN1;
vec4 _r0006;
COMPAT_ATTRIBUTE vec4 VertexCoord;
COMPAT_ATTRIBUTE vec4 TexCoord;
 
uniform mat4 MVPMatrix;
uniform int FrameDirection;
uniform int FrameCount;
uniform COMPAT_PRECISION vec2 OutputSize;
uniform COMPAT_PRECISION vec2 TextureSize;
uniform COMPAT_PRECISION vec2 InputSize;
void main()
{
    _r0006 = VertexCoord.x*MVPMatrix[0];
    _r0006 = _r0006 + VertexCoord.y*MVPMatrix[1];
    _r0006 = _r0006 + VertexCoord.z*MVPMatrix[2];
    _r0006 = _r0006 + VertexCoord.w*MVPMatrix[3];
    _oPosition1 = _r0006;
    VARtex = TexCoord.xy;
    VARpix_no = TexCoord.x*TextureSize.x;
    VARone = 1.00000000E+00/TextureSize.x;
    gl_Position = _r0006;
} 
#elif defined(FRAGMENT)

#if __VERSION__ >= 130
#define COMPAT_VARYING in
#define COMPAT_TEXTURE texture
out vec4 FragColor;
#else
#define COMPAT_VARYING varying
#define FragColor gl_FragColor
#define COMPAT_TEXTURE texture2D
#endif

#ifdef GL_ES
#ifdef GL_FRAGMENT_PRECISION_HIGH
precision highp float;
#else
precision mediump float;
#endif
#define COMPAT_PRECISION mediump
#else
#define COMPAT_PRECISION
#endif
COMPAT_VARYING     float VARone;
COMPAT_VARYING     float VARpix_no;
COMPAT_VARYING     vec2 VARtex;
struct data {
    vec2 VARtex;
    float VARpix_no;
    float VARone;
};
struct input_dummy {
    vec2 _video_size;
    vec2 _texture_size;
    vec2 _output_dummy_size;
};
vec4 _ret_0;
vec4 _TMP2;
input_dummy _IN1;
data _vertex1;
uniform sampler2D Texture;
float _TMP9;
float _x0010;
vec2 _c0014;
 
uniform int FrameDirection;
uniform int FrameCount;
uniform COMPAT_PRECISION vec2 OutputSize;
uniform COMPAT_PRECISION vec2 TextureSize;
uniform COMPAT_PRECISION vec2 InputSize;
void main()
{
    float _texel;
    float _phase;
    float _base_phase;
    vec2 _tex;
    vec3 _col;
    float _phase1;
    float _g1;
    _texel = floor(VARpix_no);
    _phase = VARpix_no - _texel;
    _base_phase = _phase - 5.00000000E-01;
    _tex = vec2((_texel + 5.00000000E-01)/TextureSize.x, VARtex.y);
    _phase1 = _base_phase - -2.00000000E+00;
    _x0010 = (-5.00000000E-01*_phase1*_phase1)/2.50000000E-01;
    _TMP9 = pow(2.71828198E+00, _x0010);
    _g1 = (3.79999995E-01*_TMP9)/5.00000000E-01;
    _c0014 = _tex + vec2(-2.00000000E+00*VARone, 0.00000000E+00);
    _TMP2 = COMPAT_TEXTURE(Texture, _c0014);
    _col = _TMP2.xyz*_g1;
    _phase1 = _base_phase - -1.00000000E+00;
    _x0010 = (-5.00000000E-01*_phase1*_phase1)/2.50000000E-01;
    _TMP9 = pow(2.71828198E+00, _x0010);
    _g1 = (3.79999995E-01*_TMP9)/5.00000000E-01;
    _c0014 = _tex + vec2(-VARone, 0.00000000E+00);
    _TMP2 = COMPAT_TEXTURE(Texture, _c0014);
    _col = _col + _TMP2.xyz*_g1;
    _x0010 = (-5.00000000E-01*_base_phase*_base_phase)/2.50000000E-01;
    _TMP9 = pow(2.71828198E+00, _x0010);
    _g1 = (3.79999995E-01*_TMP9)/5.00000000E-01;
    _TMP2 = COMPAT_TEXTURE(Texture, _tex);
    _col = _col + _TMP2.xyz*_g1;
    _phase1 = _base_phase - 1.00000000E+00;
    _x0010 = (-5.00000000E-01*_phase1*_phase1)/2.50000000E-01;
    _TMP9 = pow(2.71828198E+00, _x0010);
    _g1 = (3.79999995E-01*_TMP9)/5.00000000E-01;
    _c0014 = _tex + vec2(VARone, 0.00000000E+00);
    _TMP2 = COMPAT_TEXTURE(Texture, _c0014);
    _col = _col + _TMP2.xyz*_g1;
    _phase1 = _base_phase - 2.00000000E+00;
    _x0010 = (-5.00000000E-01*_phase1*_phase1)/2.50000000E-01;
    _TMP9 = pow(2.71828198E+00, _x0010);
    _g1 = (3.79999995E-01*_TMP9)/5.00000000E-01;
    _c0014 = _tex + vec2(2.00000000E+00*VARone, 0.00000000E+00);
    _TMP2 = COMPAT_TEXTURE(Texture, _c0014);
    _col = _col + _TMP2.xyz*_g1;
    _ret_0 = vec4(_col.x, _col.y, _col.z, 1.00000000E+00);
    FragColor = _ret_0;
    return;
} 
#endif
