1// GLSL shader autogenerated by cg2glsl.py.
2#if defined(VERTEX)
3
4#if __VERSION__ >= 130
5#define COMPAT_VARYING out
6#define COMPAT_ATTRIBUTE in
7#define COMPAT_TEXTURE texture
8#else
9#define COMPAT_VARYING varying
10#define COMPAT_ATTRIBUTE attribute
11#define COMPAT_TEXTURE texture2D
12#endif
13
14#ifdef GL_ES
15#define COMPAT_PRECISION mediump
16#else
17#define COMPAT_PRECISION
18#endif
19COMPAT_VARYING     float _frame_rotation;
20COMPAT_VARYING     vec4 _color1;
21struct output_dummy {
22    vec4 _color1;
23};
24struct input_dummy {
25    vec2 _video_size;
26    vec2 _texture_size;
27    vec2 _output_dummy_size;
28    float _frame_count;
29    float _frame_direction;
30    float _frame_rotation;
31};
32vec4 _oPosition1;
33vec4 _r0006;
34COMPAT_ATTRIBUTE vec4 gl_Vertex;
35COMPAT_ATTRIBUTE vec4 COLOR;
36COMPAT_ATTRIBUTE vec4 gl_MultiTexCoord0;
37COMPAT_VARYING vec4 COL0;
38COMPAT_VARYING vec4 TEX0;
39
40uniform int FrameDirection;
41uniform int FrameCount;
42uniform COMPAT_PRECISION vec2 OutputSize;
43uniform COMPAT_PRECISION vec2 TextureSize;
44uniform COMPAT_PRECISION vec2 InputSize;
45void main()
46{
47    vec4 _oColor;
48    vec2 _otexCoord;
49    _r0006 = gl_Vertex.x*gl_ModelViewProjectionMatrix[0];
50    _r0006 = _r0006 + gl_Vertex.y*gl_ModelViewProjectionMatrix[1];
51    _r0006 = _r0006 + gl_Vertex.z*gl_ModelViewProjectionMatrix[2];
52    _r0006 = _r0006 + gl_Vertex.w*gl_ModelViewProjectionMatrix[3];
53    _oPosition1 = _r0006;
54    _oColor = COLOR;
55    _otexCoord = gl_MultiTexCoord0.xy;
56    gl_Position = _r0006;
57    COL0 = COLOR;
58    TEX0.xy = gl_MultiTexCoord0.xy;
59}
60#elif defined(FRAGMENT)
61
62#if __VERSION__ >= 130
63#define COMPAT_VARYING in
64#define COMPAT_TEXTURE texture
65out vec4 FragColor;
66#else
67#define COMPAT_VARYING varying
68#define FragColor gl_FragColor
69#define COMPAT_TEXTURE texture2D
70#endif
71
72#ifdef GL_ES
73#ifdef GL_FRAGMENT_PRECISION_HIGH
74precision highp float;
75#else
76precision mediump float;
77#endif
78#define COMPAT_PRECISION mediump
79#else
80#define COMPAT_PRECISION
81#endif
82COMPAT_VARYING     float _frame_rotation;
83COMPAT_VARYING     vec4 _color;
84struct output_dummy {
85    vec4 _color;
86};
87struct input_dummy {
88    vec2 _video_size;
89    vec2 _texture_size;
90    vec2 _output_dummy_size;
91    float _frame_count;
92    float _frame_direction;
93    float _frame_rotation;
94};
95vec3 _TMP11;
96vec3 _TMP10;
97vec3 _TMP9;
98vec4 _TMP17;
99float _TMP8;
100vec4 _TMP7;
101vec4 _TMP6;
102float _TMP16;
103float _TMP15;
104float _TMP14;
105float _TMP13;
106vec4 _TMP5;
107input_dummy _IN1;
108uniform sampler2D Texture;
109vec2 _x0025;
110vec4 _ret0027;
111vec4 _a0029;
112vec4 _TMP30;
113vec4 _x0045;
114vec4 _ret0057;
115vec4 _a0059;
116vec4 _TMP60;
117vec4 _x0075;
118vec2 _c0091;
119vec2 _c0095;
120vec2 _c0099;
121vec2 _c0103;
122vec3 _r0105;
123float _ypos0107;
124vec2 _c0111;
125vec2 _c0115;
126vec2 _c0119;
127vec2 _c0123;
128vec3 _r0125;
129float _ypos0127;
130vec2 _c0131;
131vec2 _c0135;
132vec2 _c0139;
133vec2 _c0143;
134vec3 _r0145;
135float _ypos0147;
136vec2 _c0151;
137vec2 _c0155;
138vec2 _c0159;
139vec2 _c0163;
140vec3 _r0165;
141vec3 _r0167;
142COMPAT_VARYING vec4 TEX0;
143
144uniform int FrameDirection;
145uniform int FrameCount;
146uniform COMPAT_PRECISION vec2 OutputSize;
147uniform COMPAT_PRECISION vec2 TextureSize;
148uniform COMPAT_PRECISION vec2 InputSize;
149void main()
150{
151    vec2 _stepxy;
152    vec2 _pos;
153    vec2 _f;
154    vec2 _xystart;
155    vec4 _xpos2;
156    vec4 _linetaps1;
157    vec4 _columntaps;
158    output_dummy _OUT;
159    _stepxy = 1.00000000E+00/TextureSize.xy;
160    _pos = TEX0.xy + _stepxy*5.00000000E-01;
161    _x0025 = _pos/_stepxy;
162    _f = fract(_x0025);
163    _xystart = (-1.50000000E+00 - _f)*_stepxy + _pos;
164    _xpos2 = vec4(_xystart.x, _xystart.x + _stepxy.x, _xystart.x + _stepxy.x*2.00000000E+00, _xystart.x + _stepxy.x*3.00000000E+00);
165    _a0029 = 3.14159274E+00*vec4(1.00000000E+00 + _f.x, _f.x, 1.00000000E+00 - _f.x, 2.00000000E+00 - _f.x);
166    _TMP5 = abs(_a0029);
167    _TMP30 = max(_TMP5, vec4( 9.99999975E-06, 9.99999975E-06, 9.99999975E-06, 9.99999975E-06));
168    _TMP13 = sin(_TMP30.x);
169    _TMP14 = sin(_TMP30.y);
170    _TMP15 = sin(_TMP30.z);
171    _TMP16 = sin(_TMP30.w);
172    _TMP6 = vec4(_TMP13, _TMP14, _TMP15, _TMP16);
173    _x0045 = _TMP30/2.00000000E+00;
174    _TMP13 = sin(_x0045.x);
175    _TMP14 = sin(_x0045.y);
176    _TMP15 = sin(_x0045.z);
177    _TMP16 = sin(_x0045.w);
178    _TMP7 = vec4(_TMP13, _TMP14, _TMP15, _TMP16);
179    _ret0027 = (_TMP6*_TMP7)/(_TMP30*_TMP30);
180    _TMP8 = dot(_ret0027, vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00));
181    _linetaps1 = _ret0027/_TMP8;
182    _a0059 = 3.14159274E+00*vec4(1.00000000E+00 + _f.y, _f.y, 1.00000000E+00 - _f.y, 2.00000000E+00 - _f.y);
183    _TMP5 = abs(_a0059);
184    _TMP60 = max(_TMP5, vec4( 9.99999975E-06, 9.99999975E-06, 9.99999975E-06, 9.99999975E-06));
185    _TMP13 = sin(_TMP60.x);
186    _TMP14 = sin(_TMP60.y);
187    _TMP15 = sin(_TMP60.z);
188    _TMP16 = sin(_TMP60.w);
189    _TMP6 = vec4(_TMP13, _TMP14, _TMP15, _TMP16);
190    _x0075 = _TMP60/2.00000000E+00;
191    _TMP13 = sin(_x0075.x);
192    _TMP14 = sin(_x0075.y);
193    _TMP15 = sin(_x0075.z);
194    _TMP16 = sin(_x0075.w);
195    _TMP7 = vec4(_TMP13, _TMP14, _TMP15, _TMP16);
196    _ret0057 = (_TMP6*_TMP7)/(_TMP60*_TMP60);
197    _TMP8 = dot(_ret0057, vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00));
198    _columntaps = _ret0057/_TMP8;
199    _c0091 = vec2(_xpos2.x, _xystart.y);
200    _TMP17 = COMPAT_TEXTURE(Texture, _c0091);
201    _TMP9 = _TMP17.xyz;
202    _c0095 = vec2(_xpos2.y, _xystart.y);
203    _TMP17 = COMPAT_TEXTURE(Texture, _c0095);
204    _TMP10 = _TMP17.xyz;
205    _c0099 = vec2(_xpos2.z, _xystart.y);
206    _TMP17 = COMPAT_TEXTURE(Texture, _c0099);
207    _TMP11 = _TMP17.xyz;
208    _c0103 = vec2(_xpos2.w, _xystart.y);
209    _TMP17 = COMPAT_TEXTURE(Texture, _c0103);
210    _r0105 = _linetaps1.x*_TMP9;
211    _r0105 = _r0105 + _linetaps1.y*_TMP10;
212    _r0105 = _r0105 + _linetaps1.z*_TMP11;
213    _r0105 = _r0105 + _linetaps1.w*_TMP17.xyz;
214    _ypos0107 = _xystart.y + _stepxy.y;
215    _c0111 = vec2(_xpos2.x, _ypos0107);
216    _TMP17 = COMPAT_TEXTURE(Texture, _c0111);
217    _TMP9 = _TMP17.xyz;
218    _c0115 = vec2(_xpos2.y, _ypos0107);
219    _TMP17 = COMPAT_TEXTURE(Texture, _c0115);
220    _TMP10 = _TMP17.xyz;
221    _c0119 = vec2(_xpos2.z, _ypos0107);
222    _TMP17 = COMPAT_TEXTURE(Texture, _c0119);
223    _TMP11 = _TMP17.xyz;
224    _c0123 = vec2(_xpos2.w, _ypos0107);
225    _TMP17 = COMPAT_TEXTURE(Texture, _c0123);
226    _r0125 = _linetaps1.x*_TMP9;
227    _r0125 = _r0125 + _linetaps1.y*_TMP10;
228    _r0125 = _r0125 + _linetaps1.z*_TMP11;
229    _r0125 = _r0125 + _linetaps1.w*_TMP17.xyz;
230    _ypos0127 = _xystart.y + _stepxy.y*2.00000000E+00;
231    _c0131 = vec2(_xpos2.x, _ypos0127);
232    _TMP17 = COMPAT_TEXTURE(Texture, _c0131);
233    _TMP9 = _TMP17.xyz;
234    _c0135 = vec2(_xpos2.y, _ypos0127);
235    _TMP17 = COMPAT_TEXTURE(Texture, _c0135);
236    _TMP10 = _TMP17.xyz;
237    _c0139 = vec2(_xpos2.z, _ypos0127);
238    _TMP17 = COMPAT_TEXTURE(Texture, _c0139);
239    _TMP11 = _TMP17.xyz;
240    _c0143 = vec2(_xpos2.w, _ypos0127);
241    _TMP17 = COMPAT_TEXTURE(Texture, _c0143);
242    _r0145 = _linetaps1.x*_TMP9;
243    _r0145 = _r0145 + _linetaps1.y*_TMP10;
244    _r0145 = _r0145 + _linetaps1.z*_TMP11;
245    _r0145 = _r0145 + _linetaps1.w*_TMP17.xyz;
246    _ypos0147 = _xystart.y + _stepxy.y*3.00000000E+00;
247    _c0151 = vec2(_xpos2.x, _ypos0147);
248    _TMP17 = COMPAT_TEXTURE(Texture, _c0151);
249    _TMP9 = _TMP17.xyz;
250    _c0155 = vec2(_xpos2.y, _ypos0147);
251    _TMP17 = COMPAT_TEXTURE(Texture, _c0155);
252    _TMP10 = _TMP17.xyz;
253    _c0159 = vec2(_xpos2.z, _ypos0147);
254    _TMP17 = COMPAT_TEXTURE(Texture, _c0159);
255    _TMP11 = _TMP17.xyz;
256    _c0163 = vec2(_xpos2.w, _ypos0147);
257    _TMP17 = COMPAT_TEXTURE(Texture, _c0163);
258    _r0165 = _linetaps1.x*_TMP9;
259    _r0165 = _r0165 + _linetaps1.y*_TMP10;
260    _r0165 = _r0165 + _linetaps1.z*_TMP11;
261    _r0165 = _r0165 + _linetaps1.w*_TMP17.xyz;
262    _r0167 = _columntaps.x*_r0105;
263    _r0167 = _r0167 + _columntaps.y*_r0125;
264    _r0167 = _r0167 + _columntaps.z*_r0145;
265    _r0167 = _r0167 + _columntaps.w*_r0165;
266    _OUT._color = vec4(_r0167.x, _r0167.y, _r0167.z, 1.00000000E+00);
267    FragColor = _OUT._color;
268    return;
269}
270#endif
271