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 _r0007; 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 _r0007 = gl_Vertex.x*gl_ModelViewProjectionMatrix[0]; 50 _r0007 = _r0007 + gl_Vertex.y*gl_ModelViewProjectionMatrix[1]; 51 _r0007 = _r0007 + gl_Vertex.z*gl_ModelViewProjectionMatrix[2]; 52 _r0007 = _r0007 + gl_Vertex.w*gl_ModelViewProjectionMatrix[3]; 53 _oPosition1 = _r0007; 54 _oColor = COLOR; 55 _otexCoord = gl_MultiTexCoord0.xy; 56 gl_Position = _r0007; 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}; 95vec4 _TMP11; 96vec4 _TMP10; 97vec4 _TMP9; 98vec4 _TMP8; 99vec4 _TMP7; 100vec4 _TMP6; 101vec4 _TMP5; 102vec4 _TMP4; 103vec4 _TMP3; 104vec4 _TMP2; 105vec4 _TMP1; 106vec4 _TMP0; 107float _TMP13; 108float _TMP12; 109input_dummy _IN1; 110uniform sampler2D Texture; 111float _TMP21; 112float _x0022; 113float _a0024; 114float _a0026; 115float _TMP27; 116float _a0030; 117float _a0032; 118float _TMP33; 119float _x0034; 120float _a0036; 121float _a0038; 122float _TMP39; 123float _x0040; 124float _a0042; 125float _a0044; 126float _TMP45; 127float _x0046; 128float _a0048; 129float _a0050; 130float _TMP51; 131float _a0054; 132float _a0056; 133float _TMP57; 134float _x0058; 135float _a0060; 136float _a0062; 137float _TMP63; 138float _x0064; 139float _a0066; 140float _a0068; 141COMPAT_VARYING vec4 TEX0; 142 143uniform int FrameDirection; 144uniform int FrameCount; 145uniform COMPAT_PRECISION vec2 OutputSize; 146uniform COMPAT_PRECISION vec2 TextureSize; 147uniform COMPAT_PRECISION vec2 InputSize; 148void main() 149{ 150 vec2 _ps; 151 vec2 _crd[16]; 152 vec3 _pix[16]; 153 vec2 _dx; 154 vec2 _dy; 155 vec2 _pixcoord; 156 vec2 _fract; 157 vec2 _coord0; 158 output_dummy _OUT; 159 vec3 _TMP18; 160 _ps = vec2(9.99000013E-01/TextureSize.x, 9.99000013E-01/TextureSize.y); 161 _dx = vec2(_ps.x, 0.00000000E+00); 162 _dy = vec2(0.00000000E+00, _ps.y); 163 _pixcoord = TEX0.xy/_ps; 164 _fract = fract(_pixcoord); 165 _coord0 = TEX0.xy - _fract*_ps; 166 _crd[(4*0 + 0)] = _coord0 - _ps; 167 _crd[(4*1 + 0)] = _crd[(4*0 + 0)] + _dx; 168 _crd[(4*2 + 0)] = _crd[(4*1 + 0)] + _dx; 169 _crd[(4*0 + 1)] = _crd[(4*0 + 0)] + _dy; 170 _crd[(4*1 + 1)] = _crd[(4*0 + 1)] + _dx; 171 _crd[(4*2 + 1)] = _crd[(4*1 + 1)] + _dx; 172 _crd[(4*3 + 1)] = _crd[(4*2 + 1)] + _dx; 173 _crd[(4*0 + 2)] = _crd[(4*0 + 1)] + _dy; 174 _crd[(4*1 + 2)] = _crd[(4*0 + 2)] + _dx; 175 _crd[(4*2 + 2)] = _crd[(4*1 + 2)] + _dx; 176 _crd[(4*3 + 2)] = _crd[(4*2 + 2)] + _dx; 177 _crd[(4*0 + 3)] = _crd[(4*0 + 2)] + _dy; 178 _crd[(4*1 + 3)] = _crd[(4*0 + 3)] + _dx; 179 _crd[(4*2 + 3)] = _crd[(4*1 + 3)] + _dx; 180 _x0022 = 1.00000000E+00 + _fract.x; 181 if (_x0022 == 0.00000000E+00) { 182 _TMP21 = 4.93480253E+00; 183 } else { 184 _a0024 = _x0022*1.57079637E+00; 185 _TMP12 = sin(_a0024); 186 _a0026 = _x0022*3.14159274E+00; 187 _TMP13 = sin(_a0026); 188 _TMP21 = (_TMP12*_TMP13)/(_x0022*_x0022); 189 } 190 if (_fract.x == 0.00000000E+00) { 191 _TMP27 = 4.93480253E+00; 192 } else { 193 _a0030 = _fract.x*1.57079637E+00; 194 _TMP12 = sin(_a0030); 195 _a0032 = _fract.x*3.14159274E+00; 196 _TMP13 = sin(_a0032); 197 _TMP27 = (_TMP12*_TMP13)/(_fract.x*_fract.x); 198 } 199 _x0034 = 1.00000000E+00 - _fract.x; 200 if (_x0034 == 0.00000000E+00) { 201 _TMP33 = 4.93480253E+00; 202 } else { 203 _a0036 = _x0034*1.57079637E+00; 204 _TMP12 = sin(_a0036); 205 _a0038 = _x0034*3.14159274E+00; 206 _TMP13 = sin(_a0038); 207 _TMP33 = (_TMP12*_TMP13)/(_x0034*_x0034); 208 } 209 _x0040 = 2.00000000E+00 - _fract.x; 210 if (_x0040 == 0.00000000E+00) { 211 _TMP39 = 4.93480253E+00; 212 } else { 213 _a0042 = _x0040*1.57079637E+00; 214 _TMP12 = sin(_a0042); 215 _a0044 = _x0040*3.14159274E+00; 216 _TMP13 = sin(_a0044); 217 _TMP39 = (_TMP12*_TMP13)/(_x0040*_x0040); 218 } 219 _x0046 = 1.00000000E+00 + _fract.y; 220 if (_x0046 == 0.00000000E+00) { 221 _TMP45 = 4.93480253E+00; 222 } else { 223 _a0048 = _x0046*1.57079637E+00; 224 _TMP12 = sin(_a0048); 225 _a0050 = _x0046*3.14159274E+00; 226 _TMP13 = sin(_a0050); 227 _TMP45 = (_TMP12*_TMP13)/(_x0046*_x0046); 228 } 229 if (_fract.y == 0.00000000E+00) { 230 _TMP51 = 4.93480253E+00; 231 } else { 232 _a0054 = _fract.y*1.57079637E+00; 233 _TMP12 = sin(_a0054); 234 _a0056 = _fract.y*3.14159274E+00; 235 _TMP13 = sin(_a0056); 236 _TMP51 = (_TMP12*_TMP13)/(_fract.y*_fract.y); 237 } 238 _x0058 = 1.00000000E+00 - _fract.y; 239 if (_x0058 == 0.00000000E+00) { 240 _TMP57 = 4.93480253E+00; 241 } else { 242 _a0060 = _x0058*1.57079637E+00; 243 _TMP12 = sin(_a0060); 244 _a0062 = _x0058*3.14159274E+00; 245 _TMP13 = sin(_a0062); 246 _TMP57 = (_TMP12*_TMP13)/(_x0058*_x0058); 247 } 248 _x0064 = 2.00000000E+00 - _fract.y; 249 if (_x0064 == 0.00000000E+00) { 250 _TMP63 = 4.93480253E+00; 251 } else { 252 _a0066 = _x0064*1.57079637E+00; 253 _TMP12 = sin(_a0066); 254 _a0068 = _x0064*3.14159274E+00; 255 _TMP13 = sin(_a0068); 256 _TMP63 = (_TMP12*_TMP13)/(_x0064*_x0064); 257 } 258 _TMP0 = COMPAT_TEXTURE(Texture, _crd[(4*1 + 0)]); 259 _TMP1 = COMPAT_TEXTURE(Texture, _crd[(4*2 + 0)]); 260 _TMP2 = COMPAT_TEXTURE(Texture, _crd[(4*0 + 1)]); 261 _TMP3 = COMPAT_TEXTURE(Texture, _crd[(4*1 + 1)]); 262 _TMP4 = COMPAT_TEXTURE(Texture, _crd[(4*2 + 1)]); 263 _TMP5 = COMPAT_TEXTURE(Texture, _crd[(4*3 + 1)]); 264 _TMP6 = COMPAT_TEXTURE(Texture, _crd[(4*0 + 2)]); 265 _TMP7 = COMPAT_TEXTURE(Texture, _crd[(4*1 + 2)]); 266 _TMP8 = COMPAT_TEXTURE(Texture, _crd[(4*2 + 2)]); 267 _TMP9 = COMPAT_TEXTURE(Texture, _crd[(4*3 + 2)]); 268 _TMP10 = COMPAT_TEXTURE(Texture, _crd[(4*1 + 3)]); 269 _TMP11 = COMPAT_TEXTURE(Texture, _crd[(4*2 + 3)]); 270 _pix[(4*1 + 0)] = (_TMP0.xyz*_TMP27 + _TMP1.xyz*_TMP33)*_TMP45; 271 _pix[(4*0 + 1)] = (_TMP2.xyz*_TMP21 + _TMP3.xyz*_TMP27 + _TMP4.xyz*_TMP33 + _TMP5.xyz*_TMP39)*_TMP51; 272 _pix[(4*0 + 2)] = (_TMP6.xyz*_TMP21 + _TMP7.xyz*_TMP27 + _TMP8.xyz*_TMP33 + _TMP9.xyz*_TMP39)*_TMP57; 273 _pix[(4*1 + 3)] = (_TMP10.xyz*_TMP27 + _TMP11.xyz*_TMP33)*_TMP63; 274 _TMP18 = (_pix[(4*1 + 0)] + _pix[(4*0 + 1)] + _pix[(4*0 + 2)] + _pix[(4*1 + 3)])/((_TMP21 + _TMP27 + _TMP33 + _TMP39)*(_TMP45 + _TMP51 + _TMP57 + _TMP63) - (_TMP21 + _TMP39)*(_TMP45 + _TMP63)); 275 _OUT._color = vec4(_TMP18.x, _TMP18.y, _TMP18.z, 1.00000000E+00); 276 FragColor = _OUT._color; 277 return; 278} 279#endif 280