{
"// GLSL shader autogenerated by cg2glsl.py.\n"
"#if defined(VERTEX)\n"
"\n"
"#if __VERSION__ >= 130\n"
"#define COMPAT_VARYING out\n"
"#define COMPAT_ATTRIBUTE in\n"
"#define COMPAT_TEXTURE texture\n"
"#else\n"
"#define COMPAT_VARYING varying\n"
"#define COMPAT_ATTRIBUTE attribute\n"
"#define COMPAT_TEXTURE texture2D\n"
"#endif\n"
"\n"
"#ifdef GL_ES\n"
"#define COMPAT_PRECISION mediump\n"
"#else\n"
"#define COMPAT_PRECISION\n"
"#endif\n"
"COMPAT_VARYING     vec4 _color;\n"
"COMPAT_VARYING     vec2 _texCoord1;\n"
"COMPAT_VARYING     vec4 _vpos1;\n"
"COMPAT_VARYING     vec4 _position1;\n"
"COMPAT_VARYING     float _frame_rotation;\n"
"struct input_dummy {\n"
"    vec2 _video_size;\n"
"    vec2 _texture_size;\n"
"    vec2 _output_dummy_size;\n"
"    float _frame_count;\n"
"    float _frame_direction;\n"
"    float _frame_rotation;\n"
"};\n"
"struct VERTEX_OUTPUT {\n"
"    vec4 _position1;\n"
"    vec4 _vpos1;\n"
"    vec2 _texCoord1;\n"
"};\n"
"struct output_dummy {\n"
"    vec4 _color;\n"
"};\n"
"VERTEX_OUTPUT _ret_0;\n"
"vec4 _r0006;\n"
"COMPAT_ATTRIBUTE vec4 VertexCoord;\n"
"COMPAT_ATTRIBUTE vec4 TexCoord;\n"
"COMPAT_VARYING vec4 TEX1;\n"
"COMPAT_VARYING vec4 TEX0;\n"
" \n"
"uniform mat4 MVPMatrix;\n"
"uniform int FrameDirection;\n"
"uniform int FrameCount;\n"
"uniform COMPAT_PRECISION vec2 OutputSize;\n"
"uniform COMPAT_PRECISION vec2 TextureSize;\n"
"uniform COMPAT_PRECISION vec2 InputSize;\n"
"void main()\n"
"{\n"
"    _r0006 = VertexCoord.x*MVPMatrix[0];\n"
"    _r0006 = _r0006 + VertexCoord.y*MVPMatrix[1];\n"
"    _r0006 = _r0006 + VertexCoord.z*MVPMatrix[2];\n"
"    _r0006 = _r0006 + VertexCoord.w*MVPMatrix[3];\n"
"    _ret_0._position1 = _r0006;\n"
"    _ret_0._vpos1 = _r0006;\n"
"    _ret_0._texCoord1 = TexCoord.xy;\n"
"    gl_Position = _r0006;\n"
"    TEX1 = _r0006;\n"
"    TEX0.xy = TexCoord.xy;\n"
"    return;\n"
"    TEX1 = _ret_0._vpos1;\n"
"    TEX0.xy = _ret_0._texCoord1;\n"
"} \n"
"#elif defined(FRAGMENT)\n"
"\n"
"#if __VERSION__ >= 130\n"
"#define COMPAT_VARYING in\n"
"#define COMPAT_TEXTURE texture\n"
"out vec4 FragColor;\n"
"#else\n"
"#define COMPAT_VARYING varying\n"
"#define FragColor gl_FragColor\n"
"#define COMPAT_TEXTURE texture2D\n"
"#endif\n"
"\n"
"#ifdef GL_ES\n"
"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
"precision highp float;\n"
"#else\n"
"precision mediump float;\n"
"#endif\n"
"#define COMPAT_PRECISION mediump\n"
"#else\n"
"#define COMPAT_PRECISION\n"
"#endif\n"
"COMPAT_VARYING     vec4 _color;\n"
"COMPAT_VARYING     vec2 _texCoord;\n"
"COMPAT_VARYING     vec4 _vpos;\n"
"COMPAT_VARYING     float _frame_rotation;\n"
"struct input_dummy {\n"
"    vec2 _video_size;\n"
"    vec2 _texture_size;\n"
"    vec2 _output_dummy_size;\n"
"    float _frame_count;\n"
"    float _frame_direction;\n"
"    float _frame_rotation;\n"
"};\n"
"struct VERTEX_OUTPUT {\n"
"    vec4 _vpos;\n"
"    vec2 _texCoord;\n"
"};\n"
"struct output_dummy {\n"
"    vec4 _color;\n"
"};\n"
"vec4 _TMP7;\n"
"vec4 _TMP6;\n"
"vec4 _TMP5;\n"
"float _TMP4;\n"
"float _TMP1;\n"
"float _TMP3;\n"
"float _TMP2;\n"
"float _TMP0;\n"
"VERTEX_OUTPUT _TMP8;\n"
"uniform sampler2D Texture;\n"
"input_dummy _IN1;\n"
"float _TMP13;\n"
"float _x0014;\n"
"float _frame_cnt0020;\n"
"vec2 _constant10020;\n"
"float _constant20020;\n"
"float _x0028;\n"
"float _TMP29;\n"
"float _x0030;\n"
"vec2 _c0038;\n"
"vec2 _c0042;\n"
"COMPAT_VARYING vec4 TEX1;\n"
"COMPAT_VARYING vec4 TEX0;\n"
" \n"
"uniform int FrameDirection;\n"
"uniform int FrameCount;\n"
"uniform COMPAT_PRECISION vec2 OutputSize;\n"
"uniform COMPAT_PRECISION vec2 TextureSize;\n"
"uniform COMPAT_PRECISION vec2 InputSize;\n"
"void main()\n"
"{\n"
"    output_dummy _OUT;\n"
"    float _f;\n"
"    vec4 _distortion2;\n"
"    _TMP8._vpos = TEX1/TEX1.w;\n"
"    _f = (1.00000000E+00 - _TMP8._vpos.x*_TMP8._vpos.x)*(1.00000000E+00 - _TMP8._vpos.y*_TMP8._vpos.y);\n"
"    _TMP0 = pow(_f, 4.39999998E-01);\n"
"    _x0014 = 8.00000012E-01*(_TMP0 - 1.59999996E-01);\n"
"    _TMP1 = min(1.00000000E+00, _x0014);\n"
"    _TMP13 = max(0.00000000E+00, _TMP1);\n"
"    _frame_cnt0020 = cos(float(FrameCount));\n"
"    _constant10020 = _frame_cnt0020*vec2( 1.29090910E+01, 7.82307663E+01);\n"
"    _constant20020 = (_frame_cnt0020*4.81344000E+05)/1.10000000E+01;\n"
"    _TMP2 = dot(TEX0.xy, _constant10020);\n"
"    _TMP3 = sin(_TMP2);\n"
"    _x0028 = _TMP3*_constant20020;\n"
"    _TMP4 = fract(_x0028);\n"
"    _x0030 = _TMP4 + 2.00000003E-01;\n"
"    _TMP1 = min(1.00000000E+00, _x0030);\n"
"    _TMP29 = max(0.00000000E+00, _TMP1);\n"
"    _c0038 = TEX0.xy + 1.95312500E-03;\n"
"    _TMP5 = COMPAT_TEXTURE(Texture, _c0038);\n"
"    _TMP6 = COMPAT_TEXTURE(Texture, TEX0.xy);\n"
"    _c0042 = TEX0.xy - 1.95312500E-03;\n"
"    _TMP7 = COMPAT_TEXTURE(Texture, _c0042);\n"
"    _distortion2 = vec4(_TMP5.x, _TMP6.y, _TMP7.z, 1.00000000E+00);\n"
"    _OUT._color = _TMP13*(_distortion2*_TMP29);\n"
"    FragColor = vec4(_OUT._color.x, _OUT._color.y, _OUT._color.z, 1.00000000E+00);\n"
"    return;\n"
"} \n"
"#endif\n"
},
