From 67228d328ec92d7c491af7fbfff044620086a859 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 29 May 2013 13:17:27 +0200 Subject: [PATCH] (iOS) Add reference to shaders_glsl - building/compiling will require Nvidia Cg Toolkit installed now (and Python 3) for building the initial GLSL files --- ios/Assets/shaders_glsl/5xBRetro.glsl | 330 ++++++ .../Anti-aliasing/AdvancedAA.glsl | 301 +++++ .../Anti-aliasing/FXAA-Edge detect.glsl | 170 +++ .../shaders_glsl/Anti-aliasing/FXAA.glsl | 210 ++++ .../Anti-aliasing/Reverse-AA.glsl | 313 +++++ .../shaders_glsl/Bicubic/Bicubic-normal.glsl | 332 ++++++ .../shaders_glsl/Bicubic/Bicubic-sharp.glsl | 332 ++++++ .../shaders_glsl/Bicubic/Bicubic-sharper.glsl | 332 ++++++ .../shaders_glsl/Bicubic/bicubic-fast.glsl | 313 +++++ .../Borders/Border-Aspect/border-aspect.glsl | 108 ++ .../border-centered-fbo-scale-1x.glsl | 115 ++ .../border-centered-fbo-scale-2x.glsl | 115 ++ .../border-centered-fbo-scale-4x.glsl | 115 ++ .../border-centered-non-fbo.glsl | 115 ++ .../border-centered-water-fbo-scale-1x.glsl | 198 ++++ .../border-centered-water-fbo-scale-2x.glsl | 198 ++++ .../border-centered-water-fbo-scale-4x.glsl | 198 ++++ .../border-centered-water-non-fbo.glsl | 198 ++++ .../border-left-portrait-fbo-scale-1x.glsl | 115 ++ .../border-left-portrait-fbo-scale-2x.glsl | 115 ++ .../border-left-portrait-fbo-scale-4x.glsl | 115 ++ .../border-left-portrait-non-fbo.glsl | 115 ++ .../shaders_glsl/CRT/4xBR-Hybrid-CRT.glsl | 798 +++++++++++++ .../shaders_glsl/CRT/4xBR-Hybrid-CRTb.glsl | 774 +++++++++++++ .../shaders_glsl/CRT/CRT-ReverseAA.glsl | 285 +++++ ios/Assets/shaders_glsl/CRT/CRT-caligari.glsl | 229 ++++ ios/Assets/shaders_glsl/CRT/CRT-cgwg.glsl | 362 ++++++ .../CRT/PhosphorLUT/bsnes-gamma-ramp.glsl | 87 ++ .../CRT/PhosphorLUT/gaussian-horiz.glsl | 157 +++ .../CRT/PhosphorLUT/gaussian-vert.glsl | 157 +++ .../CRT/PhosphorLUT/phosphorLUT.glslp | 38 + .../CRT/PhosphorLUT/phosphorlut-pass0.glsl | 111 ++ .../CRT/PhosphorLUT/phosphorlut-pass1.glsl | 116 ++ ios/Assets/shaders_glsl/CRT/crt-curved.glsl | 288 +++++ .../shaders_glsl/CRT/crt-highgamma.glsl | 319 ++++++ .../shaders_glsl/CRT/crt-normalgamma.glsl | 313 +++++ ios/Assets/shaders_glsl/CRT/crt.glsl | 314 +++++ .../CRT/phosphor-normalgamma.glsl | 263 +++++ ios/Assets/shaders_glsl/CRT/phosphor.glsl | 238 ++++ .../CRT/tv-highcontrast-HD-1152x672.glsl | 289 +++++ .../shaders_glsl/CRT/tv-highcontrast-HD.glsl | 289 +++++ ios/Assets/shaders_glsl/Eagle/superEagle.glsl | 468 ++++++++ ios/Assets/shaders_glsl/HQx/hq2x.glsl | 375 ++++++ ios/Assets/shaders_glsl/HQx/hq4x.glsl | 484 ++++++++ ios/Assets/shaders_glsl/Handheld/LCD3x.glsl | 121 ++ ios/Assets/shaders_glsl/Handheld/dot.glsl | 349 ++++++ .../Handheld/gameboy_shader/gb_shader.glslp | 33 + .../shader_files/gb_pass_0.glsl | 279 +++++ .../shader_files/gb_pass_1.glsl | 210 ++++ .../shader_files/gb_pass_2.glsl | 173 +++ .../shader_files/gb_pass_3.glsl | 173 +++ .../shader_files/gb_pass_4.glsl | 145 +++ .../lcd_shader/backup/lcd_pass_2.glsl | 195 ++++ .../lcd_shader/backup/lcd_pass_3.glsl | 97 ++ .../lcd_shader/backup/lcd_pass_4.glsl | 85 ++ .../lcd_shader/backup/lcd_pass_5.glsl | 85 ++ .../lcd_shader/backup/lcd_shader.glslp | 32 + .../lcd_shader/backup_2/lcd_pass_0.glsl | 216 ++++ .../lcd_shader/backup_2/lcd_pass_1.glsl | 153 +++ .../lcd_shader/backup_2/lcd_pass_2.glsl | 172 +++ .../lcd_shader/backup_2/lcd_pass_3.glsl | 101 ++ .../lcd_shader/backup_2/lcd_pass_4.glsl | 85 ++ .../lcd_shader/backup_2/lcd_pass_5.glsl | 85 ++ .../lcd_shader/backup_2/lcd_shader.glslp | 32 + .../lcd_shader/backup_3/lcd_pass_0.glsl | 216 ++++ .../lcd_shader/backup_3/lcd_pass_1.glsl | 153 +++ .../lcd_shader/backup_3/lcd_pass_2.glsl | 100 ++ .../lcd_shader/backup_3/lcd_pass_3.glsl | 188 +++ .../lcd_shader/backup_3/lcd_shader.glslp | 22 + .../Handheld/lcd_shader/lcd_pass_0.glsl | 226 ++++ .../Handheld/lcd_shader/lcd_pass_1.glsl | 163 +++ .../Handheld/lcd_shader/lcd_pass_2.glsl | 127 +++ .../Handheld/lcd_shader/lcd_pass_3.glsl | 194 ++++ .../Handheld/lcd_shader/lcd_shader.glslp | 26 + .../shaders_glsl/Lanczos/Lanczos12.glsl | 306 +++++ .../shaders_glsl/Lanczos/Lanczos16.glsl | 328 ++++++ ios/Assets/shaders_glsl/Lanczos/Lanczos4.glsl | 263 +++++ ios/Assets/shaders_glsl/Lanczos/Lanczos6.glsl | 384 +++++++ ios/Assets/shaders_glsl/Misc/MCGreen.glsl | 115 ++ ios/Assets/shaders_glsl/Misc/Nohalo.glsl | 354 ++++++ .../shaders_glsl/Motionblur/Braid-rewind.glsl | 206 ++++ .../Motionblur/Motionblur-blue.glsl | 197 ++++ .../Motionblur/Motionblur-simple.glsl | 199 ++++ ios/Assets/shaders_glsl/Mudlord/bloom.glsl | 209 ++++ .../shaders_glsl/Mudlord/blur-light.glsl | 136 +++ .../shaders_glsl/Mudlord/blur-lighter.glsl | 136 +++ ios/Assets/shaders_glsl/Mudlord/blur.glsl | 199 ++++ ios/Assets/shaders_glsl/Mudlord/emboss.glsl | 127 +++ .../shaders_glsl/Mudlord/mud-mudlord.glsl | 116 ++ .../shaders_glsl/Mudlord/noise-mudlord.glsl | 117 ++ .../Mudlord/oldtvshader-configurable.glsl | 160 +++ .../Mudlord/oldtvshader-variant.glsl | 166 +++ .../Mudlord/oldtvshader-variant2.glsl | 140 +++ .../Mudlord/oldtvshader-variant3.glsl | 137 +++ .../Mudlord/oldtvshader-variant4.glsl | 140 +++ .../shaders_glsl/Mudlord/oldtvshader.glsl | 166 +++ .../shaders_glsl/Mudlord/sharpen-light.glsl | 112 ++ .../shaders_glsl/Mudlord/sharpen-light2.glsl | 112 ++ .../shaders_glsl/Mudlord/sharpen-lighter.glsl | 112 ++ .../shaders_glsl/Mudlord/sharpen-medium.glsl | 112 ++ ios/Assets/shaders_glsl/Mudlord/sharpen.glsl | 112 ++ ios/Assets/shaders_glsl/Mudlord/toon.glsl | 187 +++ .../Mudlord/waterpaint-mudlord.glsl | 261 +++++ .../shaders_glsl/NTSC/ntsc-decimate.glslp | 32 + ios/Assets/shaders_glsl/NTSC/ntsc-pass1.glsl | 117 ++ ios/Assets/shaders_glsl/NTSC/ntsc-pass2.glsl | 226 ++++ ios/Assets/shaders_glsl/NTSC/ntsc-pass3.glsl | 206 ++++ ios/Assets/shaders_glsl/NTSC/ntsc-pass4.glsl | 190 +++ ios/Assets/shaders_glsl/NTSC/ntsc-pass5.glsl | 70 ++ ios/Assets/shaders_glsl/NTSC/ntsc.glslp | 31 + .../shaders_glsl/Neon/neon-variation-1.glsl | 169 +++ .../shaders_glsl/Quad/quad_interp-HD-768.glsl | 186 +++ .../shaders_glsl/Quad/quad_interp-HD.glsl | 186 +++ ios/Assets/shaders_glsl/Quad/quad_interp.glsl | 191 ++++ ios/Assets/shaders_glsl/Quilez.glsl | 111 ++ ios/Assets/shaders_glsl/SABR/SABR-v3.0.glsl | 483 ++++++++ ios/Assets/shaders_glsl/SABR/sabr-v1.1.glsl | 542 +++++++++ .../shaders_glsl/Scalex/scale2xplus.glsl | 160 +++ ios/Assets/shaders_glsl/Waterpaint/water.glsl | 178 +++ .../Waterpaint/waterpaint-highcontrast.glsl | 202 ++++ .../Waterpaint/waterpaint-normalcontrast.glsl | 210 ++++ ios/Assets/shaders_glsl/auto-box/box-max.glsl | 117 ++ .../auto-box/sharpen-lighter-box.glsl | 119 ++ ios/Assets/shaders_glsl/bead.glsl | 148 +++ ios/Assets/shaders_glsl/blinky.glsl | 232 ++++ .../shaders_glsl/cgp/2xBR-ReverseAA.glslp | 11 + .../shaders_glsl/cgp/4xBR-v3.7c-dark.glslp | 11 + .../shaders_glsl/cgp/CRT-ReverseAA-ddt.glslp | 11 + .../shaders_glsl/cgp/xbr-hybrid-bicubic.glslp | 11 + .../shaders_glsl/cgp/xbr-hybrid-ddt.glslp | 11 + .../shaders_glsl/cgp/xbr-hybrid-lanczos.glslp | 11 + .../cgp/xbr-hybrid-sharp-lanczos.glslp | 11 + ios/Assets/shaders_glsl/ddt/ddt-extended.glsl | 492 ++++++++ .../shaders_glsl/ddt/ddt-waterpaint.glsl | 307 +++++ ios/Assets/shaders_glsl/ddt/ddt.glsl | 232 ++++ ios/Assets/shaders_glsl/dithering/mdapt.glslp | 11 + .../shaders_glsl/dithering/mdapt_pass1.glsl | 168 +++ .../shaders_glsl/dithering/mdapt_pass2.glsl | 164 +++ ios/Assets/shaders_glsl/pixellate.glsl | 156 +++ ios/Assets/shaders_glsl/scanline.glsl | 123 ++ ios/Assets/shaders_glsl/stock.glsl | 101 ++ .../xBR-Hybrid/2xBR-Hybrid-v2-gamma.glsl | 700 ++++++++++++ .../xBR-Hybrid/2xBR-Hybrid-v2.glsl | 669 +++++++++++ .../xBR-Hybrid/2xBR-Hybrid-v4-gamma.glsl | 745 ++++++++++++ .../xBR-Hybrid/2xBR-Hybrid-v4.glsl | 698 ++++++++++++ .../xBR-Hybrid/2xBR-Hybrid-v4b.glsl | 674 +++++++++++ .../xBR-Hybrid/2xBR-Hybrid-v5-gamma.glsl | 712 ++++++++++++ .../xBR-Hybrid/2xbr-hybrid-sharp.glsl | 668 +++++++++++ .../shaders_glsl/xBR-Hybrid/2xbr-hybrid.glsl | 676 +++++++++++ ios/Assets/shaders_glsl/xBR/2xBR-v2.2.glsl | 561 +++++++++ .../shaders_glsl/xBR/2xBR-v3.7c-dark.glsl | 532 +++++++++ .../shaders_glsl/xBR/2xBR-v3.7c-light.glsl | 532 +++++++++ ios/Assets/shaders_glsl/xBR/2xBR-v3.7c.glsl | 583 ++++++++++ ios/Assets/shaders_glsl/xBR/2xBR-v3.8a.glsl | 556 +++++++++ ios/Assets/shaders_glsl/xBR/2xBR-v3.8b.glsl | 598 ++++++++++ ios/Assets/shaders_glsl/xBR/2xBR-v3.8c.glsl | 622 ++++++++++ ios/Assets/shaders_glsl/xBR/2xBR.glsl | 226 ++++ ios/Assets/shaders_glsl/xBR/3xBR-v3.8a.glsl | 556 +++++++++ ios/Assets/shaders_glsl/xBR/3xBR-v3.8b.glsl | 598 ++++++++++ ios/Assets/shaders_glsl/xBR/3xBR-v3.8c.glsl | 622 ++++++++++ ios/Assets/shaders_glsl/xBR/3xBR.glsl | 277 +++++ ios/Assets/shaders_glsl/xBR/4xBR-v1.1.glsl | 368 ++++++ ios/Assets/shaders_glsl/xBR/4xBR-v3.8a.glsl | 556 +++++++++ ios/Assets/shaders_glsl/xBR/4xBR-v3.8b.glsl | 598 ++++++++++ ios/Assets/shaders_glsl/xBR/4xBR-v3.8c.glsl | 622 ++++++++++ ios/Assets/shaders_glsl/xBR/4xBR-v3.9.glsl | 653 +++++++++++ ios/Assets/shaders_glsl/xBR/4xBR-v4.0.glsl | 668 +++++++++++ ios/Assets/shaders_glsl/xBR/4xBR.glsl | 319 ++++++ ios/Assets/shaders_glsl/xBR/5xBR-v1.1.glsl | 271 +++++ ios/Assets/shaders_glsl/xBR/5xBR-v3.7a.glsl | 513 +++++++++ ios/Assets/shaders_glsl/xBR/5xBR-v3.7b.glsl | 555 +++++++++ .../shaders_glsl/xBR/5xBR-v3.7c-lq.glsl | 396 +++++++ ios/Assets/shaders_glsl/xBR/5xBR-v3.7c.glsl | 579 ++++++++++ .../shaders_glsl/xBR/5xBR-v3.7c_plus_CRT.glsl | 571 ++++++++++ ios/Assets/shaders_glsl/xBR/5xBR-v3.7d.glsl | 570 +++++++++ ios/Assets/shaders_glsl/xBR/5xBR-v3.8a.glsl | 556 +++++++++ ios/Assets/shaders_glsl/xBR/5xBR-v3.8b.glsl | 598 ++++++++++ ios/Assets/shaders_glsl/xBR/5xBR-v3.8c.glsl | 622 ++++++++++ .../shaders_glsl/xBR/5xBR-v4.0-NoBlend.glsl | 602 ++++++++++ ios/Assets/shaders_glsl/xBR/5xBR.glsl | 376 ++++++ .../shaders_glsl/xBR/Legacy/2xBR-v2.1.glsl | 532 +++++++++ .../shaders_glsl/xBR/Legacy/2xBR-v2.glsl | 300 +++++ .../shaders_glsl/xBR/Legacy/2xBR-v3.5a.glsl | 1014 +++++++++++++++++ .../shaders_glsl/xBR/Legacy/3xBR-v2.1.glsl | 481 ++++++++ .../shaders_glsl/xBR/Legacy/3xBR-v2.glsl | 439 +++++++ .../xBR/Legacy/4xBR-v3.5_plus_CRT.glsl | 967 ++++++++++++++++ .../shaders_glsl/xBR/Legacy/5xBR-v2.1.glsl | 301 +++++ .../shaders_glsl/xBR/Legacy/5xBR-v2.glsl | 257 +++++ .../shaders_glsl/xBR/Legacy/5xBR-v3.2.glsl | 839 ++++++++++++++ .../shaders_glsl/xBR/Legacy/5xBR-v3.3.glsl | 923 +++++++++++++++ .../shaders_glsl/xBR/Legacy/5xBR-v3.5.glsl | 953 ++++++++++++++++ .../xBR/Legacy/5xBR-v3.5_plus_CRT.glsl | 1004 ++++++++++++++++ .../shaders_glsl/xBR/Legacy/5xBR-v3.5a.glsl | 953 ++++++++++++++++ .../shaders_glsl/xBR/Legacy/5xBR-v3.6a.glsl | 462 ++++++++ .../shaders_glsl/xBR/Legacy/5xBR-v3.6b.glsl | 462 ++++++++ .../shaders_glsl/xBR/Legacy/5xBR-v3.6c.glsl | 462 ++++++++ .../shaders_glsl/xBR/hlsl/5xBR-v3.7a.glsl | 639 +++++++++++ .../shaders_glsl/xBR/xBR-v3.8a-gamma.glsl | 599 ++++++++++ .../shaders_glsl/xBR/xBR-v3.8b-gamma.glsl | 641 +++++++++++ .../shaders_glsl/xBR/xBR-v3.8c-gamma.glsl | 665 +++++++++++ ios/Assets/shaders_glsl/xSaI/super2xSal.glsl | 464 ++++++++ ios/Assets/shaders_glsl/xSaL/2xSaL.glsl | 156 +++ .../xSoft/4xSoft-HD-1152x672.glsl | 311 +++++ .../xSoft/4xSoft-HD-1344x752.glsl | 311 +++++ .../xSoft/4xSoft-HD-1440x792.glsl | 311 +++++ .../xSoft/4xSoft-HD-1536x832.glsl | 311 +++++ .../shaders_glsl/xSoft/4xSoft-HD-768.glsl | 311 +++++ .../shaders_glsl/xSoft/4xSoft-HD-960x592.glsl | 311 +++++ .../xSoft/4xSoft-HD-variation-1-1344x752.glsl | 311 +++++ .../xSoft/4xSoft-HD-variation-1-960x592.glsl | 311 +++++ .../xSoft/4xSoft-HD-variation-1.glsl | 311 +++++ ios/Assets/shaders_glsl/xSoft/4xSoft-HD.glsl | 311 +++++ .../xSoft/4xSoft-variation-1.glsl | 318 ++++++ ios/Assets/shaders_glsl/xSoft/4xSoft.glsl | 316 +++++ ios/RetroArch.xcodeproj/project.pbxproj | 12 +- ios/RetroArch/settings/settings.m | 2 +- 216 files changed, 65753 insertions(+), 5 deletions(-) create mode 100644 ios/Assets/shaders_glsl/5xBRetro.glsl create mode 100644 ios/Assets/shaders_glsl/Anti-aliasing/AdvancedAA.glsl create mode 100644 ios/Assets/shaders_glsl/Anti-aliasing/FXAA-Edge detect.glsl create mode 100644 ios/Assets/shaders_glsl/Anti-aliasing/FXAA.glsl create mode 100644 ios/Assets/shaders_glsl/Anti-aliasing/Reverse-AA.glsl create mode 100644 ios/Assets/shaders_glsl/Bicubic/Bicubic-normal.glsl create mode 100644 ios/Assets/shaders_glsl/Bicubic/Bicubic-sharp.glsl create mode 100644 ios/Assets/shaders_glsl/Bicubic/Bicubic-sharper.glsl create mode 100644 ios/Assets/shaders_glsl/Bicubic/bicubic-fast.glsl create mode 100644 ios/Assets/shaders_glsl/Borders/Border-Aspect/border-aspect.glsl create mode 100644 ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-fbo-scale-1x.glsl create mode 100644 ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-fbo-scale-2x.glsl create mode 100644 ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-fbo-scale-4x.glsl create mode 100644 ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-non-fbo.glsl create mode 100644 ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-fbo-scale-1x.glsl create mode 100644 ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-fbo-scale-2x.glsl create mode 100644 ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-fbo-scale-4x.glsl create mode 100644 ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-non-fbo.glsl create mode 100644 ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-fbo-scale-1x.glsl create mode 100644 ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-fbo-scale-2x.glsl create mode 100644 ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-fbo-scale-4x.glsl create mode 100644 ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-non-fbo.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/4xBR-Hybrid-CRT.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/4xBR-Hybrid-CRTb.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/CRT-ReverseAA.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/CRT-caligari.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/CRT-cgwg.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/PhosphorLUT/bsnes-gamma-ramp.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/PhosphorLUT/gaussian-horiz.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/PhosphorLUT/gaussian-vert.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/PhosphorLUT/phosphorLUT.glslp create mode 100644 ios/Assets/shaders_glsl/CRT/PhosphorLUT/phosphorlut-pass0.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/PhosphorLUT/phosphorlut-pass1.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/crt-curved.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/crt-highgamma.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/crt-normalgamma.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/crt.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/phosphor-normalgamma.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/phosphor.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/tv-highcontrast-HD-1152x672.glsl create mode 100644 ios/Assets/shaders_glsl/CRT/tv-highcontrast-HD.glsl create mode 100644 ios/Assets/shaders_glsl/Eagle/superEagle.glsl create mode 100644 ios/Assets/shaders_glsl/HQx/hq2x.glsl create mode 100644 ios/Assets/shaders_glsl/HQx/hq4x.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/LCD3x.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/dot.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/gameboy_shader/gb_shader.glslp create mode 100644 ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_0.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_1.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_2.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_3.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_4.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_2.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_3.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_4.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_5.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_shader.glslp create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_0.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_1.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_2.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_3.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_4.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_5.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_shader.glslp create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_0.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_1.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_2.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_3.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_shader.glslp create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_0.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_1.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_2.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_3.glsl create mode 100644 ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_shader.glslp create mode 100644 ios/Assets/shaders_glsl/Lanczos/Lanczos12.glsl create mode 100644 ios/Assets/shaders_glsl/Lanczos/Lanczos16.glsl create mode 100644 ios/Assets/shaders_glsl/Lanczos/Lanczos4.glsl create mode 100644 ios/Assets/shaders_glsl/Lanczos/Lanczos6.glsl create mode 100644 ios/Assets/shaders_glsl/Misc/MCGreen.glsl create mode 100644 ios/Assets/shaders_glsl/Misc/Nohalo.glsl create mode 100644 ios/Assets/shaders_glsl/Motionblur/Braid-rewind.glsl create mode 100644 ios/Assets/shaders_glsl/Motionblur/Motionblur-blue.glsl create mode 100644 ios/Assets/shaders_glsl/Motionblur/Motionblur-simple.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/bloom.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/blur-light.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/blur-lighter.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/blur.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/emboss.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/mud-mudlord.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/noise-mudlord.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/oldtvshader-configurable.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant2.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant3.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant4.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/oldtvshader.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/sharpen-light.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/sharpen-light2.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/sharpen-lighter.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/sharpen-medium.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/sharpen.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/toon.glsl create mode 100644 ios/Assets/shaders_glsl/Mudlord/waterpaint-mudlord.glsl create mode 100644 ios/Assets/shaders_glsl/NTSC/ntsc-decimate.glslp create mode 100644 ios/Assets/shaders_glsl/NTSC/ntsc-pass1.glsl create mode 100644 ios/Assets/shaders_glsl/NTSC/ntsc-pass2.glsl create mode 100644 ios/Assets/shaders_glsl/NTSC/ntsc-pass3.glsl create mode 100644 ios/Assets/shaders_glsl/NTSC/ntsc-pass4.glsl create mode 100644 ios/Assets/shaders_glsl/NTSC/ntsc-pass5.glsl create mode 100644 ios/Assets/shaders_glsl/NTSC/ntsc.glslp create mode 100644 ios/Assets/shaders_glsl/Neon/neon-variation-1.glsl create mode 100644 ios/Assets/shaders_glsl/Quad/quad_interp-HD-768.glsl create mode 100644 ios/Assets/shaders_glsl/Quad/quad_interp-HD.glsl create mode 100644 ios/Assets/shaders_glsl/Quad/quad_interp.glsl create mode 100644 ios/Assets/shaders_glsl/Quilez.glsl create mode 100644 ios/Assets/shaders_glsl/SABR/SABR-v3.0.glsl create mode 100644 ios/Assets/shaders_glsl/SABR/sabr-v1.1.glsl create mode 100644 ios/Assets/shaders_glsl/Scalex/scale2xplus.glsl create mode 100644 ios/Assets/shaders_glsl/Waterpaint/water.glsl create mode 100644 ios/Assets/shaders_glsl/Waterpaint/waterpaint-highcontrast.glsl create mode 100644 ios/Assets/shaders_glsl/Waterpaint/waterpaint-normalcontrast.glsl create mode 100644 ios/Assets/shaders_glsl/auto-box/box-max.glsl create mode 100644 ios/Assets/shaders_glsl/auto-box/sharpen-lighter-box.glsl create mode 100644 ios/Assets/shaders_glsl/bead.glsl create mode 100644 ios/Assets/shaders_glsl/blinky.glsl create mode 100644 ios/Assets/shaders_glsl/cgp/2xBR-ReverseAA.glslp create mode 100644 ios/Assets/shaders_glsl/cgp/4xBR-v3.7c-dark.glslp create mode 100644 ios/Assets/shaders_glsl/cgp/CRT-ReverseAA-ddt.glslp create mode 100644 ios/Assets/shaders_glsl/cgp/xbr-hybrid-bicubic.glslp create mode 100644 ios/Assets/shaders_glsl/cgp/xbr-hybrid-ddt.glslp create mode 100644 ios/Assets/shaders_glsl/cgp/xbr-hybrid-lanczos.glslp create mode 100644 ios/Assets/shaders_glsl/cgp/xbr-hybrid-sharp-lanczos.glslp create mode 100644 ios/Assets/shaders_glsl/ddt/ddt-extended.glsl create mode 100644 ios/Assets/shaders_glsl/ddt/ddt-waterpaint.glsl create mode 100644 ios/Assets/shaders_glsl/ddt/ddt.glsl create mode 100644 ios/Assets/shaders_glsl/dithering/mdapt.glslp create mode 100644 ios/Assets/shaders_glsl/dithering/mdapt_pass1.glsl create mode 100644 ios/Assets/shaders_glsl/dithering/mdapt_pass2.glsl create mode 100644 ios/Assets/shaders_glsl/pixellate.glsl create mode 100644 ios/Assets/shaders_glsl/scanline.glsl create mode 100644 ios/Assets/shaders_glsl/stock.glsl create mode 100644 ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v2-gamma.glsl create mode 100644 ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v2.glsl create mode 100644 ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v4-gamma.glsl create mode 100644 ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v4.glsl create mode 100644 ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v4b.glsl create mode 100644 ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v5-gamma.glsl create mode 100644 ios/Assets/shaders_glsl/xBR-Hybrid/2xbr-hybrid-sharp.glsl create mode 100644 ios/Assets/shaders_glsl/xBR-Hybrid/2xbr-hybrid.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/2xBR-v2.2.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/2xBR-v3.7c-dark.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/2xBR-v3.7c-light.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/2xBR-v3.7c.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/2xBR-v3.8a.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/2xBR-v3.8b.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/2xBR-v3.8c.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/2xBR.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/3xBR-v3.8a.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/3xBR-v3.8b.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/3xBR-v3.8c.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/3xBR.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/4xBR-v1.1.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/4xBR-v3.8a.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/4xBR-v3.8b.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/4xBR-v3.8c.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/4xBR-v3.9.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/4xBR-v4.0.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/4xBR.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/5xBR-v1.1.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/5xBR-v3.7a.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/5xBR-v3.7b.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/5xBR-v3.7c-lq.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/5xBR-v3.7c.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/5xBR-v3.7c_plus_CRT.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/5xBR-v3.7d.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/5xBR-v3.8a.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/5xBR-v3.8b.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/5xBR-v3.8c.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/5xBR-v4.0-NoBlend.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/5xBR.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/2xBR-v2.1.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/2xBR-v2.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/2xBR-v3.5a.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/3xBR-v2.1.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/3xBR-v2.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/4xBR-v3.5_plus_CRT.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v2.1.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v2.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.2.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.3.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.5.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.5_plus_CRT.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.5a.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.6a.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.6b.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.6c.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/hlsl/5xBR-v3.7a.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/xBR-v3.8a-gamma.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/xBR-v3.8b-gamma.glsl create mode 100644 ios/Assets/shaders_glsl/xBR/xBR-v3.8c-gamma.glsl create mode 100644 ios/Assets/shaders_glsl/xSaI/super2xSal.glsl create mode 100644 ios/Assets/shaders_glsl/xSaL/2xSaL.glsl create mode 100644 ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1152x672.glsl create mode 100644 ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1344x752.glsl create mode 100644 ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1440x792.glsl create mode 100644 ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1536x832.glsl create mode 100644 ios/Assets/shaders_glsl/xSoft/4xSoft-HD-768.glsl create mode 100644 ios/Assets/shaders_glsl/xSoft/4xSoft-HD-960x592.glsl create mode 100644 ios/Assets/shaders_glsl/xSoft/4xSoft-HD-variation-1-1344x752.glsl create mode 100644 ios/Assets/shaders_glsl/xSoft/4xSoft-HD-variation-1-960x592.glsl create mode 100644 ios/Assets/shaders_glsl/xSoft/4xSoft-HD-variation-1.glsl create mode 100644 ios/Assets/shaders_glsl/xSoft/4xSoft-HD.glsl create mode 100644 ios/Assets/shaders_glsl/xSoft/4xSoft-variation-1.glsl create mode 100644 ios/Assets/shaders_glsl/xSoft/4xSoft.glsl diff --git a/ios/Assets/shaders_glsl/5xBRetro.glsl b/ios/Assets/shaders_glsl/5xBRetro.glsl new file mode 100644 index 0000000000..27d3f08cdb --- /dev/null +++ b/ios/Assets/shaders_glsl/5xBRetro.glsl @@ -0,0 +1,330 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(0.00000000E+00, -_ps.y); + _OUT._t1.zw = vec2(-_ps.x, 0.00000000E+00); + _ret_0._position1 = _r0006; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP18; +vec3 _TMP19; +float _TMP15; +float _TMP14; +float _TMP13; +float _TMP20; +float _TMP26; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec2 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0034; +vec2 _val0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec2 _c0058; +vec2 _c0060; +float _TMP113; +float _a0116; +float _TMP117; +float _a0120; +float _TMP121; +float _a0124; +float _TMP125; +float _a0128; +float _TMP129; +float _a0132; +float _TMP135; +float _a0138; +float _TMP139; +float _a0142; +float _TMP143; +float _a0146; +float _TMP147; +float _a0150; +float _TMP151; +float _a0154; +float _TMP155; +float _a0158; +float _TMP159; +float _a0162; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bool _edr; + bool _px; + bool _interp_restriction_lv1; + bool _nc; + bool _fx; + vec2 _pos; + vec2 _dir; + vec2 _g1; + vec2 _g2; + vec3 _B1; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _F4; + vec3 _I4; + vec3 _H5; + vec3 _I5; + float _b1; + float _c1; + float _d1; + float _e1; + float _f1; + float _g3; + float _h1; + float _i; + float _i4; + float _i5; + float _h5; + float _f4; + _x0034 = TEX0.xy*TextureSize; + _TMP0 = fract(_x0034); + _pos = _TMP0 - vec2( 5.00000000E-01, 5.00000000E-01); + _val0036 = vec2(float((_pos.x > 0.00000000E+00)), float((_pos.y > 0.00000000E+00))); + _dir = _val0036 - vec2(float((_pos.x < 0.00000000E+00)), float((_pos.y < 0.00000000E+00))); + _g1 = _dir*vec2(float(TEX1.x), float(TEX1.y)); + _g2 = _dir*vec2(float(TEX1.z), float(TEX1.w)); + _c0038 = TEX0.xy + _g1; + _TMP1 = texture2D(Texture, _c0038); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0040 = (TEX0.xy + _g1) - _g2; + _TMP2 = texture2D(Texture, _c0040); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0042 = TEX0.xy + _g2; + _TMP3 = texture2D(Texture, _c0042); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0046 = TEX0.xy - _g2; + _TMP5 = texture2D(Texture, _c0046); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0048 = (TEX0.xy - _g1) + _g2; + _TMP6 = texture2D(Texture, _c0048); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0050 = TEX0.xy - _g1; + _TMP7 = texture2D(Texture, _c0050); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0052 = (TEX0.xy - _g1) - _g2; + _TMP8 = texture2D(Texture, _c0052); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0054 = TEX0.xy - 2.00000000E+00*_g2; + _TMP9 = texture2D(Texture, _c0054); + _F4 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0056 = (TEX0.xy - _g1) - 2.00000000E+00*_g2; + _TMP10 = texture2D(Texture, _c0056); + _I4 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0058 = TEX0.xy - 2.00000000E+00*_g1; + _TMP11 = texture2D(Texture, _c0058); + _H5 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0060 = (TEX0.xy - 2.00000000E+00*_g1) - _g2; + _TMP12 = texture2D(Texture, _c0060); + _I5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP26 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP20 = float(_TMP26); + _b1 = float(_TMP20); + _TMP26 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP20 = float(_TMP26); + _c1 = float(_TMP20); + _TMP26 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP20 = float(_TMP26); + _d1 = float(_TMP20); + _TMP26 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP20 = float(_TMP26); + _e1 = float(_TMP20); + _TMP26 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP20 = float(_TMP26); + _f1 = float(_TMP20); + _TMP26 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP20 = float(_TMP26); + _g3 = float(_TMP20); + _TMP26 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP20 = float(_TMP26); + _h1 = float(_TMP20); + _TMP26 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP20 = float(_TMP26); + _i = float(_TMP20); + _TMP26 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP20 = float(_TMP26); + _i4 = float(_TMP20); + _TMP26 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP20 = float(_TMP26); + _i5 = float(_TMP20); + _TMP26 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP20 = float(_TMP26); + _h5 = float(_TMP20); + _TMP26 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP20 = float(_TMP26); + _f4 = float(_TMP20); + _TMP13 = dot(_dir, _pos); + _fx = _TMP13 > 7.50000000E-01; + _interp_restriction_lv1 = _e1 != _f1 && _e1 != _h1; + _a0116 = _e1 - _c1; + _TMP113 = abs(_a0116); + _a0120 = _e1 - _g3; + _TMP117 = abs(_a0120); + _a0124 = _i - _h5; + _TMP121 = abs(_a0124); + _a0128 = _i - _f4; + _TMP125 = abs(_a0128); + _a0132 = _h1 - _f1; + _TMP129 = abs(_a0132); + _TMP14 = _TMP113 + _TMP117 + _TMP121 + _TMP125 + 4.00000000E+00*_TMP129; + _a0138 = _h1 - _d1; + _TMP135 = abs(_a0138); + _a0142 = _h1 - _i5; + _TMP139 = abs(_a0142); + _a0146 = _f1 - _i4; + _TMP143 = abs(_a0146); + _a0150 = _f1 - _b1; + _TMP147 = abs(_a0150); + _a0154 = _e1 - _i; + _TMP151 = abs(_a0154); + _TMP15 = _TMP135 + _TMP139 + _TMP143 + _TMP147 + 4.00000000E+00*_TMP151; + _edr = _TMP14 < _TMP15 && _interp_restriction_lv1; + _nc = _edr && _fx; + _a0158 = _e1 - _f1; + _TMP155 = abs(_a0158); + _a0162 = _e1 - _h1; + _TMP159 = abs(_a0162); + _px = _TMP155 <= _TMP159; + if (_nc) { + if (_px) { + _TMP19 = _F; + } else { + _TMP19 = _H; + } + _TMP18 = _TMP19; + } else { + _TMP18 = _E; + } + _ret_0 = vec4(_TMP18.x, _TMP18.y, _TMP18.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Anti-aliasing/AdvancedAA.glsl b/ios/Assets/shaders_glsl/Anti-aliasing/AdvancedAA.glsl new file mode 100644 index 0000000000..95ef026d0d --- /dev/null +++ b/ios/Assets/shaders_glsl/Anti-aliasing/AdvancedAA.glsl @@ -0,0 +1,301 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t41; +varying vec4 _t31; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _CT; +varying vec4 _position2; +varying vec4 _color2; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; +}; +struct output_dummy { + vec4 _color2; +}; +struct VERTEX_INPUT { + vec4 _position2; + vec2 _CT; + vec4 _t11; + vec4 _t21; + vec4 _t31; + vec4 _t41; +}; +VERTEX_OUTPUT _ret_0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + VERTEX_OUTPUT _OUT; + vec2 _ps; + float _dx; + float _dy; + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _dx = _ps.x*5.00000000E-01; + _dy = _ps.y*5.00000000E-01; + _OUT._t1.xy = TexCoord.xy + vec2(-_dx, 0.00000000E+00); + _OUT._t2.xy = TexCoord.xy + vec2(_dx, 0.00000000E+00); + _OUT._t3.xy = TexCoord.xy + vec2(0.00000000E+00, -_dy); + _OUT._t4.xy = TexCoord.xy + vec2(0.00000000E+00, _dy); + _OUT._t1.zw = TexCoord.xy + vec2(-_dx, -_dy); + _OUT._t2.zw = TexCoord.xy + vec2(-_dx, _dy); + _OUT._t3.zw = TexCoord.xy + vec2(_dx, -_dy); + _OUT._t4.zw = TexCoord.xy + vec2(_dx, _dy); + _ret_0._position1 = _r0004; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + _ret_0._t2 = _OUT._t2; + _ret_0._t3 = _OUT._t3; + _ret_0._t4 = _OUT._t4; + gl_Position = _r0004; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + TEX2 = _OUT._t2; + TEX3 = _OUT._t3; + TEX4 = _OUT._t4; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _CT; +varying vec4 _color1; +varying vec4 _t41; +varying vec4 _t31; +varying vec4 _t22; +varying vec4 _t12; +varying vec2 _texCoord; +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _color; + vec2 _texCoord; + vec4 _t12; + vec4 _t22; + vec4 _t31; + vec4 _t41; +}; +struct output_dummy { + vec4 _color1; +}; +struct VERTEX_INPUT { + vec2 _CT; + vec4 _t11; + vec4 _t21; + vec4 _t3; + vec4 _t4; +}; +float _TMP20; +vec3 _TMP19; +float _TMP18; +vec3 _TMP17; +float _TMP16; +vec3 _TMP15; +float _TMP22; +vec3 _TMP21; +float _TMP14; +vec3 _TMP13; +float _TMP12; +vec3 _TMP11; +float _TMP10; +vec3 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec3 _a0047; +vec3 _a0051; +vec3 _a0055; +vec3 _a0059; +vec3 _a0063; +vec3 _b0065; +vec3 _a0067; +vec3 _b0069; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +uniform vec3 _dt; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + vec3 _c00; + vec3 _c10; + vec3 _c20; + vec3 _c01; + vec3 _c11; + vec3 _c21; + vec3 _c02; + vec3 _c12; + vec3 _c22; + float _d1; + float _d2; + float _hl; + float _vl; + float _k1; + float _k2; + vec3 _t1; + vec3 _t2; + vec3 _TMP27; + _TMP0 = texture2D(Texture, TEX1.zw); + _c00 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, TEX3.xy); + _c10 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, TEX3.zw); + _c20 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, TEX1.xy); + _c01 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, TEX0.xy); + _c11 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, TEX2.xy); + _c21 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, TEX2.zw); + _c02 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, TEX4.xy); + _c12 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, TEX4.zw); + _c22 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _a0047 = _c00 - _c22; + _TMP21 = abs(vec3(float(_a0047.x), float(_a0047.y), float(_a0047.z))); + _TMP9 = vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)); + _TMP22 = dot(vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)), vec3(float(_dt.x), float(_dt.y), float(_dt.z))); + _TMP10 = float(_TMP22); + _d1 = float((_TMP10 + 1.00016594E-04)); + _a0051 = _c20 - _c02; + _TMP21 = abs(vec3(float(_a0051.x), float(_a0051.y), float(_a0051.z))); + _TMP11 = vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)); + _TMP22 = dot(vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)), vec3(float(_dt.x), float(_dt.y), float(_dt.z))); + _TMP12 = float(_TMP22); + _d2 = float((_TMP12 + 1.00016594E-04)); + _a0055 = _c01 - _c21; + _TMP21 = abs(vec3(float(_a0055.x), float(_a0055.y), float(_a0055.z))); + _TMP13 = vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)); + _TMP22 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3(float(_dt.x), float(_dt.y), float(_dt.z))); + _TMP14 = float(_TMP22); + _hl = float((_TMP14 + 1.00016594E-04)); + _a0059 = _c10 - _c12; + _TMP21 = abs(vec3(float(_a0059.x), float(_a0059.y), float(_a0059.z))); + _TMP15 = vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)); + _TMP22 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3(float(_dt.x), float(_dt.y), float(_dt.z))); + _TMP16 = float(_TMP22); + _vl = float((_TMP16 + 1.00016594E-04)); + _k1 = 5.00000000E-01*(_hl + _vl); + _k2 = 5.00000000E-01*(_d1 + _d2); + _t1 = (_hl*vec3(float((_c10 + _c12).x), float((_c10 + _c12).y), float((_c10 + _c12).z)) + _vl*vec3(float((_c01 + _c21).x), float((_c01 + _c21).y), float((_c01 + _c21).z)) + _k1*vec3(float(_c11.x), float(_c11.y), float(_c11.z)))/(2.50000000E+00*(_hl + _vl)); + _t2 = (_d1*vec3(float((_c20 + _c02).x), float((_c20 + _c02).y), float((_c20 + _c02).z)) + _d2*vec3(float((_c00 + _c22).x), float((_c00 + _c22).y), float((_c00 + _c22).z)) + _k2*vec3(float(_c11.x), float(_c11.y), float(_c11.z)))/(2.50000000E+00*(_d1 + _d2)); + _a0063 = _t1 - vec3(float(_c11.x), float(_c11.y), float(_c11.z)); + _TMP17 = abs(_a0063); + _b0065 = vec3(float(_dt.x), float(_dt.y), float(_dt.z)); + _TMP18 = dot(_TMP17, _b0065); + _k1 = _TMP18 + 9.99999975E-05; + _a0067 = _t2 - vec3(float(_c11.x), float(_c11.y), float(_c11.z)); + _TMP19 = abs(_a0067); + _b0069 = vec3(float(_dt.x), float(_dt.y), float(_dt.z)); + _TMP20 = dot(_TMP19, _b0069); + _k2 = _TMP20 + 9.99999975E-05; + _TMP27 = (_k1*_t2 + _k2*_t1)/(_k1 + _k2); + _OUT._color1 = vec4(_TMP27.x, _TMP27.y, _TMP27.z, 1.00000000E+00); + gl_FragColor = _OUT._color1; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Anti-aliasing/FXAA-Edge detect.glsl b/ios/Assets/shaders_glsl/Anti-aliasing/FXAA-Edge detect.glsl new file mode 100644 index 0000000000..b6e2aa03c4 --- /dev/null +++ b/ios/Assets/shaders_glsl/Anti-aliasing/FXAA-Edge detect.glsl @@ -0,0 +1,170 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _M; +varying vec2 _DR; +varying vec2 _DL; +varying vec2 _UR; +varying vec2 _UL; +varying vec4 _color; +varying vec2 _texCoord1; +varying vec4 _vpos1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _position1; + vec4 _vpos1; + vec2 _texCoord1; +}; +struct output_dummy { + vec4 _color; +}; +struct deltas { + vec2 _UL; + vec2 _UR; + vec2 _DL; + vec2 _DR; + vec2 _M; +}; +VERTEX_OUTPUT _ret_0; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX1; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ret_0._position1 = _r0003; + _ret_0._vpos1 = _r0003; + _ret_0._texCoord1 = TexCoord.xy; + gl_Position = _r0003; + TEX1 = _r0003; + TEX0.xy = TexCoord.xy; + return; + TEX1 = _ret_0._vpos1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _M; +varying vec2 _DR; +varying vec2 _DL; +varying vec2 _UR; +varying vec2 _UL; +varying vec4 _color; +varying vec2 _texCoord; +varying vec4 _vpos; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _vpos; + vec2 _texCoord; +}; +struct output_dummy { + vec4 _color; +}; +struct deltas { + vec2 _UL; + vec2 _UR; + vec2 _DL; + vec2 _DR; + vec2 _M; +}; +float _TMP12; +float _TMP11; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + vec2 _ps; + float _lumaUL; + float _lumaUR; + float _lumaDL; + float _lumaDR; + vec2 _dir; + deltas _TMP16; + _ps = vec2(9.99899983E-01/TextureSize.x, 9.99899983E-01/TextureSize.y); + _TMP16._UL = TEX0.xy + vec2(-_ps.x, -_ps.y); + _TMP16._UR = TEX0.xy + vec2(_ps.x, -_ps.y); + _TMP16._DL = TEX0.xy + vec2(-_ps.x, _ps.y); + _TMP16._DR = TEX0.xy + vec2(_ps.x, _ps.y); + _TMP0 = texture2D(Texture, _TMP16._UL); + _TMP1 = texture2D(Texture, _TMP16._UR); + _TMP2 = texture2D(Texture, _TMP16._DL); + _TMP3 = texture2D(Texture, _TMP16._DR); + _lumaUL = dot(_TMP0.xyz, vec3( 2.98999995E-01, 5.87000012E-01, 1.14000000E-01)); + _lumaUR = dot(_TMP1.xyz, vec3( 2.98999995E-01, 5.87000012E-01, 1.14000000E-01)); + _lumaDL = dot(_TMP2.xyz, vec3( 2.98999995E-01, 5.87000012E-01, 1.14000000E-01)); + _lumaDR = dot(_TMP3.xyz, vec3( 2.98999995E-01, 5.87000012E-01, 1.14000000E-01)); + _dir.x = -((_lumaUL + _lumaUR) - (_lumaDR + _lumaDL)); + _dir.y = (_lumaUR + _lumaDR) - (_lumaUL + _lumaDL); + _TMP11 = abs(_dir.x); + _TMP12 = abs(_dir.y); + _OUT._color = vec4(_TMP11 + _TMP12, _TMP11 + _TMP12, _TMP11 + _TMP12, _TMP11 + _TMP12); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Anti-aliasing/FXAA.glsl b/ios/Assets/shaders_glsl/Anti-aliasing/FXAA.glsl new file mode 100644 index 0000000000..224815df27 --- /dev/null +++ b/ios/Assets/shaders_glsl/Anti-aliasing/FXAA.glsl @@ -0,0 +1,210 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color; +varying vec2 _texCoord1; +varying vec4 _vpos1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _position1; + vec4 _vpos1; + vec2 _texCoord1; +}; +struct output_dummy { + vec4 _color; +}; +VERTEX_OUTPUT _ret_0; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX1; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ret_0._position1 = _r0003; + _ret_0._vpos1 = _r0003; + _ret_0._texCoord1 = TexCoord.xy; + gl_Position = _r0003; + TEX1 = _r0003; + TEX0.xy = TexCoord.xy; + return; + TEX1 = _ret_0._vpos1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +varying vec2 _texCoord; +varying vec4 _vpos; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _vpos; + vec2 _texCoord; +}; +struct output_dummy { + vec4 _color; +}; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec2 _TMP15; +vec2 _TMP14; +float _TMP13; +float _TMP12; +float _TMP11; +float _TMP10; +float _TMP9; +float _TMP8; +float _TMP7; +float _TMP6; +float _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _c0026; +vec2 _c0028; +vec2 _c0030; +vec2 _c0032; +float _a0062; +vec2 _b0070; +vec2 _c0074; +vec2 _c0076; +vec2 _c0078; +vec2 _c0080; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + vec2 _inverse_resolution; + float _lumaNW; + float _lumaNE; + float _lumaSW; + float _lumaSE; + float _lumaM; + float _lumaMin; + float _lumaMax; + vec2 _dir; + float _dirReduce; + float _rcpDirMin; + vec3 _rgbA; + vec3 _rgbB; + float _lumaB; + _inverse_resolution = 1.00000000E+00/InputSize.xy; + _c0026 = (TEX0.xy + vec2( -1.00000000E+00, -1.00000000E+00))*_inverse_resolution; + _TMP0 = texture2D(Texture, _c0026); + _c0028 = (TEX0.xy + vec2( 1.00000000E+00, -1.00000000E+00))*_inverse_resolution; + _TMP1 = texture2D(Texture, _c0028); + _c0030 = (TEX0.xy + vec2( -1.00000000E+00, 1.00000000E+00))*_inverse_resolution; + _TMP2 = texture2D(Texture, _c0030); + _c0032 = (TEX0.xy + vec2( 1.00000000E+00, 1.00000000E+00))*_inverse_resolution; + _TMP3 = texture2D(Texture, _c0032); + _TMP4 = texture2D(Texture, TEX0.xy); + _lumaNW = dot(_TMP0.xyz, vec3( 2.98999995E-01, 5.87000012E-01, 1.14000000E-01)); + _lumaNE = dot(_TMP1.xyz, vec3( 2.98999995E-01, 5.87000012E-01, 1.14000000E-01)); + _lumaSW = dot(_TMP2.xyz, vec3( 2.98999995E-01, 5.87000012E-01, 1.14000000E-01)); + _lumaSE = dot(_TMP3.xyz, vec3( 2.98999995E-01, 5.87000012E-01, 1.14000000E-01)); + _lumaM = dot(_TMP4.xyz, vec3( 2.98999995E-01, 5.87000012E-01, 1.14000000E-01)); + _TMP5 = min(_lumaNW, _lumaNE); + _TMP6 = min(_lumaSW, _lumaSE); + _TMP7 = min(_TMP5, _TMP6); + _lumaMin = min(_lumaM, _TMP7); + _TMP8 = max(_lumaNW, _lumaNE); + _TMP9 = max(_lumaSW, _lumaSE); + _TMP10 = max(_TMP8, _TMP9); + _lumaMax = max(_lumaM, _TMP10); + _dir.x = -((_lumaNW + _lumaNE) - (_lumaSW + _lumaSE)); + _dir.y = (_lumaNW + _lumaSW) - (_lumaNE + _lumaSE); + _a0062 = (_lumaNW + _lumaNE + _lumaSW + _lumaSE)*3.12500000E-02; + _dirReduce = max(_a0062, 3.90625000E-03); + _TMP11 = abs(_dir.x); + _TMP12 = abs(_dir.y); + _TMP13 = min(_TMP11, _TMP12); + _rcpDirMin = 1.00000000E+00/(_TMP13 + _dirReduce); + _b0070 = _dir*_rcpDirMin; + _TMP14 = max(vec2( -8.00000000E+00, -8.00000000E+00), _b0070); + _TMP15 = min(vec2( 8.00000000E+00, 8.00000000E+00), _TMP14); + _dir = _TMP15*_inverse_resolution; + _c0074 = TEX0.xy + _dir*-1.66666657E-01; + _TMP16 = texture2D(Texture, _c0074); + _c0076 = TEX0.xy + _dir*1.66666687E-01; + _TMP17 = texture2D(Texture, _c0076); + _rgbA = 5.00000000E-01*(_TMP16.xyz + _TMP17.xyz); + _c0078 = TEX0.xy*_inverse_resolution + _dir*-5.00000000E-01; + _TMP18 = texture2D(Texture, _c0078); + _c0080 = TEX0.xy + _dir*5.00000000E-01; + _TMP19 = texture2D(Texture, _c0080); + _rgbB = _rgbA*5.00000000E-01 + 2.50000000E-01*(_TMP18.xyz + _TMP19.xyz); + _lumaB = dot(_rgbB, vec3( 2.98999995E-01, 5.87000012E-01, 1.14000000E-01)); + if (_lumaB < _lumaMin || _lumaB > _lumaMax) { + _OUT._color = vec4(_rgbA.x, _rgbA.y, _rgbA.z, 1.00000000E+00); + } else { + _OUT._color = vec4(_rgbB.x, _rgbB.y, _rgbB.z, 1.00000000E+00); + } + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Anti-aliasing/Reverse-AA.glsl b/ios/Assets/shaders_glsl/Anti-aliasing/Reverse-AA.glsl new file mode 100644 index 0000000000..393e9b5f4d --- /dev/null +++ b/ios/Assets/shaders_glsl/Anti-aliasing/Reverse-AA.glsl @@ -0,0 +1,313 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), float((-2.00000000E+00*_ps.y))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), float(-_ps.y)); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), float(_ps.y)); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), float((2.00000000E+00*_ps.y))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float((-2.00000000E+00*_ps.x)), float(-_ps.y), 0.00000000E+00, float(_ps.y)); + _OUT.VARt7 = TexCoord.xyyy + vec4(float((2.00000000E+00*_ps.x)), float(-_ps.y), 0.00000000E+00, float(_ps.y)); + _ret_0._position1 = _r0004; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = vec4(float(_r0004.x), float(_r0004.y), float(_r0004.z), float(_r0004.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +vec3 _TMP15; +vec3 _TMP17; +vec3 _TMP16; +vec3 _TMP18; +vec3 _TMP14; +vec3 _TMP13; +vec3 _TMP12; +vec3 _TMP11; +vec3 _TMP10; +vec3 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0024; +vec3 _b0046; +vec3 _b0050; +vec3 _TMP51; +vec3 _a0052; +vec3 _b0060; +vec3 _b0064; +vec3 _TMP65; +vec3 _a0066; +vec3 _b0074; +vec3 _b0078; +vec3 _TMP79; +vec3 _a0080; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec3 _n1; + vec3 _n2; + vec3 _n3; + vec3 _n4; + vec3 _s; + vec3 _aa; + vec3 _bb; + vec3 _cc; + vec3 _dd; + vec3 _B1; + vec3 _B; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _H; + vec3 _H5; + vec3 _D0; + vec3 _F4; + vec3 _t; + vec3 _m; + vec3 _s1; + vec3 _s0; + vec3 _E1; + vec3 _E0; + vec3 _E3; + vec3 _E2; + _x0024 = TEX0.xy*TextureSize; + _fp = fract(_x0024); + _TMP0 = texture2D(Texture, VARt1.yw); + _B1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt2.yw); + _B = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _n1 = vec3(float(_B1.x), float(_B1.y), float(_B1.z)); + _n2 = vec3(float(_B.x), float(_B.y), float(_B.z)); + _s = vec3(float(_E.x), float(_E.y), float(_E.z)); + _n3 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _n4 = vec3(float(_H5.x), float(_H5.y), float(_H5.z)); + _aa = _n2 - _n1; + _bb = _s - _n2; + _cc = _n3 - _s; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s.x < 5.00000000E-01 ? (2.00000000E+00*_s).x : (2.00000000E+00*(1.00000000E+00 - _s)).x, _s.y < 5.00000000E-01 ? (2.00000000E+00*_s).y : (2.00000000E+00*(1.00000000E+00 - _s)).y, _s.z < 5.00000000E-01 ? (2.00000000E+00*_s).z : (2.00000000E+00*(1.00000000E+00 - _s)).z); + _TMP9 = abs(_bb); + _b0046 = 2.00000000E+00*_TMP9; + _m = min(_m, _b0046); + _TMP10 = abs(_cc); + _b0050 = 2.00000000E+00*_TMP10; + _m = min(_m, _b0050); + _a0052 = -_m; + _TMP18 = min(_m, _t); + _TMP51 = max(_a0052, _TMP18); + _s1 = _s + _TMP51/2.00000000E+00; + _s0 = _s1 - _TMP51; + _n1 = vec3(float(_D0.x), float(_D0.y), float(_D0.z)); + _n2 = vec3(float(_D.x), float(_D.y), float(_D.z)); + _n3 = vec3(float(_F.x), float(_F.y), float(_F.z)); + _n4 = vec3(float(_F4.x), float(_F4.y), float(_F4.z)); + _aa = _n2 - _n1; + _bb = _s0 - _n2; + _cc = _n3 - _s0; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s0.x < 5.00000000E-01 ? (2.00000000E+00*_s0).x : (2.00000000E+00*(1.00000000E+00 - _s0)).x, _s0.y < 5.00000000E-01 ? (2.00000000E+00*_s0).y : (2.00000000E+00*(1.00000000E+00 - _s0)).y, _s0.z < 5.00000000E-01 ? (2.00000000E+00*_s0).z : (2.00000000E+00*(1.00000000E+00 - _s0)).z); + _TMP11 = abs(_bb); + _b0060 = 2.00000000E+00*_TMP11; + _m = min(_m, _b0060); + _TMP12 = abs(_cc); + _b0064 = 2.00000000E+00*_TMP12; + _m = min(_m, _b0064); + _a0066 = -_m; + _TMP18 = min(_m, _t); + _TMP65 = max(_a0066, _TMP18); + _E1 = _s0 + _TMP65/2.00000000E+00; + _E0 = _E1 - _TMP65; + _bb = _s1 - _n2; + _cc = _n3 - _s1; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s1.x < 5.00000000E-01 ? (2.00000000E+00*_s1).x : (2.00000000E+00*(1.00000000E+00 - _s1)).x, _s1.y < 5.00000000E-01 ? (2.00000000E+00*_s1).y : (2.00000000E+00*(1.00000000E+00 - _s1)).y, _s1.z < 5.00000000E-01 ? (2.00000000E+00*_s1).z : (2.00000000E+00*(1.00000000E+00 - _s1)).z); + _TMP13 = abs(_bb); + _b0074 = 2.00000000E+00*_TMP13; + _m = min(_m, _b0074); + _TMP14 = abs(_cc); + _b0078 = 2.00000000E+00*_TMP14; + _m = min(_m, _b0078); + _a0080 = -_m; + _TMP18 = min(_m, _t); + _TMP79 = max(_a0080, _TMP18); + _E3 = _s1 + _TMP79/2.00000000E+00; + _E2 = _E3 - _TMP79; + if (_fp.x < 5.00000000E-01) { + if (_fp.y < 5.00000000E-01) { + _TMP16 = _E0; + } else { + _TMP16 = _E2; + } + _TMP15 = _TMP16; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP17 = _E1; + } else { + _TMP17 = _E3; + } + _TMP15 = _TMP17; + } + _ret_0 = vec4(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z), 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Bicubic/Bicubic-normal.glsl b/ios/Assets/shaders_glsl/Bicubic/Bicubic-normal.glsl new file mode 100644 index 0000000000..bd77dc27b8 --- /dev/null +++ b/ios/Assets/shaders_glsl/Bicubic/Bicubic-normal.glsl @@ -0,0 +1,332 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +vec4 _v0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _v0003 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _r0003.x = dot(MVPMatrix_[0], _v0003); + _r0003.y = dot(MVPMatrix_[1], _v0003); + _r0003.z = dot(MVPMatrix_[2], _v0003); + _r0003.w = dot(MVPMatrix_[3], _v0003); + _oPosition1 = vec4(float(_r0003.x), float(_r0003.y), float(_r0003.z), float(_r0003.w)); + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = vec4(float(_oPosition1.x), float(_oPosition1.y), float(_oPosition1.z), float(_oPosition1.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec3 _TMP3; +vec3 _TMP2; +vec3 _TMP1; +vec3 _TMP0; +vec3 _TMP10; +vec3 _TMP9; +vec3 _TMP8; +vec4 _TMP14; +float _TMP13; +float _TMP12; +input_dummy _IN1; +uniform sampler2D Texture; +vec2 _x0019; +float _x0021; +float _TMP22; +float _ax0023; +float _x0023; +float _TMP26; +float _ax0027; +float _x0027; +float _TMP30; +float _ax0031; +float _TMP34; +float _ax0035; +float _x0035; +float _x0039; +float _TMP40; +float _ax0041; +float _x0041; +float _TMP44; +float _ax0045; +float _x0045; +float _TMP48; +float _ax0049; +float _TMP52; +float _ax0053; +float _x0053; +vec2 _c0061; +vec2 _c0065; +vec2 _c0069; +vec2 _c0073; +float _ypos0075; +vec2 _c0079; +vec2 _c0083; +vec2 _c0087; +vec2 _c0091; +float _ypos0093; +vec2 _c0097; +vec2 _c0101; +vec2 _c0105; +vec2 _c0109; +float _ypos0111; +vec2 _c0115; +vec2 _c0119; +vec2 _c0123; +vec2 _c0127; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _stepxy; + vec2 _pos; + vec2 _f; + vec4 _linetaps1; + vec4 _columntaps; + vec2 _xystart; + vec4 _xpos2; + output_dummy _OUT; + vec3 _TMP17; + _stepxy = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _pos = vec2(float(TEX0.x), float(TEX0.y)) + _stepxy*5.00000000E-01; + _x0019 = _pos/_stepxy; + _f = fract(_x0019); + _x0021 = 1.00000000E+00 - _f.x; + _x0023 = _x0021 - 2.00000000E+00; + _ax0023 = abs(_x0023); + if (_ax0023 < 1.00000000E+00) { + _TMP12 = _x0023*_x0023; + _TMP22 = (_TMP12*(7.00000000E+00*_ax0023 + -1.20000000E+01) + 5.33333349E+00)/6.00000000E+00; + } else { + if (_ax0023 >= 1.00000000E+00 && _ax0023 < 2.00000000E+00) { + _TMP13 = _x0023*_x0023; + _TMP22 = (_TMP13*(-2.33333325E+00*_ax0023 + 1.20000000E+01) + -2.00000000E+01*_ax0023 + 1.06666670E+01)/6.00000000E+00; + } else { + _TMP22 = 0.00000000E+00; + } + } + _x0027 = _x0021 - 1.00000000E+00; + _ax0027 = abs(_x0027); + if (_ax0027 < 1.00000000E+00) { + _TMP12 = _x0027*_x0027; + _TMP26 = (_TMP12*(7.00000000E+00*_ax0027 + -1.20000000E+01) + 5.33333349E+00)/6.00000000E+00; + } else { + if (_ax0027 >= 1.00000000E+00 && _ax0027 < 2.00000000E+00) { + _TMP13 = _x0027*_x0027; + _TMP26 = (_TMP13*(-2.33333325E+00*_ax0027 + 1.20000000E+01) + -2.00000000E+01*_ax0027 + 1.06666670E+01)/6.00000000E+00; + } else { + _TMP26 = 0.00000000E+00; + } + } + _ax0031 = abs(_x0021); + if (_ax0031 < 1.00000000E+00) { + _TMP12 = _x0021*_x0021; + _TMP30 = (_TMP12*(7.00000000E+00*_ax0031 + -1.20000000E+01) + 5.33333349E+00)/6.00000000E+00; + } else { + if (_ax0031 >= 1.00000000E+00 && _ax0031 < 2.00000000E+00) { + _TMP13 = _x0021*_x0021; + _TMP30 = (_TMP13*(-2.33333325E+00*_ax0031 + 1.20000000E+01) + -2.00000000E+01*_ax0031 + 1.06666670E+01)/6.00000000E+00; + } else { + _TMP30 = 0.00000000E+00; + } + } + _x0035 = _x0021 + 1.00000000E+00; + _ax0035 = abs(_x0035); + if (_ax0035 < 1.00000000E+00) { + _TMP12 = _x0035*_x0035; + _TMP34 = (_TMP12*(7.00000000E+00*_ax0035 + -1.20000000E+01) + 5.33333349E+00)/6.00000000E+00; + } else { + if (_ax0035 >= 1.00000000E+00 && _ax0035 < 2.00000000E+00) { + _TMP13 = _x0035*_x0035; + _TMP34 = (_TMP13*(-2.33333325E+00*_ax0035 + 1.20000000E+01) + -2.00000000E+01*_ax0035 + 1.06666670E+01)/6.00000000E+00; + } else { + _TMP34 = 0.00000000E+00; + } + } + _linetaps1 = vec4(_TMP22, _TMP26, _TMP30, _TMP34); + _x0039 = 1.00000000E+00 - _f.y; + _x0041 = _x0039 - 2.00000000E+00; + _ax0041 = abs(_x0041); + if (_ax0041 < 1.00000000E+00) { + _TMP12 = _x0041*_x0041; + _TMP40 = (_TMP12*(7.00000000E+00*_ax0041 + -1.20000000E+01) + 5.33333349E+00)/6.00000000E+00; + } else { + if (_ax0041 >= 1.00000000E+00 && _ax0041 < 2.00000000E+00) { + _TMP13 = _x0041*_x0041; + _TMP40 = (_TMP13*(-2.33333325E+00*_ax0041 + 1.20000000E+01) + -2.00000000E+01*_ax0041 + 1.06666670E+01)/6.00000000E+00; + } else { + _TMP40 = 0.00000000E+00; + } + } + _x0045 = _x0039 - 1.00000000E+00; + _ax0045 = abs(_x0045); + if (_ax0045 < 1.00000000E+00) { + _TMP12 = _x0045*_x0045; + _TMP44 = (_TMP12*(7.00000000E+00*_ax0045 + -1.20000000E+01) + 5.33333349E+00)/6.00000000E+00; + } else { + if (_ax0045 >= 1.00000000E+00 && _ax0045 < 2.00000000E+00) { + _TMP13 = _x0045*_x0045; + _TMP44 = (_TMP13*(-2.33333325E+00*_ax0045 + 1.20000000E+01) + -2.00000000E+01*_ax0045 + 1.06666670E+01)/6.00000000E+00; + } else { + _TMP44 = 0.00000000E+00; + } + } + _ax0049 = abs(_x0039); + if (_ax0049 < 1.00000000E+00) { + _TMP12 = _x0039*_x0039; + _TMP48 = (_TMP12*(7.00000000E+00*_ax0049 + -1.20000000E+01) + 5.33333349E+00)/6.00000000E+00; + } else { + if (_ax0049 >= 1.00000000E+00 && _ax0049 < 2.00000000E+00) { + _TMP13 = _x0039*_x0039; + _TMP48 = (_TMP13*(-2.33333325E+00*_ax0049 + 1.20000000E+01) + -2.00000000E+01*_ax0049 + 1.06666670E+01)/6.00000000E+00; + } else { + _TMP48 = 0.00000000E+00; + } + } + _x0053 = _x0039 + 1.00000000E+00; + _ax0053 = abs(_x0053); + if (_ax0053 < 1.00000000E+00) { + _TMP12 = _x0053*_x0053; + _TMP52 = (_TMP12*(7.00000000E+00*_ax0053 + -1.20000000E+01) + 5.33333349E+00)/6.00000000E+00; + } else { + if (_ax0053 >= 1.00000000E+00 && _ax0053 < 2.00000000E+00) { + _TMP13 = _x0053*_x0053; + _TMP52 = (_TMP13*(-2.33333325E+00*_ax0053 + 1.20000000E+01) + -2.00000000E+01*_ax0053 + 1.06666670E+01)/6.00000000E+00; + } else { + _TMP52 = 0.00000000E+00; + } + } + _columntaps = vec4(_TMP40, _TMP44, _TMP48, _TMP52); + _linetaps1 = _linetaps1/(_linetaps1.x + _linetaps1.y + _linetaps1.z + _linetaps1.w); + _columntaps = _columntaps/(_columntaps.x + _columntaps.y + _columntaps.z + _columntaps.w); + _xystart = (-1.50000000E+00 - _f)*_stepxy + _pos; + _xpos2 = vec4(_xystart.x, _xystart.x + _stepxy.x, _xystart.x + _stepxy.x*2.00000000E+00, _xystart.x + _stepxy.x*3.00000000E+00); + _c0061 = vec2(_xpos2.x, _xystart.y); + _TMP14 = texture2D(Texture, _c0061); + _TMP8 = _TMP14.xyz; + _c0065 = vec2(_xpos2.y, _xystart.y); + _TMP14 = texture2D(Texture, _c0065); + _TMP9 = _TMP14.xyz; + _c0069 = vec2(_xpos2.z, _xystart.y); + _TMP14 = texture2D(Texture, _c0069); + _TMP10 = _TMP14.xyz; + _c0073 = vec2(_xpos2.w, _xystart.y); + _TMP14 = texture2D(Texture, _c0073); + _TMP0 = _TMP8*_linetaps1.x + _TMP9*_linetaps1.y + _TMP10*_linetaps1.z + _TMP14.xyz*_linetaps1.w; + _ypos0075 = _xystart.y + _stepxy.y; + _c0079 = vec2(_xpos2.x, _ypos0075); + _TMP14 = texture2D(Texture, _c0079); + _TMP8 = _TMP14.xyz; + _c0083 = vec2(_xpos2.y, _ypos0075); + _TMP14 = texture2D(Texture, _c0083); + _TMP9 = _TMP14.xyz; + _c0087 = vec2(_xpos2.z, _ypos0075); + _TMP14 = texture2D(Texture, _c0087); + _TMP10 = _TMP14.xyz; + _c0091 = vec2(_xpos2.w, _ypos0075); + _TMP14 = texture2D(Texture, _c0091); + _TMP1 = _TMP8*_linetaps1.x + _TMP9*_linetaps1.y + _TMP10*_linetaps1.z + _TMP14.xyz*_linetaps1.w; + _ypos0093 = _xystart.y + _stepxy.y*2.00000000E+00; + _c0097 = vec2(_xpos2.x, _ypos0093); + _TMP14 = texture2D(Texture, _c0097); + _TMP8 = _TMP14.xyz; + _c0101 = vec2(_xpos2.y, _ypos0093); + _TMP14 = texture2D(Texture, _c0101); + _TMP9 = _TMP14.xyz; + _c0105 = vec2(_xpos2.z, _ypos0093); + _TMP14 = texture2D(Texture, _c0105); + _TMP10 = _TMP14.xyz; + _c0109 = vec2(_xpos2.w, _ypos0093); + _TMP14 = texture2D(Texture, _c0109); + _TMP2 = _TMP8*_linetaps1.x + _TMP9*_linetaps1.y + _TMP10*_linetaps1.z + _TMP14.xyz*_linetaps1.w; + _ypos0111 = _xystart.y + _stepxy.y*3.00000000E+00; + _c0115 = vec2(_xpos2.x, _ypos0111); + _TMP14 = texture2D(Texture, _c0115); + _TMP8 = _TMP14.xyz; + _c0119 = vec2(_xpos2.y, _ypos0111); + _TMP14 = texture2D(Texture, _c0119); + _TMP9 = _TMP14.xyz; + _c0123 = vec2(_xpos2.z, _ypos0111); + _TMP14 = texture2D(Texture, _c0123); + _TMP10 = _TMP14.xyz; + _c0127 = vec2(_xpos2.w, _ypos0111); + _TMP14 = texture2D(Texture, _c0127); + _TMP3 = _TMP8*_linetaps1.x + _TMP9*_linetaps1.y + _TMP10*_linetaps1.z + _TMP14.xyz*_linetaps1.w; + _TMP17 = _TMP0*_columntaps.x + _TMP1*_columntaps.y + _TMP2*_columntaps.z + _TMP3*_columntaps.w; + _OUT._color = vec4(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z), 1.00000000E+00); + gl_FragColor = vec4(float(_OUT._color.x), float(_OUT._color.y), float(_OUT._color.z), float(_OUT._color.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Bicubic/Bicubic-sharp.glsl b/ios/Assets/shaders_glsl/Bicubic/Bicubic-sharp.glsl new file mode 100644 index 0000000000..3c1cc16cd0 --- /dev/null +++ b/ios/Assets/shaders_glsl/Bicubic/Bicubic-sharp.glsl @@ -0,0 +1,332 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +vec4 _v0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _v0003 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _r0003.x = dot(MVPMatrix_[0], _v0003); + _r0003.y = dot(MVPMatrix_[1], _v0003); + _r0003.z = dot(MVPMatrix_[2], _v0003); + _r0003.w = dot(MVPMatrix_[3], _v0003); + _oPosition1 = vec4(float(_r0003.x), float(_r0003.y), float(_r0003.z), float(_r0003.w)); + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = vec4(float(_oPosition1.x), float(_oPosition1.y), float(_oPosition1.z), float(_oPosition1.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec3 _TMP3; +vec3 _TMP2; +vec3 _TMP1; +vec3 _TMP0; +vec3 _TMP10; +vec3 _TMP9; +vec3 _TMP8; +vec4 _TMP14; +float _TMP13; +float _TMP12; +input_dummy _IN1; +uniform sampler2D Texture; +vec2 _x0019; +float _x0021; +float _TMP22; +float _ax0023; +float _x0023; +float _TMP26; +float _ax0027; +float _x0027; +float _TMP30; +float _ax0031; +float _TMP34; +float _ax0035; +float _x0035; +float _x0039; +float _TMP40; +float _ax0041; +float _x0041; +float _TMP44; +float _ax0045; +float _x0045; +float _TMP48; +float _ax0049; +float _TMP52; +float _ax0053; +float _x0053; +vec2 _c0061; +vec2 _c0065; +vec2 _c0069; +vec2 _c0073; +float _ypos0075; +vec2 _c0079; +vec2 _c0083; +vec2 _c0087; +vec2 _c0091; +float _ypos0093; +vec2 _c0097; +vec2 _c0101; +vec2 _c0105; +vec2 _c0109; +float _ypos0111; +vec2 _c0115; +vec2 _c0119; +vec2 _c0123; +vec2 _c0127; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _stepxy; + vec2 _pos; + vec2 _f; + vec4 _linetaps1; + vec4 _columntaps; + vec2 _xystart; + vec4 _xpos2; + output_dummy _OUT; + vec3 _TMP17; + _stepxy = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _pos = vec2(float(TEX0.x), float(TEX0.y)) + _stepxy*5.00000000E-01; + _x0019 = _pos/_stepxy; + _f = fract(_x0019); + _x0021 = 1.00000000E+00 - _f.x; + _x0023 = _x0021 - 2.00000000E+00; + _ax0023 = abs(_x0023); + if (_ax0023 < 1.00000000E+00) { + _TMP12 = _x0023*_x0023; + _TMP22 = (_TMP12*(8.10000038E+00*_ax0023 + -1.37999992E+01) + 5.80000019E+00)/6.00000000E+00; + } else { + if (_ax0023 >= 1.00000000E+00 && _ax0023 < 2.00000000E+00) { + _TMP13 = _x0023*_x0023; + _TMP22 = (_TMP13*(-3.09999990E+00*_ax0023 + 1.56000004E+01) + -2.52000008E+01*_ax0023 + 1.28000002E+01)/6.00000000E+00; + } else { + _TMP22 = 0.00000000E+00; + } + } + _x0027 = _x0021 - 1.00000000E+00; + _ax0027 = abs(_x0027); + if (_ax0027 < 1.00000000E+00) { + _TMP12 = _x0027*_x0027; + _TMP26 = (_TMP12*(8.10000038E+00*_ax0027 + -1.37999992E+01) + 5.80000019E+00)/6.00000000E+00; + } else { + if (_ax0027 >= 1.00000000E+00 && _ax0027 < 2.00000000E+00) { + _TMP13 = _x0027*_x0027; + _TMP26 = (_TMP13*(-3.09999990E+00*_ax0027 + 1.56000004E+01) + -2.52000008E+01*_ax0027 + 1.28000002E+01)/6.00000000E+00; + } else { + _TMP26 = 0.00000000E+00; + } + } + _ax0031 = abs(_x0021); + if (_ax0031 < 1.00000000E+00) { + _TMP12 = _x0021*_x0021; + _TMP30 = (_TMP12*(8.10000038E+00*_ax0031 + -1.37999992E+01) + 5.80000019E+00)/6.00000000E+00; + } else { + if (_ax0031 >= 1.00000000E+00 && _ax0031 < 2.00000000E+00) { + _TMP13 = _x0021*_x0021; + _TMP30 = (_TMP13*(-3.09999990E+00*_ax0031 + 1.56000004E+01) + -2.52000008E+01*_ax0031 + 1.28000002E+01)/6.00000000E+00; + } else { + _TMP30 = 0.00000000E+00; + } + } + _x0035 = _x0021 + 1.00000000E+00; + _ax0035 = abs(_x0035); + if (_ax0035 < 1.00000000E+00) { + _TMP12 = _x0035*_x0035; + _TMP34 = (_TMP12*(8.10000038E+00*_ax0035 + -1.37999992E+01) + 5.80000019E+00)/6.00000000E+00; + } else { + if (_ax0035 >= 1.00000000E+00 && _ax0035 < 2.00000000E+00) { + _TMP13 = _x0035*_x0035; + _TMP34 = (_TMP13*(-3.09999990E+00*_ax0035 + 1.56000004E+01) + -2.52000008E+01*_ax0035 + 1.28000002E+01)/6.00000000E+00; + } else { + _TMP34 = 0.00000000E+00; + } + } + _linetaps1 = vec4(_TMP22, _TMP26, _TMP30, _TMP34); + _x0039 = 1.00000000E+00 - _f.y; + _x0041 = _x0039 - 2.00000000E+00; + _ax0041 = abs(_x0041); + if (_ax0041 < 1.00000000E+00) { + _TMP12 = _x0041*_x0041; + _TMP40 = (_TMP12*(8.10000038E+00*_ax0041 + -1.37999992E+01) + 5.80000019E+00)/6.00000000E+00; + } else { + if (_ax0041 >= 1.00000000E+00 && _ax0041 < 2.00000000E+00) { + _TMP13 = _x0041*_x0041; + _TMP40 = (_TMP13*(-3.09999990E+00*_ax0041 + 1.56000004E+01) + -2.52000008E+01*_ax0041 + 1.28000002E+01)/6.00000000E+00; + } else { + _TMP40 = 0.00000000E+00; + } + } + _x0045 = _x0039 - 1.00000000E+00; + _ax0045 = abs(_x0045); + if (_ax0045 < 1.00000000E+00) { + _TMP12 = _x0045*_x0045; + _TMP44 = (_TMP12*(8.10000038E+00*_ax0045 + -1.37999992E+01) + 5.80000019E+00)/6.00000000E+00; + } else { + if (_ax0045 >= 1.00000000E+00 && _ax0045 < 2.00000000E+00) { + _TMP13 = _x0045*_x0045; + _TMP44 = (_TMP13*(-3.09999990E+00*_ax0045 + 1.56000004E+01) + -2.52000008E+01*_ax0045 + 1.28000002E+01)/6.00000000E+00; + } else { + _TMP44 = 0.00000000E+00; + } + } + _ax0049 = abs(_x0039); + if (_ax0049 < 1.00000000E+00) { + _TMP12 = _x0039*_x0039; + _TMP48 = (_TMP12*(8.10000038E+00*_ax0049 + -1.37999992E+01) + 5.80000019E+00)/6.00000000E+00; + } else { + if (_ax0049 >= 1.00000000E+00 && _ax0049 < 2.00000000E+00) { + _TMP13 = _x0039*_x0039; + _TMP48 = (_TMP13*(-3.09999990E+00*_ax0049 + 1.56000004E+01) + -2.52000008E+01*_ax0049 + 1.28000002E+01)/6.00000000E+00; + } else { + _TMP48 = 0.00000000E+00; + } + } + _x0053 = _x0039 + 1.00000000E+00; + _ax0053 = abs(_x0053); + if (_ax0053 < 1.00000000E+00) { + _TMP12 = _x0053*_x0053; + _TMP52 = (_TMP12*(8.10000038E+00*_ax0053 + -1.37999992E+01) + 5.80000019E+00)/6.00000000E+00; + } else { + if (_ax0053 >= 1.00000000E+00 && _ax0053 < 2.00000000E+00) { + _TMP13 = _x0053*_x0053; + _TMP52 = (_TMP13*(-3.09999990E+00*_ax0053 + 1.56000004E+01) + -2.52000008E+01*_ax0053 + 1.28000002E+01)/6.00000000E+00; + } else { + _TMP52 = 0.00000000E+00; + } + } + _columntaps = vec4(_TMP40, _TMP44, _TMP48, _TMP52); + _linetaps1 = _linetaps1/(_linetaps1.x + _linetaps1.y + _linetaps1.z + _linetaps1.w); + _columntaps = _columntaps/(_columntaps.x + _columntaps.y + _columntaps.z + _columntaps.w); + _xystart = (-1.50000000E+00 - _f)*_stepxy + _pos; + _xpos2 = vec4(_xystart.x, _xystart.x + _stepxy.x, _xystart.x + _stepxy.x*2.00000000E+00, _xystart.x + _stepxy.x*3.00000000E+00); + _c0061 = vec2(_xpos2.x, _xystart.y); + _TMP14 = texture2D(Texture, _c0061); + _TMP8 = _TMP14.xyz; + _c0065 = vec2(_xpos2.y, _xystart.y); + _TMP14 = texture2D(Texture, _c0065); + _TMP9 = _TMP14.xyz; + _c0069 = vec2(_xpos2.z, _xystart.y); + _TMP14 = texture2D(Texture, _c0069); + _TMP10 = _TMP14.xyz; + _c0073 = vec2(_xpos2.w, _xystart.y); + _TMP14 = texture2D(Texture, _c0073); + _TMP0 = _TMP8*_linetaps1.x + _TMP9*_linetaps1.y + _TMP10*_linetaps1.z + _TMP14.xyz*_linetaps1.w; + _ypos0075 = _xystart.y + _stepxy.y; + _c0079 = vec2(_xpos2.x, _ypos0075); + _TMP14 = texture2D(Texture, _c0079); + _TMP8 = _TMP14.xyz; + _c0083 = vec2(_xpos2.y, _ypos0075); + _TMP14 = texture2D(Texture, _c0083); + _TMP9 = _TMP14.xyz; + _c0087 = vec2(_xpos2.z, _ypos0075); + _TMP14 = texture2D(Texture, _c0087); + _TMP10 = _TMP14.xyz; + _c0091 = vec2(_xpos2.w, _ypos0075); + _TMP14 = texture2D(Texture, _c0091); + _TMP1 = _TMP8*_linetaps1.x + _TMP9*_linetaps1.y + _TMP10*_linetaps1.z + _TMP14.xyz*_linetaps1.w; + _ypos0093 = _xystart.y + _stepxy.y*2.00000000E+00; + _c0097 = vec2(_xpos2.x, _ypos0093); + _TMP14 = texture2D(Texture, _c0097); + _TMP8 = _TMP14.xyz; + _c0101 = vec2(_xpos2.y, _ypos0093); + _TMP14 = texture2D(Texture, _c0101); + _TMP9 = _TMP14.xyz; + _c0105 = vec2(_xpos2.z, _ypos0093); + _TMP14 = texture2D(Texture, _c0105); + _TMP10 = _TMP14.xyz; + _c0109 = vec2(_xpos2.w, _ypos0093); + _TMP14 = texture2D(Texture, _c0109); + _TMP2 = _TMP8*_linetaps1.x + _TMP9*_linetaps1.y + _TMP10*_linetaps1.z + _TMP14.xyz*_linetaps1.w; + _ypos0111 = _xystart.y + _stepxy.y*3.00000000E+00; + _c0115 = vec2(_xpos2.x, _ypos0111); + _TMP14 = texture2D(Texture, _c0115); + _TMP8 = _TMP14.xyz; + _c0119 = vec2(_xpos2.y, _ypos0111); + _TMP14 = texture2D(Texture, _c0119); + _TMP9 = _TMP14.xyz; + _c0123 = vec2(_xpos2.z, _ypos0111); + _TMP14 = texture2D(Texture, _c0123); + _TMP10 = _TMP14.xyz; + _c0127 = vec2(_xpos2.w, _ypos0111); + _TMP14 = texture2D(Texture, _c0127); + _TMP3 = _TMP8*_linetaps1.x + _TMP9*_linetaps1.y + _TMP10*_linetaps1.z + _TMP14.xyz*_linetaps1.w; + _TMP17 = _TMP0*_columntaps.x + _TMP1*_columntaps.y + _TMP2*_columntaps.z + _TMP3*_columntaps.w; + _OUT._color = vec4(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z), 1.00000000E+00); + gl_FragColor = vec4(float(_OUT._color.x), float(_OUT._color.y), float(_OUT._color.z), float(_OUT._color.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Bicubic/Bicubic-sharper.glsl b/ios/Assets/shaders_glsl/Bicubic/Bicubic-sharper.glsl new file mode 100644 index 0000000000..a24e669394 --- /dev/null +++ b/ios/Assets/shaders_glsl/Bicubic/Bicubic-sharper.glsl @@ -0,0 +1,332 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +vec4 _v0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _v0003 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _r0003.x = dot(MVPMatrix_[0], _v0003); + _r0003.y = dot(MVPMatrix_[1], _v0003); + _r0003.z = dot(MVPMatrix_[2], _v0003); + _r0003.w = dot(MVPMatrix_[3], _v0003); + _oPosition1 = vec4(float(_r0003.x), float(_r0003.y), float(_r0003.z), float(_r0003.w)); + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = vec4(float(_oPosition1.x), float(_oPosition1.y), float(_oPosition1.z), float(_oPosition1.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec3 _TMP3; +vec3 _TMP2; +vec3 _TMP1; +vec3 _TMP0; +vec3 _TMP10; +vec3 _TMP9; +vec3 _TMP8; +vec4 _TMP14; +float _TMP13; +float _TMP12; +input_dummy _IN1; +uniform sampler2D Texture; +vec2 _x0019; +float _x0021; +float _TMP22; +float _ax0023; +float _x0023; +float _TMP26; +float _ax0027; +float _x0027; +float _TMP30; +float _ax0031; +float _TMP34; +float _ax0035; +float _x0035; +float _x0039; +float _TMP40; +float _ax0041; +float _x0041; +float _TMP44; +float _ax0045; +float _x0045; +float _TMP48; +float _ax0049; +float _TMP52; +float _ax0053; +float _x0053; +vec2 _c0061; +vec2 _c0065; +vec2 _c0069; +vec2 _c0073; +float _ypos0075; +vec2 _c0079; +vec2 _c0083; +vec2 _c0087; +vec2 _c0091; +float _ypos0093; +vec2 _c0097; +vec2 _c0101; +vec2 _c0105; +vec2 _c0109; +float _ypos0111; +vec2 _c0115; +vec2 _c0119; +vec2 _c0123; +vec2 _c0127; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _stepxy; + vec2 _pos; + vec2 _f; + vec4 _linetaps1; + vec4 _columntaps; + vec2 _xystart; + vec4 _xpos2; + output_dummy _OUT; + vec3 _TMP17; + _stepxy = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _pos = vec2(float(TEX0.x), float(TEX0.y)) + _stepxy*5.00000000E-01; + _x0019 = _pos/_stepxy; + _f = fract(_x0019); + _x0021 = 1.00000000E+00 - _f.x; + _x0023 = _x0021 - 2.00000000E+00; + _ax0023 = abs(_x0023); + if (_ax0023 < 1.00000000E+00) { + _TMP12 = _x0023*_x0023; + _TMP22 = (_TMP12*(7.50000000E+00*_ax0023 + -1.35000000E+01) + 6.00000000E+00)/6.00000000E+00; + } else { + if (_ax0023 >= 1.00000000E+00 && _ax0023 < 2.00000000E+00) { + _TMP13 = _x0023*_x0023; + _TMP22 = (_TMP13*(-4.50000000E+00*_ax0023 + 2.25000000E+01) + -3.60000000E+01*_ax0023 + 1.80000000E+01)/6.00000000E+00; + } else { + _TMP22 = 0.00000000E+00; + } + } + _x0027 = _x0021 - 1.00000000E+00; + _ax0027 = abs(_x0027); + if (_ax0027 < 1.00000000E+00) { + _TMP12 = _x0027*_x0027; + _TMP26 = (_TMP12*(7.50000000E+00*_ax0027 + -1.35000000E+01) + 6.00000000E+00)/6.00000000E+00; + } else { + if (_ax0027 >= 1.00000000E+00 && _ax0027 < 2.00000000E+00) { + _TMP13 = _x0027*_x0027; + _TMP26 = (_TMP13*(-4.50000000E+00*_ax0027 + 2.25000000E+01) + -3.60000000E+01*_ax0027 + 1.80000000E+01)/6.00000000E+00; + } else { + _TMP26 = 0.00000000E+00; + } + } + _ax0031 = abs(_x0021); + if (_ax0031 < 1.00000000E+00) { + _TMP12 = _x0021*_x0021; + _TMP30 = (_TMP12*(7.50000000E+00*_ax0031 + -1.35000000E+01) + 6.00000000E+00)/6.00000000E+00; + } else { + if (_ax0031 >= 1.00000000E+00 && _ax0031 < 2.00000000E+00) { + _TMP13 = _x0021*_x0021; + _TMP30 = (_TMP13*(-4.50000000E+00*_ax0031 + 2.25000000E+01) + -3.60000000E+01*_ax0031 + 1.80000000E+01)/6.00000000E+00; + } else { + _TMP30 = 0.00000000E+00; + } + } + _x0035 = _x0021 + 1.00000000E+00; + _ax0035 = abs(_x0035); + if (_ax0035 < 1.00000000E+00) { + _TMP12 = _x0035*_x0035; + _TMP34 = (_TMP12*(7.50000000E+00*_ax0035 + -1.35000000E+01) + 6.00000000E+00)/6.00000000E+00; + } else { + if (_ax0035 >= 1.00000000E+00 && _ax0035 < 2.00000000E+00) { + _TMP13 = _x0035*_x0035; + _TMP34 = (_TMP13*(-4.50000000E+00*_ax0035 + 2.25000000E+01) + -3.60000000E+01*_ax0035 + 1.80000000E+01)/6.00000000E+00; + } else { + _TMP34 = 0.00000000E+00; + } + } + _linetaps1 = vec4(_TMP22, _TMP26, _TMP30, _TMP34); + _x0039 = 1.00000000E+00 - _f.y; + _x0041 = _x0039 - 2.00000000E+00; + _ax0041 = abs(_x0041); + if (_ax0041 < 1.00000000E+00) { + _TMP12 = _x0041*_x0041; + _TMP40 = (_TMP12*(7.50000000E+00*_ax0041 + -1.35000000E+01) + 6.00000000E+00)/6.00000000E+00; + } else { + if (_ax0041 >= 1.00000000E+00 && _ax0041 < 2.00000000E+00) { + _TMP13 = _x0041*_x0041; + _TMP40 = (_TMP13*(-4.50000000E+00*_ax0041 + 2.25000000E+01) + -3.60000000E+01*_ax0041 + 1.80000000E+01)/6.00000000E+00; + } else { + _TMP40 = 0.00000000E+00; + } + } + _x0045 = _x0039 - 1.00000000E+00; + _ax0045 = abs(_x0045); + if (_ax0045 < 1.00000000E+00) { + _TMP12 = _x0045*_x0045; + _TMP44 = (_TMP12*(7.50000000E+00*_ax0045 + -1.35000000E+01) + 6.00000000E+00)/6.00000000E+00; + } else { + if (_ax0045 >= 1.00000000E+00 && _ax0045 < 2.00000000E+00) { + _TMP13 = _x0045*_x0045; + _TMP44 = (_TMP13*(-4.50000000E+00*_ax0045 + 2.25000000E+01) + -3.60000000E+01*_ax0045 + 1.80000000E+01)/6.00000000E+00; + } else { + _TMP44 = 0.00000000E+00; + } + } + _ax0049 = abs(_x0039); + if (_ax0049 < 1.00000000E+00) { + _TMP12 = _x0039*_x0039; + _TMP48 = (_TMP12*(7.50000000E+00*_ax0049 + -1.35000000E+01) + 6.00000000E+00)/6.00000000E+00; + } else { + if (_ax0049 >= 1.00000000E+00 && _ax0049 < 2.00000000E+00) { + _TMP13 = _x0039*_x0039; + _TMP48 = (_TMP13*(-4.50000000E+00*_ax0049 + 2.25000000E+01) + -3.60000000E+01*_ax0049 + 1.80000000E+01)/6.00000000E+00; + } else { + _TMP48 = 0.00000000E+00; + } + } + _x0053 = _x0039 + 1.00000000E+00; + _ax0053 = abs(_x0053); + if (_ax0053 < 1.00000000E+00) { + _TMP12 = _x0053*_x0053; + _TMP52 = (_TMP12*(7.50000000E+00*_ax0053 + -1.35000000E+01) + 6.00000000E+00)/6.00000000E+00; + } else { + if (_ax0053 >= 1.00000000E+00 && _ax0053 < 2.00000000E+00) { + _TMP13 = _x0053*_x0053; + _TMP52 = (_TMP13*(-4.50000000E+00*_ax0053 + 2.25000000E+01) + -3.60000000E+01*_ax0053 + 1.80000000E+01)/6.00000000E+00; + } else { + _TMP52 = 0.00000000E+00; + } + } + _columntaps = vec4(_TMP40, _TMP44, _TMP48, _TMP52); + _linetaps1 = _linetaps1/(_linetaps1.x + _linetaps1.y + _linetaps1.z + _linetaps1.w); + _columntaps = _columntaps/(_columntaps.x + _columntaps.y + _columntaps.z + _columntaps.w); + _xystart = (-1.50000000E+00 - _f)*_stepxy + _pos; + _xpos2 = vec4(_xystart.x, _xystart.x + _stepxy.x, _xystart.x + _stepxy.x*2.00000000E+00, _xystart.x + _stepxy.x*3.00000000E+00); + _c0061 = vec2(_xpos2.x, _xystart.y); + _TMP14 = texture2D(Texture, _c0061); + _TMP8 = _TMP14.xyz; + _c0065 = vec2(_xpos2.y, _xystart.y); + _TMP14 = texture2D(Texture, _c0065); + _TMP9 = _TMP14.xyz; + _c0069 = vec2(_xpos2.z, _xystart.y); + _TMP14 = texture2D(Texture, _c0069); + _TMP10 = _TMP14.xyz; + _c0073 = vec2(_xpos2.w, _xystart.y); + _TMP14 = texture2D(Texture, _c0073); + _TMP0 = _TMP8*_linetaps1.x + _TMP9*_linetaps1.y + _TMP10*_linetaps1.z + _TMP14.xyz*_linetaps1.w; + _ypos0075 = _xystart.y + _stepxy.y; + _c0079 = vec2(_xpos2.x, _ypos0075); + _TMP14 = texture2D(Texture, _c0079); + _TMP8 = _TMP14.xyz; + _c0083 = vec2(_xpos2.y, _ypos0075); + _TMP14 = texture2D(Texture, _c0083); + _TMP9 = _TMP14.xyz; + _c0087 = vec2(_xpos2.z, _ypos0075); + _TMP14 = texture2D(Texture, _c0087); + _TMP10 = _TMP14.xyz; + _c0091 = vec2(_xpos2.w, _ypos0075); + _TMP14 = texture2D(Texture, _c0091); + _TMP1 = _TMP8*_linetaps1.x + _TMP9*_linetaps1.y + _TMP10*_linetaps1.z + _TMP14.xyz*_linetaps1.w; + _ypos0093 = _xystart.y + _stepxy.y*2.00000000E+00; + _c0097 = vec2(_xpos2.x, _ypos0093); + _TMP14 = texture2D(Texture, _c0097); + _TMP8 = _TMP14.xyz; + _c0101 = vec2(_xpos2.y, _ypos0093); + _TMP14 = texture2D(Texture, _c0101); + _TMP9 = _TMP14.xyz; + _c0105 = vec2(_xpos2.z, _ypos0093); + _TMP14 = texture2D(Texture, _c0105); + _TMP10 = _TMP14.xyz; + _c0109 = vec2(_xpos2.w, _ypos0093); + _TMP14 = texture2D(Texture, _c0109); + _TMP2 = _TMP8*_linetaps1.x + _TMP9*_linetaps1.y + _TMP10*_linetaps1.z + _TMP14.xyz*_linetaps1.w; + _ypos0111 = _xystart.y + _stepxy.y*3.00000000E+00; + _c0115 = vec2(_xpos2.x, _ypos0111); + _TMP14 = texture2D(Texture, _c0115); + _TMP8 = _TMP14.xyz; + _c0119 = vec2(_xpos2.y, _ypos0111); + _TMP14 = texture2D(Texture, _c0119); + _TMP9 = _TMP14.xyz; + _c0123 = vec2(_xpos2.z, _ypos0111); + _TMP14 = texture2D(Texture, _c0123); + _TMP10 = _TMP14.xyz; + _c0127 = vec2(_xpos2.w, _ypos0111); + _TMP14 = texture2D(Texture, _c0127); + _TMP3 = _TMP8*_linetaps1.x + _TMP9*_linetaps1.y + _TMP10*_linetaps1.z + _TMP14.xyz*_linetaps1.w; + _TMP17 = _TMP0*_columntaps.x + _TMP1*_columntaps.y + _TMP2*_columntaps.z + _TMP3*_columntaps.w; + _OUT._color = vec4(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z), 1.00000000E+00); + gl_FragColor = vec4(float(_OUT._color.x), float(_OUT._color.y), float(_OUT._color.z), float(_OUT._color.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Bicubic/bicubic-fast.glsl b/ios/Assets/shaders_glsl/Bicubic/bicubic-fast.glsl new file mode 100644 index 0000000000..02f79e662f --- /dev/null +++ b/ios/Assets/shaders_glsl/Bicubic/bicubic-fast.glsl @@ -0,0 +1,313 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 VARt8; +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 VARtexCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 VARtexCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; + vec2 VARt8; +}; +vec4 _oPosition1; +out_vertex _ret_0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0020; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _ps; + out_vertex _TMP16; + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _r0020.x = dot(MVPMatrix_[0], VertexCoord); + _r0020.y = dot(MVPMatrix_[1], VertexCoord); + _r0020.z = dot(MVPMatrix_[2], VertexCoord); + _r0020.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0020; + _TMP16.VARt1 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(-_ps.x, -_ps.y, 0.00000000E+00, -_ps.y); + _TMP16.VARt2 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(_ps.x, -_ps.y, 2.00000000E+00*_ps.x, -_ps.y); + _TMP16.VARt3 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(-_ps.x, 0.00000000E+00, _ps.x, 0.00000000E+00); + _TMP16.VARt4 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(2.00000000E+00*_ps.x, 0.00000000E+00, -_ps.x, _ps.y); + _TMP16.VARt5 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(0.00000000E+00, _ps.y, _ps.x, _ps.y); + _TMP16.VARt6 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(2.00000000E+00*_ps.x, _ps.y, -_ps.x, 2.00000000E+00*_ps.y); + _TMP16.VARt7 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(0.00000000E+00, 2.00000000E+00*_ps.y, _ps.x, 2.00000000E+00*_ps.y); + _TMP16.VARt8 = TexCoord.xy + vec2(2.00000000E+00*_ps.x, 2.00000000E+00*_ps.y); + VARtexCoord = TexCoord.xy; + VARt1 = _TMP16.VARt1; + VARt2 = _TMP16.VARt2; + VARt3 = _TMP16.VARt3; + VARt4 = _TMP16.VARt4; + VARt5 = _TMP16.VARt5; + VARt6 = _TMP16.VARt6; + VARt7 = _TMP16.VARt7; + VARt8 = _TMP16.VARt8; + gl_Position = _r0020; + return; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 VARt8; +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 VARtexCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 VARtexCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; + vec2 VARt8; +}; +vec4 _ret_0; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0035; +vec4 _C0069; +vec4 _C0079[1]; +vec4 _C0081; +float _C0091; +vec4 _C0093; +float _C0103; +vec4 _C0105; +float _C0115; +vec4 _TMP116; +vec4 _TMP117; +vec4 _TMP118; +vec4 _TMP119; +vec4 _TMP120; +vec4 _TMP121; +vec4 _TMP122; +vec4 _TMP123; +vec4 _TMP124; +vec4 _TMP125; +vec4 _TMP126; +vec4 _TMP127; +vec4 _TMP128; +vec4 _TMP129; +vec4 _TMP130; +vec4 _TMP131; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec4 _TMP26[1]; + vec4 _TMP27; + vec4 _TMP29[4]; + vec4 _TMP30[4]; + vec4 _TMP31[4]; + _x0035 = VARtexCoord*TextureSize; + _fp = fract(_x0035); + _TMP0 = texture2D(Texture, VARt1.xy); + _TMP1 = texture2D(Texture, VARt1.zw); + _TMP2 = texture2D(Texture, VARt2.xy); + _TMP3 = texture2D(Texture, VARt2.zw); + _TMP4 = texture2D(Texture, VARt3.xy); + _TMP5 = texture2D(Texture, VARtexCoord); + _TMP6 = texture2D(Texture, VARt3.zw); + _TMP7 = texture2D(Texture, VARt4.xy); + _TMP8 = texture2D(Texture, VARt4.zw); + _TMP9 = texture2D(Texture, VARt5.xy); + _TMP10 = texture2D(Texture, VARt5.zw); + _TMP11 = texture2D(Texture, VARt6.xy); + _TMP12 = texture2D(Texture, VARt6.zw); + _TMP13 = texture2D(Texture, VARt7.xy); + _TMP14 = texture2D(Texture, VARt7.zw); + _TMP15 = texture2D(Texture, VARt8.xy); + _TMP31[0] = vec4(_TMP0.x, _TMP1.x, _TMP2.x, _TMP3.x); + _TMP31[1] = vec4(_TMP4.x, _TMP5.x, _TMP6.x, _TMP7.x); + _TMP31[2] = vec4(_TMP8.x, _TMP9.x, _TMP10.x, _TMP11.x); + _TMP31[3] = vec4(_TMP12.x, _TMP13.x, _TMP14.x, _TMP15.x); + _TMP30[0] = vec4(_TMP0.y, _TMP1.y, _TMP2.y, _TMP3.y); + _TMP30[1] = vec4(_TMP4.y, _TMP5.y, _TMP6.y, _TMP7.y); + _TMP30[2] = vec4(_TMP8.y, _TMP9.y, _TMP10.y, _TMP11.y); + _TMP30[3] = vec4(_TMP12.y, _TMP13.y, _TMP14.y, _TMP15.y); + _TMP29[0] = vec4(_TMP0.z, _TMP1.z, _TMP2.z, _TMP3.z); + _TMP29[1] = vec4(_TMP4.z, _TMP5.z, _TMP6.z, _TMP7.z); + _TMP29[2] = vec4(_TMP8.z, _TMP9.z, _TMP10.z, _TMP11.z); + _TMP29[3] = vec4(_TMP12.z, _TMP13.z, _TMP14.z, _TMP15.z); + _TMP27[0] = _fp.x*_fp.x*_fp.x; + _TMP27[1] = _fp.x*_fp.x; + _TMP27[2] = _fp.x; + _TMP116.x = _TMP27[0]; + _TMP116.y = _TMP27[1]; + _TMP116.z = _TMP27[2]; + _TMP116.w = 1.00000000E+00; + _C0069[0] = dot(vec4( -1.66666672E-01, 5.00000000E-01, -3.33333343E-01, 0.00000000E+00), _TMP116); + _TMP117.x = _TMP27[0]; + _TMP117.y = _TMP27[1]; + _TMP117.z = _TMP27[2]; + _TMP117.w = 1.00000000E+00; + _C0069[1] = dot(vec4( 5.00000000E-01, -1.00000000E+00, -5.00000000E-01, 1.00000000E+00), _TMP117); + _TMP118.x = _TMP27[0]; + _TMP118.y = _TMP27[1]; + _TMP118.z = _TMP27[2]; + _TMP118.w = 1.00000000E+00; + _C0069[2] = dot(vec4( -5.00000000E-01, 5.00000000E-01, 1.00000000E+00, 0.00000000E+00), _TMP118); + _TMP119.x = _TMP27[0]; + _TMP119.y = _TMP27[1]; + _TMP119.z = _TMP27[2]; + _TMP119.w = 1.00000000E+00; + _C0069[3] = dot(vec4( 1.66666672E-01, 0.00000000E+00, -1.66666672E-01, 0.00000000E+00), _TMP119); + _TMP26[0] = vec4(_fp.y*_fp.y*_fp.y, _fp.y*_fp.y, _fp.y, 1.00000000E+00); + _C0079[0] = _TMP26[0].x*vec4( -1.66666672E-01, 5.00000000E-01, -5.00000000E-01, 1.66666672E-01) + _TMP26[0].y*vec4( 5.00000000E-01, -1.00000000E+00, 5.00000000E-01, 0.00000000E+00) + _TMP26[0].z*vec4( -3.33333343E-01, -5.00000000E-01, 1.00000000E+00, -1.66666672E-01) + _TMP26[0].w*vec4( 0.00000000E+00, 1.00000000E+00, 0.00000000E+00, 0.00000000E+00); + _TMP120.x = _C0069[0]; + _TMP120.y = _C0069[1]; + _TMP120.z = _C0069[2]; + _TMP120.w = _C0069[3]; + _C0081[0] = dot(_TMP31[0], _TMP120); + _TMP121.x = _C0069[0]; + _TMP121.y = _C0069[1]; + _TMP121.z = _C0069[2]; + _TMP121.w = _C0069[3]; + _C0081[1] = dot(_TMP31[1], _TMP121); + _TMP122.x = _C0069[0]; + _TMP122.y = _C0069[1]; + _TMP122.z = _C0069[2]; + _TMP122.w = _C0069[3]; + _C0081[2] = dot(_TMP31[2], _TMP122); + _TMP123.x = _C0069[0]; + _TMP123.y = _C0069[1]; + _TMP123.z = _C0069[2]; + _TMP123.w = _C0069[3]; + _C0081[3] = dot(_TMP31[3], _TMP123); + _C0091 = _C0079[0].x*_C0081[0] + _C0079[0].y*_C0081[1] + _C0079[0].z*_C0081[2] + _C0079[0].w*_C0081[3]; + _TMP124.x = _C0069[0]; + _TMP124.y = _C0069[1]; + _TMP124.z = _C0069[2]; + _TMP124.w = _C0069[3]; + _C0093[0] = dot(_TMP30[0], _TMP124); + _TMP125.x = _C0069[0]; + _TMP125.y = _C0069[1]; + _TMP125.z = _C0069[2]; + _TMP125.w = _C0069[3]; + _C0093[1] = dot(_TMP30[1], _TMP125); + _TMP126.x = _C0069[0]; + _TMP126.y = _C0069[1]; + _TMP126.z = _C0069[2]; + _TMP126.w = _C0069[3]; + _C0093[2] = dot(_TMP30[2], _TMP126); + _TMP127.x = _C0069[0]; + _TMP127.y = _C0069[1]; + _TMP127.z = _C0069[2]; + _TMP127.w = _C0069[3]; + _C0093[3] = dot(_TMP30[3], _TMP127); + _C0103 = _C0079[0].x*_C0093[0] + _C0079[0].y*_C0093[1] + _C0079[0].z*_C0093[2] + _C0079[0].w*_C0093[3]; + _TMP128.x = _C0069[0]; + _TMP128.y = _C0069[1]; + _TMP128.z = _C0069[2]; + _TMP128.w = _C0069[3]; + _C0105[0] = dot(_TMP29[0], _TMP128); + _TMP129.x = _C0069[0]; + _TMP129.y = _C0069[1]; + _TMP129.z = _C0069[2]; + _TMP129.w = _C0069[3]; + _C0105[1] = dot(_TMP29[1], _TMP129); + _TMP130.x = _C0069[0]; + _TMP130.y = _C0069[1]; + _TMP130.z = _C0069[2]; + _TMP130.w = _C0069[3]; + _C0105[2] = dot(_TMP29[2], _TMP130); + _TMP131.x = _C0069[0]; + _TMP131.y = _C0069[1]; + _TMP131.z = _C0069[2]; + _TMP131.w = _C0069[3]; + _C0105[3] = dot(_TMP29[3], _TMP131); + _C0115 = _C0079[0].x*_C0105[0] + _C0079[0].y*_C0105[1] + _C0079[0].z*_C0105[2] + _C0079[0].w*_C0105[3]; + _ret_0 = vec4(_C0091, _C0103, _C0115, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Borders/Border-Aspect/border-aspect.glsl b/ios/Assets/shaders_glsl/Borders/Border-Aspect/border-aspect.glsl new file mode 100644 index 0000000000..8da8d7e3cf --- /dev/null +++ b/ios/Assets/shaders_glsl/Borders/Border-Aspect/border-aspect.glsl @@ -0,0 +1,108 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +varying vec2 _border1; +uniform mat4 MVPMatrix; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 LUTTexCoord; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otex_border; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oColor = COLOR; + _border1 = vec2( -2.50000000E-01, 1.25000000E+00); + _otex_border = LUTTexCoord.xy; + gl_Position = _r0005; + COL0 = COLOR; + TEX1.xy = LUTTexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +uniform sampler2D Texture; +uniform sampler2D bg; +varying vec2 _border1; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _background; + vec4 _source_image; + float _sel; + _background = texture2D(bg, TEX1.xy); + _source_image = texture2D(Texture, TEX0.xy); + if (TEX0.x < _border1.x || TEX0.x > _border1.y) { + _sel = 0.00000000E+00; + } else { + _sel = 1.00000000E+00; + } + _ret_0 = _background + _sel*(_source_image - _background); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-fbo-scale-1x.glsl b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-fbo-scale-1x.glsl new file mode 100644 index 0000000000..3094361270 --- /dev/null +++ b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-fbo-scale-1x.glsl @@ -0,0 +1,115 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +attribute vec4 LUTTexCoord; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _otex_border; + vec2 _scale; + vec2 _middle; + vec2 _diff; + vec2 _dist; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oColor = COLOR; + _scale = (OutputSize/vec2( 2.56000000E+02, 2.24000000E+02))/4.00000000E+00; + _middle = (5.00000000E-01*InputSize)/TextureSize; + _diff = TexCoord.xy - _middle; + _oTex = _middle + _diff*_scale; + _dist = LUTTexCoord.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _otex_border = vec2( 5.00000000E-01, 5.00000000E-01) + (_dist*OutputSize)/vec2( 1.92000000E+03, 1.08000000E+03); + gl_Position = _r0005; + COL0 = COLOR; + TEX0.xy = _oTex; + TEX1.xy = _otex_border; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count1; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec4 _TMP0; +uniform sampler2D Texture; +uniform sampler2D bg; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _frame; + vec4 _background; + _frame = texture2D(Texture, TEX0.xy); + _TMP0 = texture2D(bg, TEX1.xy); + _background = vec4(_TMP0.x, _TMP0.y, _TMP0.z, _TMP0.w); + _ret_0 = _frame + _background.w*(_background - _frame); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-fbo-scale-2x.glsl b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-fbo-scale-2x.glsl new file mode 100644 index 0000000000..f24b87afad --- /dev/null +++ b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-fbo-scale-2x.glsl @@ -0,0 +1,115 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +attribute vec4 LUTTexCoord; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _otex_border; + vec2 _scale; + vec2 _middle; + vec2 _diff; + vec2 _dist; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oColor = COLOR; + _scale = (OutputSize/vec2( 5.12000000E+02, 4.48000000E+02))/2.00000000E+00; + _middle = (5.00000000E-01*InputSize)/TextureSize; + _diff = TexCoord.xy - _middle; + _oTex = _middle + _diff*_scale; + _dist = LUTTexCoord.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _otex_border = vec2( 5.00000000E-01, 5.00000000E-01) + (_dist*OutputSize)/vec2( 1.92000000E+03, 1.08000000E+03); + gl_Position = _r0005; + COL0 = COLOR; + TEX0.xy = _oTex; + TEX1.xy = _otex_border; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count1; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec4 _TMP0; +uniform sampler2D Texture; +uniform sampler2D bg; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _frame; + vec4 _background; + _frame = texture2D(Texture, TEX0.xy); + _TMP0 = texture2D(bg, TEX1.xy); + _background = vec4(_TMP0.x, _TMP0.y, _TMP0.z, _TMP0.w); + _ret_0 = _frame + _background.w*(_background - _frame); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-fbo-scale-4x.glsl b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-fbo-scale-4x.glsl new file mode 100644 index 0000000000..a712317040 --- /dev/null +++ b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-fbo-scale-4x.glsl @@ -0,0 +1,115 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +attribute vec4 LUTTexCoord; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _otex_border; + vec2 _scale; + vec2 _middle; + vec2 _diff; + vec2 _dist; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oColor = COLOR; + _scale = OutputSize/vec2( 1.02400000E+03, 8.96000000E+02); + _middle = (5.00000000E-01*InputSize)/TextureSize; + _diff = TexCoord.xy - _middle; + _oTex = _middle + _diff*_scale; + _dist = LUTTexCoord.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _otex_border = vec2( 5.00000000E-01, 5.00000000E-01) + (_dist*OutputSize)/vec2( 1.92000000E+03, 1.08000000E+03); + gl_Position = _r0005; + COL0 = COLOR; + TEX0.xy = _oTex; + TEX1.xy = _otex_border; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count1; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec4 _TMP0; +uniform sampler2D Texture; +uniform sampler2D bg; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _frame; + vec4 _background; + _frame = texture2D(Texture, TEX0.xy); + _TMP0 = texture2D(bg, TEX1.xy); + _background = vec4(_TMP0.x, _TMP0.y, _TMP0.z, _TMP0.w); + _ret_0 = _frame + _background.w*(_background - _frame); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-non-fbo.glsl b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-non-fbo.glsl new file mode 100644 index 0000000000..3094361270 --- /dev/null +++ b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-non-fbo.glsl @@ -0,0 +1,115 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +attribute vec4 LUTTexCoord; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _otex_border; + vec2 _scale; + vec2 _middle; + vec2 _diff; + vec2 _dist; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oColor = COLOR; + _scale = (OutputSize/vec2( 2.56000000E+02, 2.24000000E+02))/4.00000000E+00; + _middle = (5.00000000E-01*InputSize)/TextureSize; + _diff = TexCoord.xy - _middle; + _oTex = _middle + _diff*_scale; + _dist = LUTTexCoord.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _otex_border = vec2( 5.00000000E-01, 5.00000000E-01) + (_dist*OutputSize)/vec2( 1.92000000E+03, 1.08000000E+03); + gl_Position = _r0005; + COL0 = COLOR; + TEX0.xy = _oTex; + TEX1.xy = _otex_border; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count1; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec4 _TMP0; +uniform sampler2D Texture; +uniform sampler2D bg; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _frame; + vec4 _background; + _frame = texture2D(Texture, TEX0.xy); + _TMP0 = texture2D(bg, TEX1.xy); + _background = vec4(_TMP0.x, _TMP0.y, _TMP0.z, _TMP0.w); + _ret_0 = _frame + _background.w*(_background - _frame); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-fbo-scale-1x.glsl b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-fbo-scale-1x.glsl new file mode 100644 index 0000000000..5b620f4237 --- /dev/null +++ b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-fbo-scale-1x.glsl @@ -0,0 +1,198 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0012; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +attribute vec4 LUTTexCoord; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _otex_border; + vec2 _scale; + vec2 _middle; + vec2 _diff; + vec2 _dist; + _r0012.x = dot(MVPMatrix_[0], VertexCoord); + _r0012.y = dot(MVPMatrix_[1], VertexCoord); + _r0012.z = dot(MVPMatrix_[2], VertexCoord); + _r0012.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0012; + _oColor = COLOR; + _scale = (OutputSize/vec2( 2.56000000E+02, 2.24000000E+02))/4.00000000E+00; + _middle = (5.00000000E-01*InputSize)/TextureSize; + _diff = TexCoord.xy - _middle; + _oTex = _middle + _diff*_scale; + _dist = LUTTexCoord.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _otex_border = vec2( 5.00000000E-01, 5.00000000E-01) + (_dist*OutputSize)/vec2( 1.92000000E+03, 1.08000000E+03); + gl_Position = _r0012; + COL0 = COLOR; + TEX0.xy = _oTex; + TEX1.xy = _otex_border; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count1; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec4 _TMP0; +float _TMP8; +float _TMP7; +float _TMP9; +uniform sampler2D Texture; +uniform sampler2D bg; +input_dummy _IN1; +float _res0028; +vec3 _TMP220028; +float _TMP29; +vec2 _diff0030; +float _dist0030; +float _TMP39; +vec2 _diff0040; +float _dist0040; +float _TMP49; +vec2 _diff0050; +float _dist0050; +float _TMP59; +vec2 _diff0060; +float _dist0060; +float _TMP69; +vec2 _diff0070; +float _dist0070; +float _TMP79; +vec2 _diff0080; +float _dist0080; +float _TMP89; +vec2 _diff0090; +float _dist0090; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _frame; + vec4 _background; + _frame = texture2D(Texture, TEX0.xy); + _TMP0 = texture2D(bg, TEX1.xy); + _diff0030 = TEX1.xy - vec2( 6.00000024E-01, 6.99999988E-01); + _TMP7 = dot(_diff0030, _diff0030); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0030 = 3.00000000E+02*_TMP8; + _dist0030 = _dist0030 - 1.50000006E-01*float(FrameCount); + _TMP29 = sin(_dist0030); + _diff0040 = TEX1.xy - vec2( 8.99999976E-01, 8.99999976E-01); + _TMP7 = dot(_diff0040, _diff0040); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0040 = 3.00000000E+02*_TMP8; + _dist0040 = _dist0040 - 1.50000006E-01*float(FrameCount); + _TMP39 = sin(_dist0040); + _res0028 = _TMP29 + _TMP39; + _diff0050 = TEX1.xy - vec2( -6.00000024E-01, 3.00000012E-01); + _TMP7 = dot(_diff0050, _diff0050); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0050 = 3.00000000E+02*_TMP8; + _dist0050 = _dist0050 - 1.50000006E-01*float(FrameCount); + _TMP49 = sin(_dist0050); + _res0028 = _res0028 + _TMP49; + _diff0060 = TEX1.xy - vec2( 1.00000001E-01, 4.00000006E-01); + _TMP7 = dot(_diff0060, _diff0060); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0060 = 3.00000000E+02*_TMP8; + _dist0060 = _dist0060 - 1.50000006E-01*float(FrameCount); + _TMP59 = sin(_dist0060); + _res0028 = _res0028 + _TMP59; + _diff0070 = TEX1.xy - vec2( 1.00000001E-01, 4.00000006E-01); + _TMP7 = dot(_diff0070, _diff0070); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0070 = 3.00000000E+02*_TMP8; + _dist0070 = _dist0070 - 1.50000006E-01*float(FrameCount); + _TMP69 = sin(_dist0070); + _res0028 = _res0028 + _TMP69; + _diff0080 = TEX1.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _TMP7 = dot(_diff0080, _diff0080); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0080 = 3.00000000E+02*_TMP8; + _dist0080 = _dist0080 - 1.50000006E-01*float(FrameCount); + _TMP79 = sin(_dist0080); + _res0028 = _res0028 + _TMP79; + _diff0090 = TEX1.xy - vec2( -1.00000000E+00, 1.00000000E+00); + _TMP7 = dot(_diff0090, _diff0090); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0090 = 3.00000000E+02*_TMP8; + _dist0090 = _dist0090 - 1.50000006E-01*float(FrameCount); + _TMP89 = sin(_dist0090); + _res0028 = _res0028 + _TMP89; + _TMP220028 = _TMP0.xyz*(6.99999988E-01 + 5.00000007E-02*_res0028); + _background = vec4(_TMP220028.x, _TMP220028.y, _TMP220028.z, _TMP0.w); + _ret_0 = _frame + _background.w*(_background - _frame); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-fbo-scale-2x.glsl b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-fbo-scale-2x.glsl new file mode 100644 index 0000000000..588e8abd1c --- /dev/null +++ b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-fbo-scale-2x.glsl @@ -0,0 +1,198 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0012; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +attribute vec4 LUTTexCoord; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _otex_border; + vec2 _scale; + vec2 _middle; + vec2 _diff; + vec2 _dist; + _r0012.x = dot(MVPMatrix_[0], VertexCoord); + _r0012.y = dot(MVPMatrix_[1], VertexCoord); + _r0012.z = dot(MVPMatrix_[2], VertexCoord); + _r0012.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0012; + _oColor = COLOR; + _scale = (OutputSize/vec2( 5.12000000E+02, 4.48000000E+02))/2.00000000E+00; + _middle = (5.00000000E-01*InputSize)/TextureSize; + _diff = TexCoord.xy - _middle; + _oTex = _middle + _diff*_scale; + _dist = LUTTexCoord.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _otex_border = vec2( 5.00000000E-01, 5.00000000E-01) + (_dist*OutputSize)/vec2( 1.92000000E+03, 1.08000000E+03); + gl_Position = _r0012; + COL0 = COLOR; + TEX0.xy = _oTex; + TEX1.xy = _otex_border; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count1; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec4 _TMP0; +float _TMP8; +float _TMP7; +float _TMP9; +uniform sampler2D Texture; +uniform sampler2D bg; +input_dummy _IN1; +float _res0028; +vec3 _TMP220028; +float _TMP29; +vec2 _diff0030; +float _dist0030; +float _TMP39; +vec2 _diff0040; +float _dist0040; +float _TMP49; +vec2 _diff0050; +float _dist0050; +float _TMP59; +vec2 _diff0060; +float _dist0060; +float _TMP69; +vec2 _diff0070; +float _dist0070; +float _TMP79; +vec2 _diff0080; +float _dist0080; +float _TMP89; +vec2 _diff0090; +float _dist0090; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _frame; + vec4 _background; + _frame = texture2D(Texture, TEX0.xy); + _TMP0 = texture2D(bg, TEX1.xy); + _diff0030 = TEX1.xy - vec2( 6.00000024E-01, 6.99999988E-01); + _TMP7 = dot(_diff0030, _diff0030); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0030 = 3.00000000E+02*_TMP8; + _dist0030 = _dist0030 - 1.50000006E-01*float(FrameCount); + _TMP29 = sin(_dist0030); + _diff0040 = TEX1.xy - vec2( 8.99999976E-01, 8.99999976E-01); + _TMP7 = dot(_diff0040, _diff0040); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0040 = 3.00000000E+02*_TMP8; + _dist0040 = _dist0040 - 1.50000006E-01*float(FrameCount); + _TMP39 = sin(_dist0040); + _res0028 = _TMP29 + _TMP39; + _diff0050 = TEX1.xy - vec2( -6.00000024E-01, 3.00000012E-01); + _TMP7 = dot(_diff0050, _diff0050); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0050 = 3.00000000E+02*_TMP8; + _dist0050 = _dist0050 - 1.50000006E-01*float(FrameCount); + _TMP49 = sin(_dist0050); + _res0028 = _res0028 + _TMP49; + _diff0060 = TEX1.xy - vec2( 1.00000001E-01, 4.00000006E-01); + _TMP7 = dot(_diff0060, _diff0060); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0060 = 3.00000000E+02*_TMP8; + _dist0060 = _dist0060 - 1.50000006E-01*float(FrameCount); + _TMP59 = sin(_dist0060); + _res0028 = _res0028 + _TMP59; + _diff0070 = TEX1.xy - vec2( 1.00000001E-01, 4.00000006E-01); + _TMP7 = dot(_diff0070, _diff0070); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0070 = 3.00000000E+02*_TMP8; + _dist0070 = _dist0070 - 1.50000006E-01*float(FrameCount); + _TMP69 = sin(_dist0070); + _res0028 = _res0028 + _TMP69; + _diff0080 = TEX1.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _TMP7 = dot(_diff0080, _diff0080); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0080 = 3.00000000E+02*_TMP8; + _dist0080 = _dist0080 - 1.50000006E-01*float(FrameCount); + _TMP79 = sin(_dist0080); + _res0028 = _res0028 + _TMP79; + _diff0090 = TEX1.xy - vec2( -1.00000000E+00, 1.00000000E+00); + _TMP7 = dot(_diff0090, _diff0090); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0090 = 3.00000000E+02*_TMP8; + _dist0090 = _dist0090 - 1.50000006E-01*float(FrameCount); + _TMP89 = sin(_dist0090); + _res0028 = _res0028 + _TMP89; + _TMP220028 = _TMP0.xyz*(6.99999988E-01 + 5.00000007E-02*_res0028); + _background = vec4(_TMP220028.x, _TMP220028.y, _TMP220028.z, _TMP0.w); + _ret_0 = _frame + _background.w*(_background - _frame); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-fbo-scale-4x.glsl b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-fbo-scale-4x.glsl new file mode 100644 index 0000000000..a685ecda02 --- /dev/null +++ b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-fbo-scale-4x.glsl @@ -0,0 +1,198 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0012; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +attribute vec4 LUTTexCoord; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _otex_border; + vec2 _scale; + vec2 _middle; + vec2 _diff; + vec2 _dist; + _r0012.x = dot(MVPMatrix_[0], VertexCoord); + _r0012.y = dot(MVPMatrix_[1], VertexCoord); + _r0012.z = dot(MVPMatrix_[2], VertexCoord); + _r0012.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0012; + _oColor = COLOR; + _scale = OutputSize/vec2( 1.02400000E+03, 8.96000000E+02); + _middle = (5.00000000E-01*InputSize)/TextureSize; + _diff = TexCoord.xy - _middle; + _oTex = _middle + _diff*_scale; + _dist = LUTTexCoord.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _otex_border = vec2( 5.00000000E-01, 5.00000000E-01) + (_dist*OutputSize)/vec2( 1.92000000E+03, 1.08000000E+03); + gl_Position = _r0012; + COL0 = COLOR; + TEX0.xy = _oTex; + TEX1.xy = _otex_border; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count1; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec4 _TMP0; +float _TMP8; +float _TMP7; +float _TMP9; +uniform sampler2D Texture; +uniform sampler2D bg; +input_dummy _IN1; +float _res0028; +vec3 _TMP220028; +float _TMP29; +vec2 _diff0030; +float _dist0030; +float _TMP39; +vec2 _diff0040; +float _dist0040; +float _TMP49; +vec2 _diff0050; +float _dist0050; +float _TMP59; +vec2 _diff0060; +float _dist0060; +float _TMP69; +vec2 _diff0070; +float _dist0070; +float _TMP79; +vec2 _diff0080; +float _dist0080; +float _TMP89; +vec2 _diff0090; +float _dist0090; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _frame; + vec4 _background; + _frame = texture2D(Texture, TEX0.xy); + _TMP0 = texture2D(bg, TEX1.xy); + _diff0030 = TEX1.xy - vec2( 6.00000024E-01, 6.99999988E-01); + _TMP7 = dot(_diff0030, _diff0030); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0030 = 3.00000000E+02*_TMP8; + _dist0030 = _dist0030 - 1.50000006E-01*float(FrameCount); + _TMP29 = sin(_dist0030); + _diff0040 = TEX1.xy - vec2( 8.99999976E-01, 8.99999976E-01); + _TMP7 = dot(_diff0040, _diff0040); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0040 = 3.00000000E+02*_TMP8; + _dist0040 = _dist0040 - 1.50000006E-01*float(FrameCount); + _TMP39 = sin(_dist0040); + _res0028 = _TMP29 + _TMP39; + _diff0050 = TEX1.xy - vec2( -6.00000024E-01, 3.00000012E-01); + _TMP7 = dot(_diff0050, _diff0050); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0050 = 3.00000000E+02*_TMP8; + _dist0050 = _dist0050 - 1.50000006E-01*float(FrameCount); + _TMP49 = sin(_dist0050); + _res0028 = _res0028 + _TMP49; + _diff0060 = TEX1.xy - vec2( 1.00000001E-01, 4.00000006E-01); + _TMP7 = dot(_diff0060, _diff0060); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0060 = 3.00000000E+02*_TMP8; + _dist0060 = _dist0060 - 1.50000006E-01*float(FrameCount); + _TMP59 = sin(_dist0060); + _res0028 = _res0028 + _TMP59; + _diff0070 = TEX1.xy - vec2( 1.00000001E-01, 4.00000006E-01); + _TMP7 = dot(_diff0070, _diff0070); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0070 = 3.00000000E+02*_TMP8; + _dist0070 = _dist0070 - 1.50000006E-01*float(FrameCount); + _TMP69 = sin(_dist0070); + _res0028 = _res0028 + _TMP69; + _diff0080 = TEX1.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _TMP7 = dot(_diff0080, _diff0080); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0080 = 3.00000000E+02*_TMP8; + _dist0080 = _dist0080 - 1.50000006E-01*float(FrameCount); + _TMP79 = sin(_dist0080); + _res0028 = _res0028 + _TMP79; + _diff0090 = TEX1.xy - vec2( -1.00000000E+00, 1.00000000E+00); + _TMP7 = dot(_diff0090, _diff0090); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0090 = 3.00000000E+02*_TMP8; + _dist0090 = _dist0090 - 1.50000006E-01*float(FrameCount); + _TMP89 = sin(_dist0090); + _res0028 = _res0028 + _TMP89; + _TMP220028 = _TMP0.xyz*(6.99999988E-01 + 5.00000007E-02*_res0028); + _background = vec4(_TMP220028.x, _TMP220028.y, _TMP220028.z, _TMP0.w); + _ret_0 = _frame + _background.w*(_background - _frame); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-non-fbo.glsl b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-non-fbo.glsl new file mode 100644 index 0000000000..5b620f4237 --- /dev/null +++ b/ios/Assets/shaders_glsl/Borders/Border-Centered/border-centered-water-non-fbo.glsl @@ -0,0 +1,198 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0012; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +attribute vec4 LUTTexCoord; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _otex_border; + vec2 _scale; + vec2 _middle; + vec2 _diff; + vec2 _dist; + _r0012.x = dot(MVPMatrix_[0], VertexCoord); + _r0012.y = dot(MVPMatrix_[1], VertexCoord); + _r0012.z = dot(MVPMatrix_[2], VertexCoord); + _r0012.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0012; + _oColor = COLOR; + _scale = (OutputSize/vec2( 2.56000000E+02, 2.24000000E+02))/4.00000000E+00; + _middle = (5.00000000E-01*InputSize)/TextureSize; + _diff = TexCoord.xy - _middle; + _oTex = _middle + _diff*_scale; + _dist = LUTTexCoord.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _otex_border = vec2( 5.00000000E-01, 5.00000000E-01) + (_dist*OutputSize)/vec2( 1.92000000E+03, 1.08000000E+03); + gl_Position = _r0012; + COL0 = COLOR; + TEX0.xy = _oTex; + TEX1.xy = _otex_border; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count1; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec4 _TMP0; +float _TMP8; +float _TMP7; +float _TMP9; +uniform sampler2D Texture; +uniform sampler2D bg; +input_dummy _IN1; +float _res0028; +vec3 _TMP220028; +float _TMP29; +vec2 _diff0030; +float _dist0030; +float _TMP39; +vec2 _diff0040; +float _dist0040; +float _TMP49; +vec2 _diff0050; +float _dist0050; +float _TMP59; +vec2 _diff0060; +float _dist0060; +float _TMP69; +vec2 _diff0070; +float _dist0070; +float _TMP79; +vec2 _diff0080; +float _dist0080; +float _TMP89; +vec2 _diff0090; +float _dist0090; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _frame; + vec4 _background; + _frame = texture2D(Texture, TEX0.xy); + _TMP0 = texture2D(bg, TEX1.xy); + _diff0030 = TEX1.xy - vec2( 6.00000024E-01, 6.99999988E-01); + _TMP7 = dot(_diff0030, _diff0030); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0030 = 3.00000000E+02*_TMP8; + _dist0030 = _dist0030 - 1.50000006E-01*float(FrameCount); + _TMP29 = sin(_dist0030); + _diff0040 = TEX1.xy - vec2( 8.99999976E-01, 8.99999976E-01); + _TMP7 = dot(_diff0040, _diff0040); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0040 = 3.00000000E+02*_TMP8; + _dist0040 = _dist0040 - 1.50000006E-01*float(FrameCount); + _TMP39 = sin(_dist0040); + _res0028 = _TMP29 + _TMP39; + _diff0050 = TEX1.xy - vec2( -6.00000024E-01, 3.00000012E-01); + _TMP7 = dot(_diff0050, _diff0050); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0050 = 3.00000000E+02*_TMP8; + _dist0050 = _dist0050 - 1.50000006E-01*float(FrameCount); + _TMP49 = sin(_dist0050); + _res0028 = _res0028 + _TMP49; + _diff0060 = TEX1.xy - vec2( 1.00000001E-01, 4.00000006E-01); + _TMP7 = dot(_diff0060, _diff0060); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0060 = 3.00000000E+02*_TMP8; + _dist0060 = _dist0060 - 1.50000006E-01*float(FrameCount); + _TMP59 = sin(_dist0060); + _res0028 = _res0028 + _TMP59; + _diff0070 = TEX1.xy - vec2( 1.00000001E-01, 4.00000006E-01); + _TMP7 = dot(_diff0070, _diff0070); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0070 = 3.00000000E+02*_TMP8; + _dist0070 = _dist0070 - 1.50000006E-01*float(FrameCount); + _TMP69 = sin(_dist0070); + _res0028 = _res0028 + _TMP69; + _diff0080 = TEX1.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _TMP7 = dot(_diff0080, _diff0080); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0080 = 3.00000000E+02*_TMP8; + _dist0080 = _dist0080 - 1.50000006E-01*float(FrameCount); + _TMP79 = sin(_dist0080); + _res0028 = _res0028 + _TMP79; + _diff0090 = TEX1.xy - vec2( -1.00000000E+00, 1.00000000E+00); + _TMP7 = dot(_diff0090, _diff0090); + _TMP9 = inversesqrt(_TMP7); + _TMP8 = 1.00000000E+00/_TMP9; + _dist0090 = 3.00000000E+02*_TMP8; + _dist0090 = _dist0090 - 1.50000006E-01*float(FrameCount); + _TMP89 = sin(_dist0090); + _res0028 = _res0028 + _TMP89; + _TMP220028 = _TMP0.xyz*(6.99999988E-01 + 5.00000007E-02*_res0028); + _background = vec4(_TMP220028.x, _TMP220028.y, _TMP220028.z, _TMP0.w); + _ret_0 = _frame + _background.w*(_background - _frame); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-fbo-scale-1x.glsl b/ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-fbo-scale-1x.glsl new file mode 100644 index 0000000000..dc4889bcd6 --- /dev/null +++ b/ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-fbo-scale-1x.glsl @@ -0,0 +1,115 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +attribute vec4 LUTTexCoord; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _otex_border; + vec2 _scale; + vec2 _middle; + vec2 _diff; + vec2 _dist; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oColor = COLOR; + _scale = (OutputSize/vec2( 2.56000000E+02, 2.24000000E+02))/4.00000000E+00; + _middle = (2.00000003E-01*InputSize)/TextureSize; + _diff = TexCoord.xy - _middle; + _oTex = _middle + _diff*_scale; + _dist = LUTTexCoord.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _otex_border = vec2( 5.00000000E-01, 5.00000000E-01) + (_dist*OutputSize)/vec2( 1.92000000E+03, 1.08000000E+03); + gl_Position = _r0005; + COL0 = COLOR; + TEX0.xy = _oTex; + TEX1.xy = _otex_border; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count1; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec4 _TMP0; +uniform sampler2D Texture; +uniform sampler2D bg; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _frame; + vec4 _background; + _frame = texture2D(Texture, TEX0.xy); + _TMP0 = texture2D(bg, TEX1.xy); + _background = vec4(_TMP0.x, _TMP0.y, _TMP0.z, _TMP0.w); + _ret_0 = _frame + _background.w*(_background - _frame); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-fbo-scale-2x.glsl b/ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-fbo-scale-2x.glsl new file mode 100644 index 0000000000..7d84e7953d --- /dev/null +++ b/ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-fbo-scale-2x.glsl @@ -0,0 +1,115 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +attribute vec4 LUTTexCoord; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _otex_border; + vec2 _scale; + vec2 _middle; + vec2 _diff; + vec2 _dist; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oColor = COLOR; + _scale = (OutputSize/vec2( 5.12000000E+02, 4.48000000E+02))/2.00000000E+00; + _middle = (2.00000003E-01*InputSize)/TextureSize; + _diff = TexCoord.xy - _middle; + _oTex = _middle + _diff*_scale; + _dist = LUTTexCoord.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _otex_border = vec2( 5.00000000E-01, 5.00000000E-01) + (_dist*OutputSize)/vec2( 1.92000000E+03, 1.08000000E+03); + gl_Position = _r0005; + COL0 = COLOR; + TEX0.xy = _oTex; + TEX1.xy = _otex_border; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count1; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec4 _TMP0; +uniform sampler2D Texture; +uniform sampler2D bg; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _frame; + vec4 _background; + _frame = texture2D(Texture, TEX0.xy); + _TMP0 = texture2D(bg, TEX1.xy); + _background = vec4(_TMP0.x, _TMP0.y, _TMP0.z, _TMP0.w); + _ret_0 = _frame + _background.w*(_background - _frame); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-fbo-scale-4x.glsl b/ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-fbo-scale-4x.glsl new file mode 100644 index 0000000000..92b17ebe8f --- /dev/null +++ b/ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-fbo-scale-4x.glsl @@ -0,0 +1,115 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +attribute vec4 LUTTexCoord; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _otex_border; + vec2 _scale; + vec2 _middle; + vec2 _diff; + vec2 _dist; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oColor = COLOR; + _scale = OutputSize/vec2( 1.02400000E+03, 8.96000000E+02); + _middle = (2.00000003E-01*InputSize)/TextureSize; + _diff = TexCoord.xy - _middle; + _oTex = _middle + _diff*_scale; + _dist = LUTTexCoord.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _otex_border = vec2( 5.00000000E-01, 5.00000000E-01) + (_dist*OutputSize)/vec2( 1.92000000E+03, 1.08000000E+03); + gl_Position = _r0005; + COL0 = COLOR; + TEX0.xy = _oTex; + TEX1.xy = _otex_border; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count1; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec4 _TMP0; +uniform sampler2D Texture; +uniform sampler2D bg; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _frame; + vec4 _background; + _frame = texture2D(Texture, TEX0.xy); + _TMP0 = texture2D(bg, TEX1.xy); + _background = vec4(_TMP0.x, _TMP0.y, _TMP0.z, _TMP0.w); + _ret_0 = _frame + _background.w*(_background - _frame); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-non-fbo.glsl b/ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-non-fbo.glsl new file mode 100644 index 0000000000..dc4889bcd6 --- /dev/null +++ b/ios/Assets/shaders_glsl/Borders/Border-Left-Portrait/border-left-portrait-non-fbo.glsl @@ -0,0 +1,115 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +attribute vec4 LUTTexCoord; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _otex_border; + vec2 _scale; + vec2 _middle; + vec2 _diff; + vec2 _dist; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oColor = COLOR; + _scale = (OutputSize/vec2( 2.56000000E+02, 2.24000000E+02))/4.00000000E+00; + _middle = (2.00000003E-01*InputSize)/TextureSize; + _diff = TexCoord.xy - _middle; + _oTex = _middle + _diff*_scale; + _dist = LUTTexCoord.xy - vec2( 5.00000000E-01, 5.00000000E-01); + _otex_border = vec2( 5.00000000E-01, 5.00000000E-01) + (_dist*OutputSize)/vec2( 1.92000000E+03, 1.08000000E+03); + gl_Position = _r0005; + COL0 = COLOR; + TEX0.xy = _oTex; + TEX1.xy = _otex_border; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count1; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec4 _TMP0; +uniform sampler2D Texture; +uniform sampler2D bg; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _frame; + vec4 _background; + _frame = texture2D(Texture, TEX0.xy); + _TMP0 = texture2D(bg, TEX1.xy); + _background = vec4(_TMP0.x, _TMP0.y, _TMP0.z, _TMP0.w); + _ret_0 = _frame + _background.w*(_background - _frame); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/4xBR-Hybrid-CRT.glsl b/ios/Assets/shaders_glsl/CRT/4xBR-Hybrid-CRT.glsl new file mode 100644 index 0000000000..41d1483ef8 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/4xBR-Hybrid-CRT.glsl @@ -0,0 +1,798 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color1; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +vec3 _TMP76; +vec3 _TMP92; +float _TMP91; +float _TMP90; +float _TMP89; +vec3 _TMP75; +float _TMP88; +float _TMP87; +float _TMP86; +float _TMP95; +float _TMP74; +float _TMP73; +float _TMP72; +vec3 _TMP94; +vec3 _TMP71; +vec3 _TMP70; +vec3 _TMP69; +vec3 _TMP68; +vec3 _TMP67; +vec3 _TMP66; +vec3 _TMP65; +vec3 _TMP64; +vec3 _TMP63; +vec3 _TMP62; +vec4 _TMP61; +float _TMP60; +float _TMP59; +float _TMP58; +vec3 _TMP85; +vec3 _TMP56; +vec3 _TMP55; +vec3 _TMP54; +vec3 _TMP53; +vec4 _TMP46; +vec4 _TMP45; +vec4 _TMP96; +bvec4 _TMP44; +bvec4 _TMP43; +bvec4 _TMP42; +bvec4 _TMP41; +bvec4 _TMP40; +bvec4 _TMP39; +bvec4 _TMP38; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP93; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0110; +vec4 _r0154; +vec4 _r0164; +vec4 _r0174; +vec4 _r0184; +vec4 _r0194; +vec4 _r0204; +vec4 _TMP215; +vec4 _a0218; +vec4 _TMP221; +vec4 _a0224; +vec4 _TMP227; +vec4 _a0230; +vec4 _TMP233; +vec4 _a0236; +vec4 _TMP239; +vec4 _a0242; +vec4 _TMP245; +vec4 _a0248; +vec4 _TMP251; +vec4 _a0254; +vec4 _TMP257; +vec4 _a0260; +vec4 _TMP263; +vec4 _a0266; +vec4 _TMP269; +vec4 _a0272; +vec4 _TMP275; +vec4 _a0278; +vec4 _TMP281; +vec4 _a0284; +vec4 _TMP287; +vec4 _a0290; +vec4 _TMP293; +vec4 _a0296; +vec4 _TMP299; +vec4 _a0302; +vec4 _TMP305; +vec4 _a0308; +vec4 _TMP311; +vec4 _a0314; +vec4 _TMP317; +vec4 _a0320; +vec4 _x0324; +vec4 _TMP325; +vec4 _x0334; +vec4 _TMP335; +vec4 _x0344; +vec4 _TMP345; +vec4 _TMP353; +vec4 _a0356; +vec4 _TMP357; +vec4 _a0360; +vec4 _TMP361; +vec4 _a0364; +vec4 _TMP365; +vec4 _a0368; +vec4 _TMP369; +vec4 _a0372; +vec4 _TMP375; +vec4 _a0378; +vec4 _TMP379; +vec4 _a0382; +vec4 _TMP383; +vec4 _a0386; +vec4 _TMP387; +vec4 _a0390; +vec4 _TMP391; +vec4 _a0394; +vec4 _TMP395; +vec4 _a0398; +vec4 _TMP399; +vec4 _a0402; +vec4 _TMP403; +vec4 _a0406; +vec4 _TMP407; +vec4 _a0410; +vec4 _TMP411; +vec4 _a0414; +vec4 _TMP415; +vec4 _a0418; +vec3 _b0422; +vec3 _b0426; +vec3 _TMP427; +vec3 _a0428; +vec3 _b0436; +vec3 _b0440; +vec3 _TMP441; +vec3 _a0442; +vec4 _a0448; +vec4 _a0450; +vec4 _a0452; +vec3 _b0458; +vec3 _b0460; +vec3 _df0462; +vec3 _a0464; +vec3 _df0466; +vec3 _a0468; +vec3 _TMP497; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A3; + vec3 _B3; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec3 _res; + vec3 _n1; + vec3 _n2; + vec3 _n3; + vec3 _n4; + vec3 _s; + vec3 _aa; + vec3 _bb; + vec3 _cc; + vec3 _dd; + vec3 _t; + vec3 _m; + vec3 _s1; + vec3 _s0; + vec4 _maximo; + vec3 _color; + float _ddy; + float _v_weight_00; + vec3 _coords10; + vec3 _colorNB; + float _v_weight_10; + _x0110 = TEX0.xy*TextureSize; + _fp = fract(_x0110); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A3 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B3 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP93 = dot(vec3(float(_B3.x), float(_B3.y), float(_B3.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.x = float(_TMP93); + _TMP93 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.y = float(_TMP93); + _TMP93 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.z = float(_TMP93); + _TMP93 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.w = float(_TMP93); + _b1 = vec4(float(_r0154.x), float(_r0154.y), float(_r0154.z), float(_r0154.w)); + _TMP93 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.x = float(_TMP93); + _TMP93 = dot(vec3(float(_A3.x), float(_A3.y), float(_A3.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.y = float(_TMP93); + _TMP93 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.z = float(_TMP93); + _TMP93 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.w = float(_TMP93); + _c3 = vec4(float(_r0164.x), float(_r0164.y), float(_r0164.z), float(_r0164.w)); + _TMP93 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.x = float(_TMP93); + _TMP93 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.y = float(_TMP93); + _TMP93 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.z = float(_TMP93); + _TMP93 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.w = float(_TMP93); + _e1 = vec4(float(_r0174.x), float(_r0174.y), float(_r0174.z), float(_r0174.w)); + _TMP93 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0184.x = float(_TMP93); + _TMP93 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0184.y = float(_TMP93); + _TMP93 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0184.z = float(_TMP93); + _TMP93 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0184.w = float(_TMP93); + _i4 = vec4(float(_r0184.x), float(_r0184.y), float(_r0184.z), float(_r0184.w)); + _TMP93 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0194.x = float(_TMP93); + _TMP93 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0194.y = float(_TMP93); + _TMP93 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0194.z = float(_TMP93); + _TMP93 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0194.w = float(_TMP93); + _i5 = vec4(float(_r0194.x), float(_r0194.y), float(_r0194.z), float(_r0194.w)); + _TMP93 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0204.x = float(_TMP93); + _TMP93 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0204.y = float(_TMP93); + _TMP93 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0204.z = float(_TMP93); + _TMP93 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0204.w = float(_TMP93); + _h5 = vec4(float(_r0204.x), float(_r0204.y), float(_r0204.z), float(_r0204.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0218 = _e1 - _b1; + _TMP215 = abs(_a0218); + _TMP27 = bvec4(_TMP215.x < 2.00000000E+00, _TMP215.y < 2.00000000E+00, _TMP215.z < 2.00000000E+00, _TMP215.w < 2.00000000E+00); + _a0224 = _e1 - _b1.yzwx; + _TMP221 = abs(_a0224); + _TMP28 = bvec4(_TMP221.x < 2.00000000E+00, _TMP221.y < 2.00000000E+00, _TMP221.z < 2.00000000E+00, _TMP221.w < 2.00000000E+00); + _a0230 = _e1 - _c3.yzwx; + _TMP227 = abs(_a0230); + _TMP29 = bvec4(_TMP227.x < 2.00000000E+00, _TMP227.y < 2.00000000E+00, _TMP227.z < 2.00000000E+00, _TMP227.w < 2.00000000E+00); + _a0236 = _b1.wxyz - _h5.yzwx; + _TMP233 = abs(_a0236); + _TMP30 = bvec4(_TMP233.x < 2.00000000E+00, _TMP233.y < 2.00000000E+00, _TMP233.z < 2.00000000E+00, _TMP233.w < 2.00000000E+00); + _a0242 = _b1.wxyz - _c3; + _TMP239 = abs(_a0242); + _TMP31 = bvec4(_TMP239.x < 2.00000000E+00, _TMP239.y < 2.00000000E+00, _TMP239.z < 2.00000000E+00, _TMP239.w < 2.00000000E+00); + _a0248 = _b1.zwxy - _h5; + _TMP245 = abs(_a0248); + _TMP32 = bvec4(_TMP245.x < 2.00000000E+00, _TMP245.y < 2.00000000E+00, _TMP245.z < 2.00000000E+00, _TMP245.w < 2.00000000E+00); + _a0254 = _b1.zwxy - _c3.zwxy; + _TMP251 = abs(_a0254); + _TMP33 = bvec4(_TMP251.x < 2.00000000E+00, _TMP251.y < 2.00000000E+00, _TMP251.z < 2.00000000E+00, _TMP251.w < 2.00000000E+00); + _a0260 = _b1.wxyz - _b1; + _TMP257 = abs(_a0260); + _TMP34 = bvec4(_TMP257.x < 1.50000000E+01, _TMP257.y < 1.50000000E+01, _TMP257.z < 1.50000000E+01, _TMP257.w < 1.50000000E+01); + _a0266 = _b1.wxyz - _c3; + _TMP263 = abs(_a0266); + _TMP35 = bvec4(_TMP263.x < 1.50000000E+01, _TMP263.y < 1.50000000E+01, _TMP263.z < 1.50000000E+01, _TMP263.w < 1.50000000E+01); + _a0272 = _b1.zwxy - _b1.yzwx; + _TMP269 = abs(_a0272); + _TMP36 = bvec4(_TMP269.x < 1.50000000E+01, _TMP269.y < 1.50000000E+01, _TMP269.z < 1.50000000E+01, _TMP269.w < 1.50000000E+01); + _a0278 = _b1.zwxy - _c3.zwxy; + _TMP275 = abs(_a0278); + _TMP37 = bvec4(_TMP275.x < 1.50000000E+01, _TMP275.y < 1.50000000E+01, _TMP275.z < 1.50000000E+01, _TMP275.w < 1.50000000E+01); + _a0284 = _e1 - _c3.wxyz; + _TMP281 = abs(_a0284); + _TMP38 = bvec4(_TMP281.x < 1.50000000E+01, _TMP281.y < 1.50000000E+01, _TMP281.z < 1.50000000E+01, _TMP281.w < 1.50000000E+01); + _a0290 = _b1.wxyz - _h5.yzwx; + _TMP287 = abs(_a0290); + _TMP39 = bvec4(_TMP287.x < 1.50000000E+01, _TMP287.y < 1.50000000E+01, _TMP287.z < 1.50000000E+01, _TMP287.w < 1.50000000E+01); + _a0296 = _b1.wxyz - _i4; + _TMP293 = abs(_a0296); + _TMP40 = bvec4(_TMP293.x < 1.50000000E+01, _TMP293.y < 1.50000000E+01, _TMP293.z < 1.50000000E+01, _TMP293.w < 1.50000000E+01); + _a0302 = _b1.zwxy - _h5; + _TMP299 = abs(_a0302); + _TMP41 = bvec4(_TMP299.x < 1.50000000E+01, _TMP299.y < 1.50000000E+01, _TMP299.z < 1.50000000E+01, _TMP299.w < 1.50000000E+01); + _a0308 = _b1.zwxy - _i5; + _TMP305 = abs(_a0308); + _TMP42 = bvec4(_TMP305.x < 1.50000000E+01, _TMP305.y < 1.50000000E+01, _TMP305.z < 1.50000000E+01, _TMP305.w < 1.50000000E+01); + _a0314 = _e1 - _c3.zwxy; + _TMP311 = abs(_a0314); + _TMP43 = bvec4(_TMP311.x < 1.50000000E+01, _TMP311.y < 1.50000000E+01, _TMP311.z < 1.50000000E+01, _TMP311.w < 1.50000000E+01); + _a0320 = _e1 - _c3; + _TMP317 = abs(_a0320); + _TMP44 = bvec4(_TMP317.x < 1.50000000E+01, _TMP317.y < 1.50000000E+01, _TMP317.z < 1.50000000E+01, _TMP317.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (_TMP27.x || _TMP28.x || !_TMP29.x) && (_TMP30.x || _TMP31.x || _TMP32.x || _TMP33.x) && (!_TMP34.x && !_TMP35.x || !_TMP36.x && !_TMP37.x || _TMP38.x && (!_TMP39.x && !_TMP40.x || !_TMP41.x && !_TMP42.x) || _TMP43.x || _TMP44.x), _e1.y != _b1.x && _e1.y != _b1.w && (_TMP27.y || _TMP28.y || !_TMP29.y) && (_TMP30.y || _TMP31.y || _TMP32.y || _TMP33.y) && (!_TMP34.y && !_TMP35.y || !_TMP36.y && !_TMP37.y || _TMP38.y && (!_TMP39.y && !_TMP40.y || !_TMP41.y && !_TMP42.y) || _TMP43.y || _TMP44.y), _e1.z != _b1.y && _e1.z != _b1.x && (_TMP27.z || _TMP28.z || !_TMP29.z) && (_TMP30.z || _TMP31.z || _TMP32.z || _TMP33.z) && (!_TMP34.z && !_TMP35.z || !_TMP36.z && !_TMP37.z || _TMP38.z && (!_TMP39.z && !_TMP40.z || !_TMP41.z && !_TMP42.z) || _TMP43.z || _TMP44.z), _e1.w != _b1.z && _e1.w != _b1.y && (_TMP27.w || _TMP28.w || !_TMP29.w) && (_TMP30.w || _TMP31.w || _TMP32.w || _TMP33.w) && (!_TMP34.w && !_TMP35.w || !_TMP36.w && !_TMP37.w || _TMP38.w && (!_TMP39.w && !_TMP40.w || !_TMP41.w && !_TMP42.w) || _TMP43.w || _TMP44.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0324 = (_fx - vec4( 1.10000002E+00, 9.99999940E-02, -8.99999976E-01, 9.99999940E-02))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 7.99999952E-01); + _TMP96 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0324); + _TMP325 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP96); + _fx45 = _TMP325*_TMP325*(3.00000000E+00 - 2.00000000E+00*_TMP325); + _x0334 = (_fx_left - vec4( 6.00000024E-01, 6.00000024E-01, -8.99999976E-01, -4.00000006E-01))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 8.00000012E-01); + _TMP96 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0334); + _TMP335 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP96); + _fx30 = _TMP335*_TMP335*(3.00000000E+00 - 2.00000000E+00*_TMP335); + _x0344 = (_fx_up - vec4( 1.60000002E+00, -4.00000006E-01, -1.39999998E+00, 9.99999940E-02))/vec4( 8.00000072E-01, 8.00000012E-01, 7.99999952E-01, 7.99999952E-01); + _TMP96 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0344); + _TMP345 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP96); + _fx60 = _TMP345*_TMP345*(3.00000000E+00 - 2.00000000E+00*_TMP345); + _a0356 = _e1 - _c3; + _TMP353 = abs(_a0356); + _a0360 = _e1 - _c3.zwxy; + _TMP357 = abs(_a0360); + _a0364 = _c3.wxyz - _h5; + _TMP361 = abs(_a0364); + _a0368 = _c3.wxyz - _h5.yzwx; + _TMP365 = abs(_a0368); + _a0372 = _b1.zwxy - _b1.wxyz; + _TMP369 = abs(_a0372); + _TMP45 = _TMP353 + _TMP357 + _TMP361 + _TMP365 + 4.00000000E+00*_TMP369; + _a0378 = _b1.zwxy - _b1.yzwx; + _TMP375 = abs(_a0378); + _a0382 = _b1.zwxy - _i5; + _TMP379 = abs(_a0382); + _a0386 = _b1.wxyz - _i4; + _TMP383 = abs(_a0386); + _a0390 = _b1.wxyz - _b1; + _TMP387 = abs(_a0390); + _a0394 = _e1 - _c3.wxyz; + _TMP391 = abs(_a0394); + _TMP46 = _TMP375 + _TMP379 + _TMP383 + _TMP387 + 4.00000000E+00*_TMP391; + _edr = bvec4((_TMP45 + 3.50000000E+00).x < _TMP46.x && _interp_restriction_lv1.x, (_TMP45 + 3.50000000E+00).y < _TMP46.y && _interp_restriction_lv1.y, (_TMP45 + 3.50000000E+00).z < _TMP46.z && _interp_restriction_lv1.z, (_TMP45 + 3.50000000E+00).w < _TMP46.w && _interp_restriction_lv1.w); + _a0398 = _b1.wxyz - _c3.zwxy; + _TMP395 = abs(_a0398); + _a0402 = _b1.zwxy - _c3; + _TMP399 = abs(_a0402); + _edr_left = bvec4((2.00000000E+00*_TMP395).x <= _TMP399.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP395).y <= _TMP399.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP395).z <= _TMP399.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP395).w <= _TMP399.w && _interp_restriction_lv2_left.w); + _a0406 = _b1.wxyz - _c3.zwxy; + _TMP403 = abs(_a0406); + _a0410 = _b1.zwxy - _c3; + _TMP407 = abs(_a0410); + _edr_up = bvec4(_TMP403.x >= (2.00000000E+00*_TMP407).x && _interp_restriction_lv2_up.x, _TMP403.y >= (2.00000000E+00*_TMP407).y && _interp_restriction_lv2_up.y, _TMP403.z >= (2.00000000E+00*_TMP407).z && _interp_restriction_lv2_up.z, _TMP403.w >= (2.00000000E+00*_TMP407).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0414 = _e1 - _b1.wxyz; + _TMP411 = abs(_a0414); + _a0418 = _e1 - _b1.zwxy; + _TMP415 = abs(_a0418); + _px = bvec4(_TMP411.x <= _TMP415.x, _TMP411.y <= _TMP415.y, _TMP411.z <= _TMP415.z, _TMP411.w <= _TMP415.w); + _n1 = vec3(float(_B11.x), float(_B11.y), float(_B11.z)); + _n2 = vec3(float(_B3.x), float(_B3.y), float(_B3.z)); + _s = vec3(float(_E.x), float(_E.y), float(_E.z)); + _n3 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _n4 = vec3(float(_H5.x), float(_H5.y), float(_H5.z)); + _aa = _n2 - _n1; + _bb = _s - _n2; + _cc = _n3 - _s; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s.x < 5.00000000E-01 ? (2.00000000E+00*_s).x : (2.00000000E+00*(1.00000000E+00 - _s)).x, _s.y < 5.00000000E-01 ? (2.00000000E+00*_s).y : (2.00000000E+00*(1.00000000E+00 - _s)).y, _s.z < 5.00000000E-01 ? (2.00000000E+00*_s).z : (2.00000000E+00*(1.00000000E+00 - _s)).z); + _TMP53 = abs(_bb); + _b0422 = 6.49999976E-01*_TMP53; + _m = min(_m, _b0422); + _TMP54 = abs(_cc); + _b0426 = 6.49999976E-01*_TMP54; + _m = min(_m, _b0426); + _a0428 = -_m; + _TMP85 = min(_m, _t); + _TMP427 = max(_a0428, _TMP85); + _s1 = (2.00000000E+00*_fp.y - 1.00000000E+00)*_TMP427 + _s; + _n1 = vec3(float(_D0.x), float(_D0.y), float(_D0.z)); + _n2 = vec3(float(_D.x), float(_D.y), float(_D.z)); + _n3 = vec3(float(_F.x), float(_F.y), float(_F.z)); + _n4 = vec3(float(_F4.x), float(_F4.y), float(_F4.z)); + _aa = _n2 - _n1; + _bb = _s1 - _n2; + _cc = _n3 - _s1; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s1.x < 5.00000000E-01 ? (2.00000000E+00*_s1).x : (2.00000000E+00*(1.00000000E+00 - _s1)).x, _s1.y < 5.00000000E-01 ? (2.00000000E+00*_s1).y : (2.00000000E+00*(1.00000000E+00 - _s1)).y, _s1.z < 5.00000000E-01 ? (2.00000000E+00*_s1).z : (2.00000000E+00*(1.00000000E+00 - _s1)).z); + _TMP55 = abs(_bb); + _b0436 = 6.49999976E-01*_TMP55; + _m = min(_m, _b0436); + _TMP56 = abs(_cc); + _b0440 = 6.49999976E-01*_TMP56; + _m = min(_m, _b0440); + _a0442 = -_m; + _TMP85 = min(_m, _t); + _TMP441 = max(_a0442, _TMP85); + _s0 = (2.00000000E+00*_fp.x - 1.00000000E+00)*_TMP441 + _s1; + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _blend2 = 0.00000000E+00; + _blend1 = 0.00000000E+00; + _a0448 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w)); + _TMP58 = dot(_a0448, _fx45); + _a0450 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w)); + _TMP59 = dot(_a0450, _fx30); + _a0452 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w)); + _TMP60 = dot(_a0452, _fx60); + _TMP61 = max(vec4(_TMP59, _TMP59, _TMP59, _TMP59), vec4(_TMP60, _TMP60, _TMP60, _TMP60)); + _maximo = max(_TMP61, vec4(_TMP58, _TMP58, _TMP58, _TMP58)); + if (_nc.x) { + if (_px.x) { + _TMP62 = _F; + } else { + _TMP62 = _H; + } + _pix1 = _TMP62; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP63 = _B3; + } else { + _TMP63 = _F; + } + _pix1 = _TMP63; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP64 = _D; + } else { + _TMP64 = _B3; + } + _pix1 = _TMP64; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP65 = _H; + } else { + _TMP65 = _D; + } + _pix1 = _TMP65; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP66 = _H; + } else { + _TMP66 = _D; + } + _pix2 = _TMP66; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP67 = _D; + } else { + _TMP67 = _B3; + } + _pix2 = _TMP67; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP68 = _B3; + } else { + _TMP68 = _F; + } + _pix2 = _TMP68; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP69 = _F; + } else { + _TMP69 = _H; + } + _pix2 = _TMP69; + _blend2 = _maximo.x; + } + } + } + } + _b0458 = vec3(float(_pix1.x), float(_pix1.y), float(_pix1.z)); + _TMP70 = _s0 + _blend1*(_b0458 - _s0); + _res1 = vec3(float(_TMP70.x), float(_TMP70.y), float(_TMP70.z)); + _b0460 = vec3(float(_pix2.x), float(_pix2.y), float(_pix2.z)); + _TMP71 = _s0 + _blend2*(_b0460 - _s0); + _res2 = vec3(float(_TMP71.x), float(_TMP71.y), float(_TMP71.z)); + _a0464 = _E - _res1; + _TMP94 = abs(vec3(float(_a0464.x), float(_a0464.y), float(_a0464.z))); + _df0462 = vec3(float(_TMP94.x), float(_TMP94.y), float(_TMP94.z)); + _TMP72 = _df0462.x + _df0462.y + _df0462.z; + _a0468 = _E - _res2; + _TMP94 = abs(vec3(float(_a0468.x), float(_a0468.y), float(_a0468.z))); + _df0466 = vec3(float(_TMP94.x), float(_TMP94.y), float(_TMP94.z)); + _TMP73 = _df0466.x + _df0466.y + _df0466.z; + _TMP74 = float((_TMP73 >= _TMP72)); + _res = _res1 + _TMP74*(_res2 - _res1); + _TMP95 = pow(float(_res.x), 2.40039062E+00); + _TMP86 = float(_TMP95); + _TMP95 = pow(float(_res.y), 2.40039062E+00); + _TMP87 = float(_TMP95); + _TMP95 = pow(float(_res.z), 2.40039062E+00); + _TMP88 = float(_TMP95); + _TMP75 = vec3(_TMP86, _TMP87, _TMP88); + _color = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _ddy = _fp.y - 5.00000000E-01; + _v_weight_00 = _ddy/5.79999983E-01; + if (_v_weight_00 > 1.00000000E+00) { + _v_weight_00 = 1.00000000E+00; + } + _v_weight_00 = 1.00000000E+00 - _v_weight_00*_v_weight_00; + _v_weight_00 = _v_weight_00*_v_weight_00; + _color = _color*vec3(_v_weight_00, _v_weight_00, _v_weight_00); + if (_ddy > 0.00000000E+00) { + _coords10 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _ddy = 1.00000000E+00 - _ddy; + } else { + _coords10 = vec3(float(_B3.x), float(_B3.y), float(_B3.z)); + _ddy = 1.00000000E+00 + _ddy; + } + _TMP89 = pow(_coords10.x, 2.40000010E+00); + _TMP90 = pow(_coords10.y, 2.40000010E+00); + _TMP91 = pow(_coords10.z, 2.40000010E+00); + _colorNB = vec3(_TMP89, _TMP90, _TMP91); + _v_weight_10 = _ddy/5.79999983E-01; + if (_v_weight_10 > 1.00000000E+00) { + _v_weight_10 = 1.00000000E+00; + } + _v_weight_10 = 1.00000000E+00 - _v_weight_10*_v_weight_10; + _v_weight_10 = _v_weight_10*_v_weight_10; + _color = _color + _colorNB*vec3(_v_weight_10, _v_weight_10, _v_weight_10); + _color = _color*vec3( 1.45000005E+00, 1.45000005E+00, 1.45000005E+00); + _TMP89 = pow(_color.x, 4.54545438E-01); + _TMP90 = pow(_color.y, 4.54545438E-01); + _TMP91 = pow(_color.z, 4.54545438E-01); + _TMP76 = vec3(_TMP89, _TMP90, _TMP91); + _TMP92 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _TMP76); + _TMP497 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP92); + _ret_0 = vec4(_TMP497.x, _TMP497.y, _TMP497.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/4xBR-Hybrid-CRTb.glsl b/ios/Assets/shaders_glsl/CRT/4xBR-Hybrid-CRTb.glsl new file mode 100644 index 0000000000..90340943eb --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/4xBR-Hybrid-CRTb.glsl @@ -0,0 +1,774 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color1; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +vec3 _TMP72; +vec3 _TMP88; +float _TMP87; +float _TMP86; +float _TMP85; +vec3 _TMP71; +float _TMP84; +float _TMP83; +float _TMP82; +float _TMP91; +float _TMP70; +float _TMP69; +float _TMP68; +vec3 _TMP90; +vec3 _TMP67; +vec3 _TMP66; +vec3 _TMP65; +vec3 _TMP64; +vec3 _TMP63; +vec3 _TMP62; +vec3 _TMP61; +vec3 _TMP60; +vec3 _TMP59; +vec3 _TMP58; +vec4 _TMP57; +float _TMP56; +float _TMP55; +float _TMP54; +vec3 _TMP81; +vec3 _TMP52; +vec3 _TMP51; +vec3 _TMP50; +vec3 _TMP49; +vec4 _TMP42; +vec4 _TMP41; +vec4 _TMP92; +bvec4 _TMP40; +bvec4 _TMP39; +bvec4 _TMP38; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP89; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0106; +vec4 _r0150; +vec4 _r0160; +vec4 _r0170; +vec4 _r0180; +vec4 _r0190; +vec4 _r0200; +vec4 _TMP211; +vec4 _a0214; +vec4 _TMP217; +vec4 _a0220; +vec4 _TMP223; +vec4 _a0226; +vec4 _TMP229; +vec4 _a0232; +vec4 _TMP235; +vec4 _a0238; +vec4 _TMP241; +vec4 _a0244; +vec4 _TMP247; +vec4 _a0250; +vec4 _TMP253; +vec4 _a0256; +vec4 _TMP259; +vec4 _a0262; +vec4 _TMP265; +vec4 _a0268; +vec4 _TMP271; +vec4 _a0274; +vec4 _TMP277; +vec4 _a0280; +vec4 _TMP283; +vec4 _a0286; +vec4 _TMP289; +vec4 _a0292; +vec4 _x0296; +vec4 _TMP297; +vec4 _x0306; +vec4 _TMP307; +vec4 _x0316; +vec4 _TMP317; +vec4 _TMP325; +vec4 _a0328; +vec4 _TMP329; +vec4 _a0332; +vec4 _TMP333; +vec4 _a0336; +vec4 _TMP337; +vec4 _a0340; +vec4 _TMP341; +vec4 _a0344; +vec4 _TMP347; +vec4 _a0350; +vec4 _TMP351; +vec4 _a0354; +vec4 _TMP355; +vec4 _a0358; +vec4 _TMP359; +vec4 _a0362; +vec4 _TMP363; +vec4 _a0366; +vec4 _TMP367; +vec4 _a0370; +vec4 _TMP371; +vec4 _a0374; +vec4 _TMP375; +vec4 _a0378; +vec4 _TMP379; +vec4 _a0382; +vec4 _TMP383; +vec4 _a0386; +vec4 _TMP387; +vec4 _a0390; +vec3 _b0394; +vec3 _b0398; +vec3 _TMP399; +vec3 _a0400; +vec3 _b0408; +vec3 _b0412; +vec3 _TMP413; +vec3 _a0414; +vec4 _a0420; +vec4 _a0422; +vec4 _a0424; +vec3 _b0430; +vec3 _b0432; +vec3 _df0434; +vec3 _a0436; +vec3 _df0438; +vec3 _a0440; +vec3 _TMP469; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A3; + vec3 _B3; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec3 _res; + vec3 _n1; + vec3 _n2; + vec3 _n3; + vec3 _n4; + vec3 _s; + vec3 _aa; + vec3 _bb; + vec3 _cc; + vec3 _dd; + vec3 _t; + vec3 _m; + vec3 _s1; + vec3 _s0; + vec4 _maximo; + vec3 _color; + float _ddy; + float _v_weight_00; + vec3 _coords10; + vec3 _colorNB; + float _v_weight_10; + _x0106 = TEX0.xy*TextureSize; + _fp = fract(_x0106); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A3 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B3 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP89 = dot(vec3(float(_B3.x), float(_B3.y), float(_B3.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.x = float(_TMP89); + _TMP89 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.y = float(_TMP89); + _TMP89 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.z = float(_TMP89); + _TMP89 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.w = float(_TMP89); + _b1 = vec4(float(_r0150.x), float(_r0150.y), float(_r0150.z), float(_r0150.w)); + _TMP89 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.x = float(_TMP89); + _TMP89 = dot(vec3(float(_A3.x), float(_A3.y), float(_A3.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.y = float(_TMP89); + _TMP89 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.z = float(_TMP89); + _TMP89 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.w = float(_TMP89); + _c3 = vec4(float(_r0160.x), float(_r0160.y), float(_r0160.z), float(_r0160.w)); + _TMP89 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.x = float(_TMP89); + _TMP89 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.y = float(_TMP89); + _TMP89 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.z = float(_TMP89); + _TMP89 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.w = float(_TMP89); + _e1 = vec4(float(_r0170.x), float(_r0170.y), float(_r0170.z), float(_r0170.w)); + _TMP89 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0180.x = float(_TMP89); + _TMP89 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0180.y = float(_TMP89); + _TMP89 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0180.z = float(_TMP89); + _TMP89 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0180.w = float(_TMP89); + _i4 = vec4(float(_r0180.x), float(_r0180.y), float(_r0180.z), float(_r0180.w)); + _TMP89 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0190.x = float(_TMP89); + _TMP89 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0190.y = float(_TMP89); + _TMP89 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0190.z = float(_TMP89); + _TMP89 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0190.w = float(_TMP89); + _i5 = vec4(float(_r0190.x), float(_r0190.y), float(_r0190.z), float(_r0190.w)); + _TMP89 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0200.x = float(_TMP89); + _TMP89 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0200.y = float(_TMP89); + _TMP89 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0200.z = float(_TMP89); + _TMP89 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0200.w = float(_TMP89); + _h5 = vec4(float(_r0200.x), float(_r0200.y), float(_r0200.z), float(_r0200.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0214 = _e1 - _b1; + _TMP211 = abs(_a0214); + _TMP27 = bvec4(_TMP211.x < 2.00000000E+00, _TMP211.y < 2.00000000E+00, _TMP211.z < 2.00000000E+00, _TMP211.w < 2.00000000E+00); + _a0220 = _e1 - _b1.yzwx; + _TMP217 = abs(_a0220); + _TMP28 = bvec4(_TMP217.x < 2.00000000E+00, _TMP217.y < 2.00000000E+00, _TMP217.z < 2.00000000E+00, _TMP217.w < 2.00000000E+00); + _a0226 = _e1 - _c3.yzwx; + _TMP223 = abs(_a0226); + _TMP29 = bvec4(_TMP223.x < 2.00000000E+00, _TMP223.y < 2.00000000E+00, _TMP223.z < 2.00000000E+00, _TMP223.w < 2.00000000E+00); + _a0232 = _b1.wxyz - _h5.yzwx; + _TMP229 = abs(_a0232); + _TMP30 = bvec4(_TMP229.x < 2.00000000E+00, _TMP229.y < 2.00000000E+00, _TMP229.z < 2.00000000E+00, _TMP229.w < 2.00000000E+00); + _a0238 = _b1.wxyz - _c3; + _TMP235 = abs(_a0238); + _TMP31 = bvec4(_TMP235.x < 2.00000000E+00, _TMP235.y < 2.00000000E+00, _TMP235.z < 2.00000000E+00, _TMP235.w < 2.00000000E+00); + _a0244 = _b1.zwxy - _h5; + _TMP241 = abs(_a0244); + _TMP32 = bvec4(_TMP241.x < 2.00000000E+00, _TMP241.y < 2.00000000E+00, _TMP241.z < 2.00000000E+00, _TMP241.w < 2.00000000E+00); + _a0250 = _b1.zwxy - _c3.zwxy; + _TMP247 = abs(_a0250); + _TMP33 = bvec4(_TMP247.x < 2.00000000E+00, _TMP247.y < 2.00000000E+00, _TMP247.z < 2.00000000E+00, _TMP247.w < 2.00000000E+00); + _a0256 = _b1.wxyz - _b1; + _TMP253 = abs(_a0256); + _TMP34 = bvec4(_TMP253.x < 1.50000000E+01, _TMP253.y < 1.50000000E+01, _TMP253.z < 1.50000000E+01, _TMP253.w < 1.50000000E+01); + _a0262 = _b1.zwxy - _b1.yzwx; + _TMP259 = abs(_a0262); + _TMP35 = bvec4(_TMP259.x < 1.50000000E+01, _TMP259.y < 1.50000000E+01, _TMP259.z < 1.50000000E+01, _TMP259.w < 1.50000000E+01); + _a0268 = _e1 - _c3.wxyz; + _TMP265 = abs(_a0268); + _TMP36 = bvec4(_TMP265.x < 1.50000000E+01, _TMP265.y < 1.50000000E+01, _TMP265.z < 1.50000000E+01, _TMP265.w < 1.50000000E+01); + _a0274 = _b1.wxyz - _i4; + _TMP271 = abs(_a0274); + _TMP37 = bvec4(_TMP271.x < 1.50000000E+01, _TMP271.y < 1.50000000E+01, _TMP271.z < 1.50000000E+01, _TMP271.w < 1.50000000E+01); + _a0280 = _b1.zwxy - _i5; + _TMP277 = abs(_a0280); + _TMP38 = bvec4(_TMP277.x < 1.50000000E+01, _TMP277.y < 1.50000000E+01, _TMP277.z < 1.50000000E+01, _TMP277.w < 1.50000000E+01); + _a0286 = _e1 - _c3.zwxy; + _TMP283 = abs(_a0286); + _TMP39 = bvec4(_TMP283.x < 1.50000000E+01, _TMP283.y < 1.50000000E+01, _TMP283.z < 1.50000000E+01, _TMP283.w < 1.50000000E+01); + _a0292 = _e1 - _c3; + _TMP289 = abs(_a0292); + _TMP40 = bvec4(_TMP289.x < 1.50000000E+01, _TMP289.y < 1.50000000E+01, _TMP289.z < 1.50000000E+01, _TMP289.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (_TMP27.x || _TMP28.x || !_TMP29.x) && (_TMP30.x || _TMP31.x || _TMP32.x || _TMP33.x) && (!_TMP34.x && !_TMP35.x || _TMP36.x && !_TMP37.x && !_TMP38.x || _TMP39.x || _TMP40.x), _e1.y != _b1.x && _e1.y != _b1.w && (_TMP27.y || _TMP28.y || !_TMP29.y) && (_TMP30.y || _TMP31.y || _TMP32.y || _TMP33.y) && (!_TMP34.y && !_TMP35.y || _TMP36.y && !_TMP37.y && !_TMP38.y || _TMP39.y || _TMP40.y), _e1.z != _b1.y && _e1.z != _b1.x && (_TMP27.z || _TMP28.z || !_TMP29.z) && (_TMP30.z || _TMP31.z || _TMP32.z || _TMP33.z) && (!_TMP34.z && !_TMP35.z || _TMP36.z && !_TMP37.z && !_TMP38.z || _TMP39.z || _TMP40.z), _e1.w != _b1.z && _e1.w != _b1.y && (_TMP27.w || _TMP28.w || !_TMP29.w) && (_TMP30.w || _TMP31.w || _TMP32.w || _TMP33.w) && (!_TMP34.w && !_TMP35.w || _TMP36.w && !_TMP37.w && !_TMP38.w || _TMP39.w || _TMP40.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0296 = (_fx - vec4( 1.10000002E+00, 9.99999940E-02, -8.99999976E-01, 9.99999940E-02))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 7.99999952E-01); + _TMP92 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0296); + _TMP297 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP92); + _fx45 = _TMP297*_TMP297*(3.00000000E+00 - 2.00000000E+00*_TMP297); + _x0306 = (_fx_left - vec4( 6.00000024E-01, 6.00000024E-01, -8.99999976E-01, -4.00000006E-01))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 8.00000012E-01); + _TMP92 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0306); + _TMP307 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP92); + _fx30 = _TMP307*_TMP307*(3.00000000E+00 - 2.00000000E+00*_TMP307); + _x0316 = (_fx_up - vec4( 1.60000002E+00, -4.00000006E-01, -1.39999998E+00, 9.99999940E-02))/vec4( 8.00000072E-01, 8.00000012E-01, 7.99999952E-01, 7.99999952E-01); + _TMP92 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0316); + _TMP317 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP92); + _fx60 = _TMP317*_TMP317*(3.00000000E+00 - 2.00000000E+00*_TMP317); + _a0328 = _e1 - _c3; + _TMP325 = abs(_a0328); + _a0332 = _e1 - _c3.zwxy; + _TMP329 = abs(_a0332); + _a0336 = _c3.wxyz - _h5; + _TMP333 = abs(_a0336); + _a0340 = _c3.wxyz - _h5.yzwx; + _TMP337 = abs(_a0340); + _a0344 = _b1.zwxy - _b1.wxyz; + _TMP341 = abs(_a0344); + _TMP41 = _TMP325 + _TMP329 + _TMP333 + _TMP337 + 4.00000000E+00*_TMP341; + _a0350 = _b1.zwxy - _b1.yzwx; + _TMP347 = abs(_a0350); + _a0354 = _b1.zwxy - _i5; + _TMP351 = abs(_a0354); + _a0358 = _b1.wxyz - _i4; + _TMP355 = abs(_a0358); + _a0362 = _b1.wxyz - _b1; + _TMP359 = abs(_a0362); + _a0366 = _e1 - _c3.wxyz; + _TMP363 = abs(_a0366); + _TMP42 = _TMP347 + _TMP351 + _TMP355 + _TMP359 + 4.00000000E+00*_TMP363; + _edr = bvec4((_TMP41 + 3.50000000E+00).x < _TMP42.x && _interp_restriction_lv1.x, (_TMP41 + 3.50000000E+00).y < _TMP42.y && _interp_restriction_lv1.y, (_TMP41 + 3.50000000E+00).z < _TMP42.z && _interp_restriction_lv1.z, (_TMP41 + 3.50000000E+00).w < _TMP42.w && _interp_restriction_lv1.w); + _a0370 = _b1.wxyz - _c3.zwxy; + _TMP367 = abs(_a0370); + _a0374 = _b1.zwxy - _c3; + _TMP371 = abs(_a0374); + _edr_left = bvec4((2.00000000E+00*_TMP367).x <= _TMP371.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP367).y <= _TMP371.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP367).z <= _TMP371.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP367).w <= _TMP371.w && _interp_restriction_lv2_left.w); + _a0378 = _b1.wxyz - _c3.zwxy; + _TMP375 = abs(_a0378); + _a0382 = _b1.zwxy - _c3; + _TMP379 = abs(_a0382); + _edr_up = bvec4(_TMP375.x >= (2.00000000E+00*_TMP379).x && _interp_restriction_lv2_up.x, _TMP375.y >= (2.00000000E+00*_TMP379).y && _interp_restriction_lv2_up.y, _TMP375.z >= (2.00000000E+00*_TMP379).z && _interp_restriction_lv2_up.z, _TMP375.w >= (2.00000000E+00*_TMP379).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0386 = _e1 - _b1.wxyz; + _TMP383 = abs(_a0386); + _a0390 = _e1 - _b1.zwxy; + _TMP387 = abs(_a0390); + _px = bvec4(_TMP383.x <= _TMP387.x, _TMP383.y <= _TMP387.y, _TMP383.z <= _TMP387.z, _TMP383.w <= _TMP387.w); + _n1 = vec3(float(_B11.x), float(_B11.y), float(_B11.z)); + _n2 = vec3(float(_B3.x), float(_B3.y), float(_B3.z)); + _s = vec3(float(_E.x), float(_E.y), float(_E.z)); + _n3 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _n4 = vec3(float(_H5.x), float(_H5.y), float(_H5.z)); + _aa = _n2 - _n1; + _bb = _s - _n2; + _cc = _n3 - _s; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s.x < 5.00000000E-01 ? (2.00000000E+00*_s).x : (2.00000000E+00*(1.00000000E+00 - _s)).x, _s.y < 5.00000000E-01 ? (2.00000000E+00*_s).y : (2.00000000E+00*(1.00000000E+00 - _s)).y, _s.z < 5.00000000E-01 ? (2.00000000E+00*_s).z : (2.00000000E+00*(1.00000000E+00 - _s)).z); + _TMP49 = abs(_bb); + _b0394 = 6.49999976E-01*_TMP49; + _m = min(_m, _b0394); + _TMP50 = abs(_cc); + _b0398 = 6.49999976E-01*_TMP50; + _m = min(_m, _b0398); + _a0400 = -_m; + _TMP81 = min(_m, _t); + _TMP399 = max(_a0400, _TMP81); + _s1 = (2.00000000E+00*_fp.y - 1.00000000E+00)*_TMP399 + _s; + _n1 = vec3(float(_D0.x), float(_D0.y), float(_D0.z)); + _n2 = vec3(float(_D.x), float(_D.y), float(_D.z)); + _n3 = vec3(float(_F.x), float(_F.y), float(_F.z)); + _n4 = vec3(float(_F4.x), float(_F4.y), float(_F4.z)); + _aa = _n2 - _n1; + _bb = _s1 - _n2; + _cc = _n3 - _s1; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s1.x < 5.00000000E-01 ? (2.00000000E+00*_s1).x : (2.00000000E+00*(1.00000000E+00 - _s1)).x, _s1.y < 5.00000000E-01 ? (2.00000000E+00*_s1).y : (2.00000000E+00*(1.00000000E+00 - _s1)).y, _s1.z < 5.00000000E-01 ? (2.00000000E+00*_s1).z : (2.00000000E+00*(1.00000000E+00 - _s1)).z); + _TMP51 = abs(_bb); + _b0408 = 6.49999976E-01*_TMP51; + _m = min(_m, _b0408); + _TMP52 = abs(_cc); + _b0412 = 6.49999976E-01*_TMP52; + _m = min(_m, _b0412); + _a0414 = -_m; + _TMP81 = min(_m, _t); + _TMP413 = max(_a0414, _TMP81); + _s0 = (2.00000000E+00*_fp.x - 1.00000000E+00)*_TMP413 + _s1; + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _blend2 = 0.00000000E+00; + _blend1 = 0.00000000E+00; + _a0420 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w)); + _TMP54 = dot(_a0420, _fx45); + _a0422 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w)); + _TMP55 = dot(_a0422, _fx30); + _a0424 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w)); + _TMP56 = dot(_a0424, _fx60); + _TMP57 = max(vec4(_TMP55, _TMP55, _TMP55, _TMP55), vec4(_TMP56, _TMP56, _TMP56, _TMP56)); + _maximo = max(_TMP57, vec4(_TMP54, _TMP54, _TMP54, _TMP54)); + if (_nc.x) { + if (_px.x) { + _TMP58 = _F; + } else { + _TMP58 = _H; + } + _pix1 = _TMP58; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP59 = _B3; + } else { + _TMP59 = _F; + } + _pix1 = _TMP59; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP60 = _D; + } else { + _TMP60 = _B3; + } + _pix1 = _TMP60; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP61 = _H; + } else { + _TMP61 = _D; + } + _pix1 = _TMP61; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP62 = _H; + } else { + _TMP62 = _D; + } + _pix2 = _TMP62; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP63 = _D; + } else { + _TMP63 = _B3; + } + _pix2 = _TMP63; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP64 = _B3; + } else { + _TMP64 = _F; + } + _pix2 = _TMP64; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP65 = _F; + } else { + _TMP65 = _H; + } + _pix2 = _TMP65; + _blend2 = _maximo.x; + } + } + } + } + _b0430 = vec3(float(_pix1.x), float(_pix1.y), float(_pix1.z)); + _TMP66 = _s0 + _blend1*(_b0430 - _s0); + _res1 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _b0432 = vec3(float(_pix2.x), float(_pix2.y), float(_pix2.z)); + _TMP67 = _s0 + _blend2*(_b0432 - _s0); + _res2 = vec3(float(_TMP67.x), float(_TMP67.y), float(_TMP67.z)); + _a0436 = _E - _res1; + _TMP90 = abs(vec3(float(_a0436.x), float(_a0436.y), float(_a0436.z))); + _df0434 = vec3(float(_TMP90.x), float(_TMP90.y), float(_TMP90.z)); + _TMP68 = _df0434.x + _df0434.y + _df0434.z; + _a0440 = _E - _res2; + _TMP90 = abs(vec3(float(_a0440.x), float(_a0440.y), float(_a0440.z))); + _df0438 = vec3(float(_TMP90.x), float(_TMP90.y), float(_TMP90.z)); + _TMP69 = _df0438.x + _df0438.y + _df0438.z; + _TMP70 = float((_TMP69 >= _TMP68)); + _res = _res1 + _TMP70*(_res2 - _res1); + _TMP91 = pow(float(_res.x), 2.40039062E+00); + _TMP82 = float(_TMP91); + _TMP91 = pow(float(_res.y), 2.40039062E+00); + _TMP83 = float(_TMP91); + _TMP91 = pow(float(_res.z), 2.40039062E+00); + _TMP84 = float(_TMP91); + _TMP71 = vec3(_TMP82, _TMP83, _TMP84); + _color = vec3(float(_TMP71.x), float(_TMP71.y), float(_TMP71.z)); + _ddy = _fp.y - 5.00000000E-01; + _v_weight_00 = _ddy/5.79999983E-01; + if (_v_weight_00 > 1.00000000E+00) { + _v_weight_00 = 1.00000000E+00; + } + _v_weight_00 = 1.00000000E+00 - _v_weight_00*_v_weight_00; + _v_weight_00 = _v_weight_00*_v_weight_00; + _color = _color*vec3(_v_weight_00, _v_weight_00, _v_weight_00); + if (_ddy > 0.00000000E+00) { + _coords10 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _ddy = 1.00000000E+00 - _ddy; + } else { + _coords10 = vec3(float(_B3.x), float(_B3.y), float(_B3.z)); + _ddy = 1.00000000E+00 + _ddy; + } + _TMP85 = pow(_coords10.x, 2.40000010E+00); + _TMP86 = pow(_coords10.y, 2.40000010E+00); + _TMP87 = pow(_coords10.z, 2.40000010E+00); + _colorNB = vec3(_TMP85, _TMP86, _TMP87); + _v_weight_10 = _ddy/5.79999983E-01; + if (_v_weight_10 > 1.00000000E+00) { + _v_weight_10 = 1.00000000E+00; + } + _v_weight_10 = 1.00000000E+00 - _v_weight_10*_v_weight_10; + _v_weight_10 = _v_weight_10*_v_weight_10; + _color = _color + _colorNB*vec3(_v_weight_10, _v_weight_10, _v_weight_10); + _color = _color*vec3( 1.45000005E+00, 1.45000005E+00, 1.45000005E+00); + _TMP85 = pow(_color.x, 4.54545438E-01); + _TMP86 = pow(_color.y, 4.54545438E-01); + _TMP87 = pow(_color.z, 4.54545438E-01); + _TMP72 = vec3(_TMP85, _TMP86, _TMP87); + _TMP88 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _TMP72); + _TMP469 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP88); + _ret_0 = vec4(_TMP469.x, _TMP469.y, _TMP469.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/CRT-ReverseAA.glsl b/ios/Assets/shaders_glsl/CRT/CRT-ReverseAA.glsl new file mode 100644 index 0000000000..a66ce9fdf9 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/CRT-ReverseAA.glsl @@ -0,0 +1,285 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +vec4 _v0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0005 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0005.x), float(_v0005.y), float(_v0005.z), float(_v0005.w))); + _r0005.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0005.x), float(_v0005.y), float(_v0005.z), float(_v0005.w))); + _r0005.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0005.x), float(_v0005.y), float(_v0005.z), float(_v0005.w))); + _r0005.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0005.x), float(_v0005.y), float(_v0005.z), float(_v0005.w))); + _r0005.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0005.x), float(_r0005.y), float(_r0005.z), float(_r0005.w)); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), float((-2.00000000E+00*_ps.y))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), float(-_ps.y)); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), float(_ps.y)); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), float((2.00000000E+00*_ps.y))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float((-2.00000000E+00*_ps.x)), float(-_ps.y), 0.00000000E+00, float(_ps.y)); + _OUT.VARt7 = TexCoord.xyyy + vec4(float((2.00000000E+00*_ps.x)), float(-_ps.y), 0.00000000E+00, float(_ps.y)); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 _t5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _color1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color1; + vec2 _texCoord; + vec4 _t1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 _t5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +vec3 _TMP11; +vec3 _TMP17; +float _TMP16; +float _TMP15; +float _TMP14; +vec3 _TMP13; +vec3 _TMP10; +vec3 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0023; +vec3 _b0045; +vec3 _b0049; +vec3 _TMP50; +vec3 _a0051; +vec3 _TMP80; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec3 _B; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _H; + vec3 _D0; + vec3 _F4; + vec3 _n1; + vec3 _n2; + vec3 _n3; + vec3 _n4; + vec3 _s; + vec3 _aa; + vec3 _bb; + vec3 _cc; + vec3 _dd; + vec3 _t; + vec3 _m; + vec3 _res; + vec3 _color; + float _ddy; + float _v_weight_00; + vec3 _coords10; + vec3 _colorNB; + float _v_weight_10; + _x0023 = TEX0.xy*TextureSize; + _fp = fract(_x0023); + _TMP1 = texture2D(Texture, VARt2.yw); + _B = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP7 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _n1 = vec3(float(_D0.x), float(_D0.y), float(_D0.z)); + _n2 = vec3(float(_D.x), float(_D.y), float(_D.z)); + _s = vec3(float(_E.x), float(_E.y), float(_E.z)); + _n3 = vec3(float(_F.x), float(_F.y), float(_F.z)); + _n4 = vec3(float(_F4.x), float(_F4.y), float(_F4.z)); + _aa = _n2 - _n1; + _bb = _s - _n2; + _cc = _n3 - _s; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s.x < 5.00000000E-01 ? (2.00000000E+00*_s).x : (2.00000000E+00*(1.00000000E+00 - _s)).x, _s.y < 5.00000000E-01 ? (2.00000000E+00*_s).y : (2.00000000E+00*(1.00000000E+00 - _s)).y, _s.z < 5.00000000E-01 ? (2.00000000E+00*_s).z : (2.00000000E+00*(1.00000000E+00 - _s)).z); + _TMP9 = abs(_bb); + _b0045 = 2.00000000E+00*_TMP9 + 9.99999978E-03; + _m = min(_m, _b0045); + _TMP10 = abs(_cc); + _b0049 = 2.00000000E+00*_TMP10 + 9.99999978E-03; + _m = min(_m, _b0049); + _a0051 = -_m; + _TMP13 = min(_m, _t); + _TMP50 = max(_a0051, _TMP13); + _res = (2.00000000E+00*_fp.x - 1.00000000E+00)*_TMP50 + _s; + _TMP14 = pow(_res.x, 2.40000010E+00); + _TMP15 = pow(_res.y, 2.40000010E+00); + _TMP16 = pow(_res.z, 2.40000010E+00); + _color = vec3(_TMP14, _TMP15, _TMP16); + _ddy = _fp.y - 5.00000000E-01; + _v_weight_00 = _ddy/6.00000024E-01; + if (_v_weight_00 > 1.00000000E+00) { + _v_weight_00 = 1.00000000E+00; + } + _v_weight_00 = 1.00000000E+00 - _v_weight_00*_v_weight_00; + _v_weight_00 = _v_weight_00*_v_weight_00; + _color = _color*vec3(_v_weight_00, _v_weight_00, _v_weight_00); + if (_ddy > 0.00000000E+00) { + _coords10 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _ddy = 1.00000000E+00 - _ddy; + } else { + _coords10 = vec3(float(_B.x), float(_B.y), float(_B.z)); + _ddy = 1.00000000E+00 + _ddy; + } + _TMP14 = pow(_coords10.x, 2.40000010E+00); + _TMP15 = pow(_coords10.y, 2.40000010E+00); + _TMP16 = pow(_coords10.z, 2.40000010E+00); + _colorNB = vec3(_TMP14, _TMP15, _TMP16); + _v_weight_10 = _ddy/6.00000024E-01; + if (_v_weight_10 > 1.00000000E+00) { + _v_weight_10 = 1.00000000E+00; + } + _v_weight_10 = 1.00000000E+00 - _v_weight_10*_v_weight_10; + _v_weight_10 = _v_weight_10*_v_weight_10; + _color = _color + _colorNB*vec3(_v_weight_10, _v_weight_10, _v_weight_10); + _color = _color*vec3( 1.39999998E+00, 1.39999998E+00, 1.39999998E+00); + _TMP14 = pow(_color.x, 4.54545438E-01); + _TMP15 = pow(_color.y, 4.54545438E-01); + _TMP16 = pow(_color.z, 4.54545438E-01); + _TMP11 = vec3(_TMP14, _TMP15, _TMP16); + _TMP17 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _TMP11); + _TMP80 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP17); + _ret_0 = vec4(_TMP80.x, _TMP80.y, _TMP80.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/CRT-caligari.glsl b/ios/Assets/shaders_glsl/CRT/CRT-caligari.glsl new file mode 100644 index 0000000000..387b4330b5 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/CRT-caligari.glsl @@ -0,0 +1,229 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec2 _oney; +varying vec2 _onex; +varying vec2 _texCoord; +struct tex_coords { + vec2 _texCoord; + vec2 _onex; + vec2 _oney; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + tex_coords _coords; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oColor = COLOR; + _coords._texCoord = TexCoord.xy; + _coords._onex = vec2(1.00000000E+00/TextureSize.x, 0.00000000E+00); + _coords._oney = vec2(0.00000000E+00, 1.00000000E+00/TextureSize.y); + gl_Position = _r0003; + COL0 = COLOR; + TEX1.xy = TexCoord.xy; + TEX2.xy = _coords._onex; + TEX3.xy = _coords._oney; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec2 _oney; +varying vec2 _onex; +varying vec2 _texCoord; +struct tex_coords { + vec2 _texCoord; + vec2 _onex; + vec2 _oney; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _TMP5; +vec4 _TMP10; +float _TMP9; +float _TMP8; +float _TMP7; +float _TMP6; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec2 _TMP0; +input_dummy _IN1; +uniform sampler2D Texture; +vec2 _c0028; +vec2 _c0040; +vec2 _c0052; +vec4 _TMP73; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _coords; + vec2 _pixel_center; + vec2 _texture_coords; + vec4 _color; + float _dx; + float _h_weight_00; + vec2 _coords01; + vec4 _colorNB; + float _h_weight_01; + float _dy; + float _v_weight_00; + vec2 _coords10; + float _v_weight_10; + _coords = TEX1.xy*TextureSize; + _TMP0 = floor(_coords); + _pixel_center = _TMP0 + vec2( 5.00000000E-01, 5.00000000E-01); + _texture_coords = _pixel_center/TextureSize; + _TMP1 = texture2D(Texture, _texture_coords); + _TMP6 = pow(_TMP1.x, 2.40000010E+00); + _TMP7 = pow(_TMP1.y, 2.40000010E+00); + _TMP8 = pow(_TMP1.z, 2.40000010E+00); + _TMP9 = pow(_TMP1.w, 2.40000010E+00); + _color = vec4(_TMP6, _TMP7, _TMP8, _TMP9); + _dx = _coords.x - _pixel_center.x; + _h_weight_00 = _dx/8.99999976E-01; + if (_h_weight_00 > 1.00000000E+00) { + _h_weight_00 = 1.00000000E+00; + } + _h_weight_00 = 1.00000000E+00 - _h_weight_00*_h_weight_00; + _h_weight_00 = _h_weight_00*_h_weight_00; + _color = _color*vec4(_h_weight_00, _h_weight_00, _h_weight_00, _h_weight_00); + if (_dx > 0.00000000E+00) { + _coords01 = TEX2.xy; + _dx = 1.00000000E+00 - _dx; + } else { + _coords01 = -TEX2.xy; + _dx = 1.00000000E+00 + _dx; + } + _c0028 = _texture_coords + _coords01; + _TMP2 = texture2D(Texture, _c0028); + _TMP6 = pow(_TMP2.x, 2.40000010E+00); + _TMP7 = pow(_TMP2.y, 2.40000010E+00); + _TMP8 = pow(_TMP2.z, 2.40000010E+00); + _TMP9 = pow(_TMP2.w, 2.40000010E+00); + _colorNB = vec4(_TMP6, _TMP7, _TMP8, _TMP9); + _h_weight_01 = _dx/8.99999976E-01; + if (_h_weight_01 > 1.00000000E+00) { + _h_weight_01 = 1.00000000E+00; + } + _h_weight_01 = 1.00000000E+00 - _h_weight_01*_h_weight_01; + _h_weight_01 = _h_weight_01*_h_weight_01; + _color = _color + _colorNB*vec4(_h_weight_01, _h_weight_01, _h_weight_01, _h_weight_01); + _dy = _coords.y - _pixel_center.y; + _v_weight_00 = _dy/6.49999976E-01; + if (_v_weight_00 > 1.00000000E+00) { + _v_weight_00 = 1.00000000E+00; + } + _v_weight_00 = 1.00000000E+00 - _v_weight_00*_v_weight_00; + _v_weight_00 = _v_weight_00*_v_weight_00; + _color = _color*vec4(_v_weight_00, _v_weight_00, _v_weight_00, _v_weight_00); + if (_dy > 0.00000000E+00) { + _coords10 = TEX3.xy; + _dy = 1.00000000E+00 - _dy; + } else { + _coords10 = -TEX3.xy; + _dy = 1.00000000E+00 + _dy; + } + _c0040 = _texture_coords + _coords10; + _TMP3 = texture2D(Texture, _c0040); + _TMP6 = pow(_TMP3.x, 2.40000010E+00); + _TMP7 = pow(_TMP3.y, 2.40000010E+00); + _TMP8 = pow(_TMP3.z, 2.40000010E+00); + _TMP9 = pow(_TMP3.w, 2.40000010E+00); + _colorNB = vec4(_TMP6, _TMP7, _TMP8, _TMP9); + _v_weight_10 = _dy/6.49999976E-01; + if (_v_weight_10 > 1.00000000E+00) { + _v_weight_10 = 1.00000000E+00; + } + _v_weight_10 = 1.00000000E+00 - _v_weight_10*_v_weight_10; + _v_weight_10 = _v_weight_10*_v_weight_10; + _color = _color + _colorNB*vec4(_v_weight_10*_h_weight_00, _v_weight_10*_h_weight_00, _v_weight_10*_h_weight_00, _v_weight_10*_h_weight_00); + _c0052 = _texture_coords + _coords01 + _coords10; + _TMP4 = texture2D(Texture, _c0052); + _TMP6 = pow(_TMP4.x, 2.40000010E+00); + _TMP7 = pow(_TMP4.y, 2.40000010E+00); + _TMP8 = pow(_TMP4.z, 2.40000010E+00); + _TMP9 = pow(_TMP4.w, 2.40000010E+00); + _colorNB = vec4(_TMP6, _TMP7, _TMP8, _TMP9); + _color = _color + _colorNB*vec4(_v_weight_10*_h_weight_01, _v_weight_10*_h_weight_01, _v_weight_10*_h_weight_01, _v_weight_10*_h_weight_01); + _color = _color*vec4( 1.45000005E+00, 1.45000005E+00, 1.45000005E+00, 1.45000005E+00); + _TMP6 = pow(_color.x, 4.54545438E-01); + _TMP7 = pow(_color.y, 4.54545438E-01); + _TMP8 = pow(_color.z, 4.54545438E-01); + _TMP9 = pow(_color.w, 4.54545438E-01); + _TMP5 = vec4(_TMP6, _TMP7, _TMP8, _TMP9); + _TMP10 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _TMP5); + _TMP73 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP10); + gl_FragColor = _TMP73; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/CRT-cgwg.glsl b/ios/Assets/shaders_glsl/CRT/CRT-cgwg.glsl new file mode 100644 index 0000000000..0ed9dea0d3 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/CRT-cgwg.glsl @@ -0,0 +1,362 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec2 _one; +varying float _mod_factor; +varying vec2 _texCoord; +struct tex_coords { + vec2 _texCoord; + float _mod_factor; + vec2 _one; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +tex_coords _coords1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oColor = COLOR; + _coords1._texCoord = TexCoord.xy; + _coords1._mod_factor = (TexCoord.x*OutputSize.x*TextureSize.x)/InputSize.x; + _coords1._one = 1.00000000E+00/TextureSize; + gl_Position = _r0003; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX1.x = _coords1._mod_factor; + TEX2.xy = _coords1._one; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec2 _one; +varying float _mod_factor; +varying vec2 _texCoord; +struct tex_coords { + vec2 _texCoord; + float _mod_factor; + vec2 _one; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +float _TMP45; +float _TMP44; +float _TMP43; +float _TMP24; +float _TMP42; +float _TMP41; +float _TMP40; +float _TMP39; +vec4 _TMP37; +float _TMP33; +float _TMP32; +float _TMP31; +float _TMP30; +vec4 _TMP36; +float _TMP49; +float _TMP48; +float _TMP47; +float _TMP46; +vec4 _TMP35; +vec4 _TMP34; +vec4 _TMP21; +vec4 _TMP19; +vec4 _TMP17; +vec4 _TMP15; +vec4 _TMP20; +vec4 _TMP18; +vec4 _TMP16; +vec4 _TMP14; +vec4 _TMP12; +vec4 _TMP10; +vec4 _TMP8; +vec4 _TMP6; +vec4 _TMP11; +vec4 _TMP9; +vec4 _TMP7; +vec4 _TMP5; +float _TMP4; +vec4 _TMP3; +vec4 _TMP2; +float _TMP29; +float _TMP28; +float _TMP27; +float _TMP26; +vec4 _TMP1; +vec2 _TMP0; +input_dummy _IN1; +uniform sampler2D Texture; +vec2 _coord0057; +vec4 _TMP66; +vec4 _x0081; +vec2 _c0093; +vec2 _c0117; +vec2 _c0129; +vec4 _r0141; +vec4 _TMP142; +vec2 _c0149; +vec2 _c0161; +vec2 _c0173; +vec2 _c0185; +vec4 _r0197; +vec4 _TMP198; +vec4 _wid0205; +vec4 _weights0205; +vec4 _x0217; +vec4 _a0227; +vec4 _TMP236; +vec4 _x0237; +vec4 _wid0249; +vec4 _weights0249; +float _distance0249; +vec4 _x0261; +vec4 _a0271; +vec4 _TMP280; +vec4 _x0281; +float _c0293; +float _a0295; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _xy; + vec2 _ratio_scale; + vec2 _uv_ratio; + vec4 _coeffs; + vec4 _weights1; + vec4 _weights2; + vec3 _mul_res; + vec3 _dotMaskWeights; + _coord0057 = TEX0.xy*(TextureSize.x/InputSize.x); + _xy = (_coord0057*InputSize.x)/TextureSize.x; + _ratio_scale = _xy*TextureSize - vec2( 5.00000000E-01, 5.00000000E-01); + _uv_ratio = fract(_ratio_scale); + _TMP0 = floor(_ratio_scale); + _xy = (_TMP0 + vec2( 5.00000000E-01, 5.00000000E-01))/TextureSize; + _coeffs = 3.14159274E+00*vec4(1.00000000E+00 + _uv_ratio.x, _uv_ratio.x, 1.00000000E+00 - _uv_ratio.x, 2.00000000E+00 - _uv_ratio.x); + _TMP1 = abs(_coeffs); + _TMP66 = max(_TMP1, vec4( 9.99999975E-06, 9.99999975E-06, 9.99999975E-06, 9.99999975E-06)); + _TMP26 = sin(_TMP66.x); + _TMP27 = sin(_TMP66.y); + _TMP28 = sin(_TMP66.z); + _TMP29 = sin(_TMP66.w); + _TMP2 = vec4(_TMP26, _TMP27, _TMP28, _TMP29); + _x0081 = _TMP66/2.00000000E+00; + _TMP26 = sin(_x0081.x); + _TMP27 = sin(_x0081.y); + _TMP28 = sin(_x0081.z); + _TMP29 = sin(_x0081.w); + _TMP3 = vec4(_TMP26, _TMP27, _TMP28, _TMP29); + _coeffs = ((2.00000000E+00*_TMP2)*_TMP3)/(_TMP66*_TMP66); + _TMP4 = dot(_coeffs, vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _coeffs = _coeffs/_TMP4; + _c0093 = _xy + vec2(-TEX2.x, 0.00000000E+00); + _TMP5 = texture2D(Texture, _c0093); + _TMP30 = pow(_TMP5.x, 2.40000010E+00); + _TMP31 = pow(_TMP5.y, 2.40000010E+00); + _TMP32 = pow(_TMP5.z, 2.40000010E+00); + _TMP33 = pow(_TMP5.w, 2.40000010E+00); + _TMP6 = vec4(_TMP30, _TMP31, _TMP32, _TMP33); + _TMP7 = texture2D(Texture, _xy); + _TMP30 = pow(_TMP7.x, 2.40000010E+00); + _TMP31 = pow(_TMP7.y, 2.40000010E+00); + _TMP32 = pow(_TMP7.z, 2.40000010E+00); + _TMP33 = pow(_TMP7.w, 2.40000010E+00); + _TMP8 = vec4(_TMP30, _TMP31, _TMP32, _TMP33); + _c0117 = _xy + vec2(TEX2.x, 0.00000000E+00); + _TMP9 = texture2D(Texture, _c0117); + _TMP30 = pow(_TMP9.x, 2.40000010E+00); + _TMP31 = pow(_TMP9.y, 2.40000010E+00); + _TMP32 = pow(_TMP9.z, 2.40000010E+00); + _TMP33 = pow(_TMP9.w, 2.40000010E+00); + _TMP10 = vec4(_TMP30, _TMP31, _TMP32, _TMP33); + _c0129 = _xy + vec2(2.00000000E+00*TEX2.x, 0.00000000E+00); + _TMP11 = texture2D(Texture, _c0129); + _TMP30 = pow(_TMP11.x, 2.40000010E+00); + _TMP31 = pow(_TMP11.y, 2.40000010E+00); + _TMP32 = pow(_TMP11.z, 2.40000010E+00); + _TMP33 = pow(_TMP11.w, 2.40000010E+00); + _TMP12 = vec4(_TMP30, _TMP31, _TMP32, _TMP33); + _r0141 = _coeffs.x*_TMP6; + _r0141 = _r0141 + _coeffs.y*_TMP8; + _r0141 = _r0141 + _coeffs.z*_TMP10; + _r0141 = _r0141 + _coeffs.w*_TMP12; + _TMP34 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _r0141); + _TMP142 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP34); + _c0149 = _xy + vec2(-TEX2.x, TEX2.y); + _TMP14 = texture2D(Texture, _c0149); + _TMP30 = pow(_TMP14.x, 2.40000010E+00); + _TMP31 = pow(_TMP14.y, 2.40000010E+00); + _TMP32 = pow(_TMP14.z, 2.40000010E+00); + _TMP33 = pow(_TMP14.w, 2.40000010E+00); + _TMP15 = vec4(_TMP30, _TMP31, _TMP32, _TMP33); + _c0161 = _xy + vec2(0.00000000E+00, TEX2.y); + _TMP16 = texture2D(Texture, _c0161); + _TMP30 = pow(_TMP16.x, 2.40000010E+00); + _TMP31 = pow(_TMP16.y, 2.40000010E+00); + _TMP32 = pow(_TMP16.z, 2.40000010E+00); + _TMP33 = pow(_TMP16.w, 2.40000010E+00); + _TMP17 = vec4(_TMP30, _TMP31, _TMP32, _TMP33); + _c0173 = _xy + TEX2.xy; + _TMP18 = texture2D(Texture, _c0173); + _TMP30 = pow(_TMP18.x, 2.40000010E+00); + _TMP31 = pow(_TMP18.y, 2.40000010E+00); + _TMP32 = pow(_TMP18.z, 2.40000010E+00); + _TMP33 = pow(_TMP18.w, 2.40000010E+00); + _TMP19 = vec4(_TMP30, _TMP31, _TMP32, _TMP33); + _c0185 = _xy + vec2(2.00000000E+00*TEX2.x, TEX2.y); + _TMP20 = texture2D(Texture, _c0185); + _TMP30 = pow(_TMP20.x, 2.40000010E+00); + _TMP31 = pow(_TMP20.y, 2.40000010E+00); + _TMP32 = pow(_TMP20.z, 2.40000010E+00); + _TMP33 = pow(_TMP20.w, 2.40000010E+00); + _TMP21 = vec4(_TMP30, _TMP31, _TMP32, _TMP33); + _r0197 = _coeffs.x*_TMP15; + _r0197 = _r0197 + _coeffs.y*_TMP17; + _r0197 = _r0197 + _coeffs.z*_TMP19; + _r0197 = _r0197 + _coeffs.w*_TMP21; + _TMP34 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _r0197); + _TMP198 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP34); + _TMP30 = pow(_TMP142.x, 4.00000000E+00); + _TMP31 = pow(_TMP142.y, 4.00000000E+00); + _TMP32 = pow(_TMP142.z, 4.00000000E+00); + _TMP33 = pow(_TMP142.w, 4.00000000E+00); + _TMP35 = vec4(_TMP30, _TMP31, _TMP32, _TMP33); + _wid0205 = 2.00000000E+00 + 2.00000000E+00*_TMP35; + _weights0205 = vec4(_uv_ratio.y/3.00000012E-01, _uv_ratio.y/3.00000012E-01, _uv_ratio.y/3.00000012E-01, _uv_ratio.y/3.00000012E-01); + _x0217 = 5.00000000E-01*_wid0205; + _TMP46 = inversesqrt(_x0217.x); + _TMP47 = inversesqrt(_x0217.y); + _TMP48 = inversesqrt(_x0217.z); + _TMP49 = inversesqrt(_x0217.w); + _TMP36 = vec4(_TMP46, _TMP47, _TMP48, _TMP49); + _a0227 = _weights0205*_TMP36; + _TMP30 = pow(_a0227.x, _wid0205.x); + _TMP31 = pow(_a0227.y, _wid0205.y); + _TMP32 = pow(_a0227.z, _wid0205.z); + _TMP33 = pow(_a0227.w, _wid0205.w); + _TMP37 = vec4(_TMP30, _TMP31, _TMP32, _TMP33); + _x0237 = -_TMP37; + _TMP30 = pow(2.71828198E+00, _x0237.x); + _TMP31 = pow(2.71828198E+00, _x0237.y); + _TMP32 = pow(2.71828198E+00, _x0237.z); + _TMP33 = pow(2.71828198E+00, _x0237.w); + _TMP236 = vec4(_TMP30, _TMP31, _TMP32, _TMP33); + _weights1 = (1.70000005E+00*_TMP236)/(6.00000024E-01 + 2.00000003E-01*_wid0205); + _distance0249 = 1.00000000E+00 - _uv_ratio.y; + _TMP30 = pow(_TMP198.x, 4.00000000E+00); + _TMP31 = pow(_TMP198.y, 4.00000000E+00); + _TMP32 = pow(_TMP198.z, 4.00000000E+00); + _TMP33 = pow(_TMP198.w, 4.00000000E+00); + _TMP35 = vec4(_TMP30, _TMP31, _TMP32, _TMP33); + _wid0249 = 2.00000000E+00 + 2.00000000E+00*_TMP35; + _weights0249 = vec4(_distance0249/3.00000012E-01, _distance0249/3.00000012E-01, _distance0249/3.00000012E-01, _distance0249/3.00000012E-01); + _x0261 = 5.00000000E-01*_wid0249; + _TMP46 = inversesqrt(_x0261.x); + _TMP47 = inversesqrt(_x0261.y); + _TMP48 = inversesqrt(_x0261.z); + _TMP49 = inversesqrt(_x0261.w); + _TMP36 = vec4(_TMP46, _TMP47, _TMP48, _TMP49); + _a0271 = _weights0249*_TMP36; + _TMP30 = pow(_a0271.x, _wid0249.x); + _TMP31 = pow(_a0271.y, _wid0249.y); + _TMP32 = pow(_a0271.z, _wid0249.z); + _TMP33 = pow(_a0271.w, _wid0249.w); + _TMP37 = vec4(_TMP30, _TMP31, _TMP32, _TMP33); + _x0281 = -_TMP37; + _TMP30 = pow(2.71828198E+00, _x0281.x); + _TMP31 = pow(2.71828198E+00, _x0281.y); + _TMP32 = pow(2.71828198E+00, _x0281.z); + _TMP33 = pow(2.71828198E+00, _x0281.w); + _TMP280 = vec4(_TMP30, _TMP31, _TMP32, _TMP33); + _weights2 = (1.70000005E+00*_TMP280)/(6.00000024E-01 + 2.00000003E-01*_wid0249); + _mul_res = (_TMP142*_weights1 + _TMP198*_weights2).xyz; + _a0295 = TEX1.x/2.00000000E+00; + _TMP39 = abs(_a0295); + _TMP40 = fract(_TMP39); + _TMP41 = abs(2.00000000E+00); + _c0293 = _TMP40*_TMP41; + if (TEX1.x < 0.00000000E+00) { + _TMP42 = -_c0293; + } else { + _TMP42 = _c0293; + } + _TMP24 = floor(_TMP42); + _dotMaskWeights = vec3( 1.00000000E+00, 6.99999988E-01, 1.00000000E+00) + _TMP24*vec3( -3.00000012E-01, 3.00000012E-01, -3.00000012E-01); + _mul_res = _mul_res*_dotMaskWeights; + _TMP43 = pow(_mul_res.x, 4.54545438E-01); + _TMP44 = pow(_mul_res.y, 4.54545438E-01); + _TMP45 = pow(_mul_res.z, 4.54545438E-01); + _mul_res = vec3(_TMP43, _TMP44, _TMP45); + _ret_0 = vec4(_mul_res.x, _mul_res.y, _mul_res.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/PhosphorLUT/bsnes-gamma-ramp.glsl b/ios/Assets/shaders_glsl/CRT/PhosphorLUT/bsnes-gamma-ramp.glsl new file mode 100644 index 0000000000..3441a17b66 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/PhosphorLUT/bsnes-gamma-ramp.glsl @@ -0,0 +1,87 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTex; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oTex = TexCoord.xy; + gl_Position = _r0005; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +vec4 _ret_0; +vec3 _TMP7; +float _TMP6; +float _TMP5; +float _TMP4; +float _TMP3; +vec4 _TMP0; +uniform sampler2D Texture; +vec3 _TMP31; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _res; + _TMP0 = texture2D(Texture, TEX0.xy); + _TMP3 = dot(_TMP0.xyz, vec3( 3.33299994E-01, 3.33299994E-01, 3.33299994E-01)); + _res = vec3(_TMP3, _TMP3, _TMP3) + (_TMP0.xyz - vec3(_TMP3, _TMP3, _TMP3)); + _TMP4 = pow(_res.x, 1.50000000E+00); + _TMP5 = pow(_res.y, 1.50000000E+00); + _TMP6 = pow(_res.z, 1.50000000E+00); + _res = vec3(_TMP4, _TMP5, _TMP6); + _TMP7 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _res); + _TMP31 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP7); + _ret_0 = vec4(_TMP31.x, _TMP31.y, _TMP31.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/PhosphorLUT/gaussian-horiz.glsl b/ios/Assets/shaders_glsl/CRT/PhosphorLUT/gaussian-horiz.glsl new file mode 100644 index 0000000000..7b04a1ee0e --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/PhosphorLUT/gaussian-horiz.glsl @@ -0,0 +1,157 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _col; +varying float _frame_rotation; +varying vec2 _texCoord_size; +struct input_dummy { + vec2 _video_size; + vec2 _texCoord_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +float _placeholder25; +}; +struct output_dummy { + vec4 _col; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _col; +varying float _frame_rotation; +varying vec2 _texCoord_size; +struct input_dummy { + vec2 _video_size; + vec2 _texCoord_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +float _placeholder30; +}; +struct output_dummy { + vec4 _col; +}; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +input_dummy _IN1; +float _TMP11; +float _TMP15; +float _TMP19; +float _TMP23; +vec2 _c0028; +vec2 _c0030; +vec2 _c0032; +vec2 _c0034; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +varying vec4 TEX0; + +uniform sampler2D Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + float _oney; + vec4 _sum; + output_dummy _OUT; + _oney = 1.00000000E+00/OutputSize.y; + _TMP11 = pow(2.71828198E+00, -9.99999978E-03); + _TMP15 = pow(2.71828198E+00, -3.99999991E-02); + _TMP19 = pow(2.71828198E+00, -8.99999961E-02); + _TMP23 = pow(2.71828198E+00, -1.59999996E-01); + _c0028 = vec2(TEX0.x - 4.00000000E+00*_oney, TEX0.y); + _TMP0 = texture2D(Texture, _c0028); + _sum = _TMP0*vec4(_TMP23, _TMP23, _TMP23, _TMP23); + _c0030 = vec2(TEX0.x - 3.00000000E+00*_oney, TEX0.y); + _TMP1 = texture2D(Texture, _c0030); + _sum = _sum + _TMP1*vec4(_TMP19, _TMP19, _TMP19, _TMP19); + _c0032 = vec2(TEX0.x - 2.00000000E+00*_oney, TEX0.y); + _TMP2 = texture2D(Texture, _c0032); + _sum = _sum + _TMP2*vec4(_TMP15, _TMP15, _TMP15, _TMP15); + _c0034 = vec2(TEX0.x - _oney, TEX0.y); + _TMP3 = texture2D(Texture, _c0034); + _sum = _sum + _TMP3*vec4(_TMP11, _TMP11, _TMP11, _TMP11); + _c0036 = vec2(TEX0.x, TEX0.y); + _TMP4 = texture2D(Texture, _c0036); + _sum = _sum + _TMP4*1.59999996E-01; + _c0038 = vec2(TEX0.x + _oney, TEX0.y); + _TMP5 = texture2D(Texture, _c0038); + _sum = _sum + _TMP5*vec4(_TMP11, _TMP11, _TMP11, _TMP11); + _c0040 = vec2(TEX0.x + 2.00000000E+00*_oney, TEX0.y); + _TMP6 = texture2D(Texture, _c0040); + _sum = _sum + _TMP6*vec4(_TMP15, _TMP15, _TMP15, _TMP15); + _c0042 = vec2(TEX0.x + 3.00000000E+00*_oney, TEX0.y); + _TMP7 = texture2D(Texture, _c0042); + _sum = _sum + _TMP7*vec4(_TMP19, _TMP19, _TMP19, _TMP19); + _c0044 = vec2(TEX0.x + 4.00000000E+00*_oney, TEX0.y); + _TMP8 = texture2D(Texture, _c0044); + _sum = _sum + _TMP8*vec4(_TMP23, _TMP23, _TMP23, _TMP23); + _OUT._col = _sum/4.00000000E+00; + gl_FragColor = _OUT._col; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/PhosphorLUT/gaussian-vert.glsl b/ios/Assets/shaders_glsl/CRT/PhosphorLUT/gaussian-vert.glsl new file mode 100644 index 0000000000..82a17e0977 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/PhosphorLUT/gaussian-vert.glsl @@ -0,0 +1,157 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _col; +varying float _frame_rotation; +varying vec2 _texCoord_size; +struct input_dummy { + vec2 _video_size; + vec2 _texCoord_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +float _placeholder25; +}; +struct output_dummy { + vec4 _col; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _col; +varying float _frame_rotation; +varying vec2 _texCoord_size; +struct input_dummy { + vec2 _video_size; + vec2 _texCoord_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +float _placeholder29; +}; +struct output_dummy { + vec4 _col; +}; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +input_dummy _IN1; +float _TMP10; +float _TMP14; +float _TMP18; +float _TMP22; +vec2 _c0027; +vec2 _c0029; +vec2 _c0031; +vec2 _c0033; +vec2 _c0035; +vec2 _c0037; +vec2 _c0039; +vec2 _c0041; +vec2 _c0043; +varying vec4 TEX0; + +uniform sampler2D Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + float _oney; + vec4 _sum; + output_dummy _OUT; + _oney = 1.00000000E+00/OutputSize.y; + _TMP10 = pow(2.71828198E+00, -1.56250000E-02); + _TMP14 = pow(2.71828198E+00, -6.25000000E-02); + _TMP18 = pow(2.71828198E+00, -1.40625000E-01); + _TMP22 = pow(2.71828198E+00, -2.50000000E-01); + _c0027 = vec2(TEX0.x, TEX0.y - 4.00000000E+00*_oney); + _TMP0 = texture2D(Texture, _c0027); + _sum = _TMP0*vec4(_TMP22, _TMP22, _TMP22, _TMP22); + _c0029 = vec2(TEX0.x, TEX0.y - 3.00000000E+00*_oney); + _TMP1 = texture2D(Texture, _c0029); + _sum = _sum + _TMP1*vec4(_TMP18, _TMP18, _TMP18, _TMP18); + _c0031 = vec2(TEX0.x, TEX0.y - 2.00000000E+00*_oney); + _TMP2 = texture2D(Texture, _c0031); + _sum = _sum + _TMP2*vec4(_TMP14, _TMP14, _TMP14, _TMP14); + _c0033 = vec2(TEX0.x, TEX0.y - _oney); + _TMP3 = texture2D(Texture, _c0033); + _sum = _sum + _TMP3*vec4(_TMP10, _TMP10, _TMP10, _TMP10); + _c0035 = vec2(TEX0.x, TEX0.y); + _TMP4 = texture2D(Texture, _c0035); + _sum = _sum + _TMP4*1.59999996E-01; + _c0037 = vec2(TEX0.x, TEX0.y + _oney); + _TMP5 = texture2D(Texture, _c0037); + _sum = _sum + _TMP5*vec4(_TMP10, _TMP10, _TMP10, _TMP10); + _c0039 = vec2(TEX0.x, TEX0.y + 2.00000000E+00*_oney); + _TMP6 = texture2D(Texture, _c0039); + _sum = _sum + _TMP6*vec4(_TMP14, _TMP14, _TMP14, _TMP14); + _c0041 = vec2(TEX0.x, TEX0.y + 3.00000000E+00*_oney); + _TMP7 = texture2D(Texture, _c0041); + _sum = _sum + _TMP7*vec4(_TMP18, _TMP18, _TMP18, _TMP18); + _c0043 = vec2(TEX0.x, TEX0.y + 4.00000000E+00*_oney); + _TMP8 = texture2D(Texture, _c0043); + _sum = _sum + _TMP8*vec4(_TMP22, _TMP22, _TMP22, _TMP22); + _OUT._col = _sum/4.00000000E+00; + gl_FragColor = _OUT._col; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/PhosphorLUT/phosphorLUT.glslp b/ios/Assets/shaders_glsl/CRT/PhosphorLUT/phosphorLUT.glslp new file mode 100644 index 0000000000..ba582f3951 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/PhosphorLUT/phosphorLUT.glslp @@ -0,0 +1,38 @@ +#PhosphorLUT v2.0 + +#Copyright 2013 hunterk +#This shader and all associated files are licensed under the General Public License (GPL) v2 or higher. + +#USER-EDITABLE VARIABLES (located at the top of the respective files): +#Each of the gaussian blur shaders have a 'blurfactor' variable that can increase or decrease the intensity of the blurring effect. +#They also have a 'wid' variable that effectively controls the brightness of the image. At lower resolutions, the shader can get quite dark, so you +#can raise this value to compensate. + +#The 'phosphorlut-pass2' shader has a variable, 'brightness,' which can also increase the brightness some if the image is too dark. + +#If you are already getting gamma correction from somewhere else (such as another shader or filter), you can comment out (i.e., put two slashes in +#front of it, like this: //) the bsnes-gamma-ramp.glsl shader below and change the 'shaders' line to 4 instead of 5 to remove it. + +shaders = 5 + +shader0 = phosphorlut-pass0.glsl // Applies the LUT to the game image +shader1 = gaussian-horiz.glsl // Blurs the combined LUT/game image horizontally +shader2 = gaussian-vert.glsl // Blurs the combined LUT/game image vertically +shader3 = phosphorlut-pass1.glsl // Combines the LUTed image with the blurred image +shader4 = bsnes-gamma-ramp.glsl // Adds some gamma correction + +scale_type0 = viewport +scale0 = 2.0 +filter_linear0 = true + +scale_type1 = source +scale1 = 1.0 +filter_linear1 = true + +scale_type2 = source +scale2 = 1.0 +filter_linear2 = true + +textures = PHOSPHOR_LUT +PHOSPHOR_LUT = luts/480pvert.png +PHOSPHOR_LUT_linear = true diff --git a/ios/Assets/shaders_glsl/CRT/PhosphorLUT/phosphorlut-pass0.glsl b/ios/Assets/shaders_glsl/CRT/PhosphorLUT/phosphorlut-pass0.glsl new file mode 100644 index 0000000000..2b6af469a6 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/PhosphorLUT/phosphorlut-pass0.glsl @@ -0,0 +1,111 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +float _placeholder31; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +float _placeholder36; +}; +vec4 _TMP0; +input_dummy _IN1; +uniform sampler2D PHOSPHOR_LUT; +varying vec4 TEX0; + +uniform sampler2D Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + vec4 _inverse; + vec4 _screen; + _TMP0 = texture2D(Texture, TEX0.xy); + _inverse = 1.00000000E+00 - _TMP0; + _screen = texture2D(PHOSPHOR_LUT, TEX0.xy); + _OUT._color = _screen - _inverse; + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/PhosphorLUT/phosphorlut-pass1.glsl b/ios/Assets/shaders_glsl/CRT/PhosphorLUT/phosphorlut-pass1.glsl new file mode 100644 index 0000000000..8d514dd33a --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/PhosphorLUT/phosphorlut-pass1.glsl @@ -0,0 +1,116 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct pass_2 { +float _placeholder25; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +float _placeholder35; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct pass_2 { +float _placeholder30; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +float _placeholder40; +}; +input_dummy _IN1; +pass_2 _PASS21; +varying vec4 TEX0; + +uniform sampler2D Texture; +uniform sampler2D Pass2Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + vec4 _pass1; + vec4 _pass2; + _pass1 = texture2D(Texture, TEX0.xy); + _pass2 = texture2D(Pass2Texture, TEX0.xy); + _OUT._color = 1.00000000E+00 - (1.00000000E+00 - _pass1*1.50000000E+00)*(1.00000000E+00 - _pass2); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/crt-curved.glsl b/ios/Assets/shaders_glsl/CRT/crt-curved.glsl new file mode 100644 index 0000000000..b4462e7251 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/crt-curved.glsl @@ -0,0 +1,288 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +float _TMP19; +float _TMP18; +float _TMP17; +float _TMP16; +float _TMP24; +float _TMP23; +float _TMP22; +float _TMP21; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP20; +float _TMP28; +float _TMP27; +float _TMP26; +float _TMP25; +vec4 _TMP6; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP15; +vec4 _TMP1; +vec4 _TMP0; +float _TMP14; +float _TMP13; +float _TMP12; +float _TMP11; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _cc0032; +float _dist0032; +vec2 _c0036; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _x0052; +vec4 _x0054; +vec4 _x0064; +vec4 _TMP73; +vec4 _x0074; +vec4 _TMP79; +vec4 _x0080; +vec4 _a0116; +vec4 _a0128; +vec4 _TMP137; +vec4 _x0138; +vec4 _a0160; +vec4 _a0172; +vec4 _TMP181; +vec4 _x0182; +float _a0194; +float _c0194; +float _a0196; +vec4 _a0202; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + vec2 _xy; + vec2 _one; + vec4 _texels[8]; + vec2 _uv_ratio; + vec4 _col; + vec4 _col2; + vec4 _coeffs; + vec4 _wid; + vec4 _weights; + vec4 _weights2; + vec4 _mcol; + _cc0032 = TEX0.xy - 5.00000000E-01; + _dist0032 = dot(_cc0032, _cc0032); + _xy = TEX0.xy + _cc0032*(_dist0032 + 3.99999991E-02*_dist0032*_dist0032)*3.99999991E-02; + _one = 1.00000000E+00/TextureSize; + _xy = _xy + vec2(0.00000000E+00, -5.00000000E-01*(InputSize.y/OutputSize.y)*_one.y); + _c0036 = _xy + vec2(-_one.x, 0.00000000E+00); + _texels[0] = texture2D(Texture, _c0036); + _texels[1] = texture2D(Texture, _xy); + _c0040 = _xy + vec2(_one.x, 0.00000000E+00); + _texels[2] = texture2D(Texture, _c0040); + _c0042 = _xy + vec2(2.00000000E+00*_one.x, 0.00000000E+00); + _texels[3] = texture2D(Texture, _c0042); + _c0044 = _xy + vec2(-_one.x, _one.y); + _texels[4] = texture2D(Texture, _c0044); + _c0046 = _xy + vec2(0.00000000E+00, _one.y); + _texels[5] = texture2D(Texture, _c0046); + _c0048 = _xy + _one; + _texels[6] = texture2D(Texture, _c0048); + _c0050 = _xy + vec2(2.00000000E+00*_one.x, _one.y); + _texels[7] = texture2D(Texture, _c0050); + _x0052 = _xy*TextureSize; + _uv_ratio = fract(_x0052); + _coeffs = vec4(1.00000000E+00 + _uv_ratio.x, _uv_ratio.x, 1.00000000E+00 - _uv_ratio.x, 2.00000000E+00 - _uv_ratio.x); + _x0054 = 3.14159274E+00*_coeffs; + _TMP11 = sin(_x0054.x); + _TMP12 = sin(_x0054.y); + _TMP13 = sin(_x0054.z); + _TMP14 = sin(_x0054.w); + _TMP0 = vec4(_TMP11, _TMP12, _TMP13, _TMP14); + _x0064 = (3.14159274E+00*_coeffs)/2.00000000E+00; + _TMP11 = sin(_x0064.x); + _TMP12 = sin(_x0064.y); + _TMP13 = sin(_x0064.z); + _TMP14 = sin(_x0064.w); + _TMP1 = vec4(_TMP11, _TMP12, _TMP13, _TMP14); + _coeffs = (_TMP0*_TMP1)/(_coeffs*_coeffs); + _coeffs = _coeffs/(_coeffs.x + _coeffs.y + _coeffs.z + _coeffs.w); + _x0074 = _coeffs.x*_texels[0] + _coeffs.y*_texels[1] + _coeffs.z*_texels[2] + _coeffs.w*_texels[3]; + _TMP15 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0074); + _TMP73 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP15); + _x0080 = _coeffs.x*_texels[4] + _coeffs.y*_texels[5] + _coeffs.z*_texels[6] + _coeffs.w*_texels[7]; + _TMP15 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0080); + _TMP79 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP15); + _TMP16 = pow(_TMP73.x, 2.50000000E+00); + _TMP17 = pow(_TMP73.y, 2.50000000E+00); + _TMP18 = pow(_TMP73.z, 2.50000000E+00); + _TMP19 = pow(_TMP73.w, 2.50000000E+00); + _col = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _TMP16 = pow(_TMP79.x, 2.50000000E+00); + _TMP17 = pow(_TMP79.y, 2.50000000E+00); + _TMP18 = pow(_TMP79.z, 2.50000000E+00); + _TMP19 = pow(_TMP79.w, 2.50000000E+00); + _col2 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _TMP16 = pow(_col.x, 4.00000000E+00); + _TMP17 = pow(_col.y, 4.00000000E+00); + _TMP18 = pow(_col.z, 4.00000000E+00); + _TMP19 = pow(_col.w, 4.00000000E+00); + _TMP2 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _wid = 2.00000000E+00 + 2.00000000E+00*_TMP2; + _weights = vec4(_uv_ratio.y/3.00000012E-01, _uv_ratio.y/3.00000012E-01, _uv_ratio.y/3.00000012E-01, _uv_ratio.y/3.00000012E-01); + _a0116 = 2.00000000E+00/_wid; + _TMP25 = inversesqrt(_a0116.x); + _TMP26 = inversesqrt(_a0116.y); + _TMP27 = inversesqrt(_a0116.z); + _TMP28 = inversesqrt(_a0116.w); + _TMP20 = vec4(_TMP25, _TMP26, _TMP27, _TMP28); + _TMP3 = 1.00000000E+00/_TMP20; + _a0128 = _weights*_TMP3; + _TMP16 = pow(_a0128.x, _wid.x); + _TMP17 = pow(_a0128.y, _wid.y); + _TMP18 = pow(_a0128.z, _wid.z); + _TMP19 = pow(_a0128.w, _wid.w); + _TMP4 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _x0138 = -_TMP4; + _TMP16 = pow(2.71828198E+00, _x0138.x); + _TMP17 = pow(2.71828198E+00, _x0138.y); + _TMP18 = pow(2.71828198E+00, _x0138.z); + _TMP19 = pow(2.71828198E+00, _x0138.w); + _TMP137 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _weights = ((5.09999990E-01*_TMP137)/3.00000012E-01)/(6.00000024E-01 + 2.00000003E-01*_wid); + _TMP16 = pow(_col2.x, 4.00000000E+00); + _TMP17 = pow(_col2.y, 4.00000000E+00); + _TMP18 = pow(_col2.z, 4.00000000E+00); + _TMP19 = pow(_col2.w, 4.00000000E+00); + _TMP6 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _wid = 2.00000000E+00 + 4.00000000E+00*_TMP6; + _weights2 = vec4((1.00000000E+00 - _uv_ratio.y)/3.00000012E-01, (1.00000000E+00 - _uv_ratio.y)/3.00000012E-01, (1.00000000E+00 - _uv_ratio.y)/3.00000012E-01, (1.00000000E+00 - _uv_ratio.y)/3.00000012E-01); + _a0160 = 2.00000000E+00/_wid; + _TMP25 = inversesqrt(_a0160.x); + _TMP26 = inversesqrt(_a0160.y); + _TMP27 = inversesqrt(_a0160.z); + _TMP28 = inversesqrt(_a0160.w); + _TMP20 = vec4(_TMP25, _TMP26, _TMP27, _TMP28); + _TMP7 = 1.00000000E+00/_TMP20; + _a0172 = _weights2*_TMP7; + _TMP16 = pow(_a0172.x, _wid.x); + _TMP17 = pow(_a0172.y, _wid.y); + _TMP18 = pow(_a0172.z, _wid.z); + _TMP19 = pow(_a0172.w, _wid.w); + _TMP8 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _x0182 = -_TMP8; + _TMP16 = pow(2.71828198E+00, _x0182.x); + _TMP17 = pow(2.71828198E+00, _x0182.y); + _TMP18 = pow(2.71828198E+00, _x0182.z); + _TMP19 = pow(2.71828198E+00, _x0182.w); + _TMP181 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _weights2 = ((5.09999990E-01*_TMP181)/3.00000012E-01)/(6.00000024E-01 + 2.00000003E-01*_wid); + _mcol = vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00); + _a0194 = _xy.x*OutputSize.x; + _a0196 = _a0194/2.00000000E+00; + _TMP21 = abs(_a0196); + _TMP22 = fract(_TMP21); + _TMP23 = abs(2.00000000E+00); + _c0194 = _TMP22*_TMP23; + if (_a0194 < 0.00000000E+00) { + _TMP24 = -_c0194; + } else { + _TMP24 = _c0194; + } + if (_TMP24 < 1.00000000E+00) { + _mcol.y = 6.99999988E-01; + } else { + _mcol.xz = vec2( 6.99999988E-01, 6.99999988E-01); + } + _a0202 = _mcol*(_col*_weights + _col2*_weights2); + _TMP16 = pow(_a0202.x, 4.54545438E-01); + _TMP17 = pow(_a0202.y, 4.54545438E-01); + _TMP18 = pow(_a0202.z, 4.54545438E-01); + _TMP19 = pow(_a0202.w, 4.54545438E-01); + _OUT._color = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/crt-highgamma.glsl b/ios/Assets/shaders_glsl/CRT/crt-highgamma.glsl new file mode 100644 index 0000000000..82094b10f9 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/crt-highgamma.glsl @@ -0,0 +1,319 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec2 VARratio_scale; +varying float VARmod_factor; +varying vec2 VARc32; +varying vec2 VARc22; +varying vec2 VARc12; +varying vec2 VARc02; +varying vec2 VARc31; +varying vec2 VARc21; +varying vec2 VARc11; +varying vec2 VARc01; +struct tex_coords { + vec2 VARc01; + vec2 VARc11; + vec2 VARc21; + vec2 VARc31; + vec2 VARc02; + vec2 VARc12; + vec2 VARc22; + vec2 VARc32; + float VARmod_factor; + vec2 VARratio_scale; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +tex_coords _coords1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _delta; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oColor = COLOR; + _delta = 1.00000000E+00/TextureSize; + VARc01 = TexCoord.xy + vec2(-_delta.x, 0.00000000E+00); + VARc11 = TexCoord.xy; + VARc21 = TexCoord.xy + vec2(_delta.x, 0.00000000E+00); + VARc31 = TexCoord.xy + vec2(2.00000000E+00*_delta.x, 0.00000000E+00); + VARc02 = TexCoord.xy + vec2(-_delta.x, _delta.y); + VARc12 = TexCoord.xy + vec2(0.00000000E+00, _delta.y); + VARc22 = TexCoord.xy + vec2(_delta.x, _delta.y); + VARc32 = TexCoord.xy + vec2(2.00000000E+00*_delta.x, _delta.y); + VARmod_factor = (TexCoord.x*OutputSize.x*TextureSize.x)/InputSize.x; + VARratio_scale = TexCoord.xy*TextureSize; + gl_Position = _r0003; + COL0 = COLOR; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec2 VARratio_scale; +varying float VARmod_factor; +varying vec2 VARc32; +varying vec2 VARc22; +varying vec2 VARc12; +varying vec2 VARc02; +varying vec2 VARc31; +varying vec2 VARc21; +varying vec2 VARc11; +varying vec2 VARc01; +struct tex_coords { + vec2 VARc01; + vec2 VARc11; + vec2 VARc21; + vec2 VARc31; + vec2 VARc02; + vec2 VARc12; + vec2 VARc22; + vec2 VARc32; + float VARmod_factor; + vec2 VARratio_scale; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec3 _TMP21; +float _TMP28; +float _TMP27; +float _TMP26; +float _TMP20; +float _TMP35; +float _TMP34; +float _TMP33; +float _TMP32; +vec3 _TMP16; +vec3 _TMP15; +float _TMP31; +float _TMP30; +float _TMP29; +vec3 _TMP14; +vec3 _TMP13; +vec3 _TMP36; +float _TMP10; +vec4 _TMP9; +vec4 _TMP8; +float _TMP25; +float _TMP24; +float _TMP23; +float _TMP22; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +tex_coords _co1; +uniform sampler2D Texture; +vec4 _x0062; +vec4 _x0072; +vec3 _r0084; +vec3 _TMP87; +vec3 _r0094; +vec3 _TMP97; +vec3 _x0136; +vec3 _x0144; +vec3 _TMP167; +vec3 _TMP177; +float VARc0188; +float _a0190; +vec3 _a0200; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _uv_ratio; + vec3 _col; + vec3 _col2; + vec4 _coeffs; + vec3 _weights; + vec3 _weights2; + vec3 _wid; + vec3 _wid2; + vec3 _sqrt1; + vec3 _sqrt2; + vec3 _pow_mul1; + vec3 _pow_mul2; + vec3 _div1; + vec3 _div2; + vec3 _pow1; + vec3 _pow2; + vec3 _multi; + vec3 _mcol; + _uv_ratio = fract(VARratio_scale); + _TMP0 = texture2D(Texture, VARc01); + _TMP1 = texture2D(Texture, VARc11); + _TMP2 = texture2D(Texture, VARc21); + _TMP3 = texture2D(Texture, VARc31); + _TMP4 = texture2D(Texture, VARc02); + _TMP5 = texture2D(Texture, VARc12); + _TMP6 = texture2D(Texture, VARc22); + _TMP7 = texture2D(Texture, VARc32); + _coeffs = vec4(1.00000000E+00 + _uv_ratio.x, _uv_ratio.x, 1.00000000E+00 - _uv_ratio.x, 2.00000000E+00 - _uv_ratio.x) + 4.99999989E-03; + _x0062 = 3.14159274E+00*_coeffs; + _TMP22 = sin(_x0062.x); + _TMP23 = sin(_x0062.y); + _TMP24 = sin(_x0062.z); + _TMP25 = sin(_x0062.w); + _TMP8 = vec4(_TMP22, _TMP23, _TMP24, _TMP25); + _x0072 = 1.57079637E+00*_coeffs; + _TMP22 = sin(_x0072.x); + _TMP23 = sin(_x0072.y); + _TMP24 = sin(_x0072.z); + _TMP25 = sin(_x0072.w); + _TMP9 = vec4(_TMP22, _TMP23, _TMP24, _TMP25); + _coeffs = (_TMP8*_TMP9)/(_coeffs*_coeffs); + _TMP10 = dot(_coeffs, vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _coeffs = _coeffs/_TMP10; + _weights = vec3(3.32999992E+00*_uv_ratio.y, 3.32999992E+00*_uv_ratio.y, 3.32999992E+00*_uv_ratio.y); + _weights2 = vec3(_uv_ratio.y*-3.32999992E+00 + 3.32999992E+00, _uv_ratio.y*-3.32999992E+00 + 3.32999992E+00, _uv_ratio.y*-3.32999992E+00 + 3.32999992E+00); + _r0084 = _coeffs.x*_TMP0.xyz; + _r0084 = _r0084 + _coeffs.y*_TMP1.xyz; + _r0084 = _r0084 + _coeffs.z*_TMP2.xyz; + _r0084 = _r0084 + _coeffs.w*_TMP3.xyz; + _TMP36 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _r0084); + _TMP87 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP36); + _r0094 = _coeffs.x*_TMP4.xyz; + _r0094 = _r0094 + _coeffs.y*_TMP5.xyz; + _r0094 = _r0094 + _coeffs.z*_TMP6.xyz; + _r0094 = _r0094 + _coeffs.w*_TMP7.xyz; + _TMP36 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _r0094); + _TMP97 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP36); + _TMP26 = pow(_TMP87.x, 4.00000000E+00); + _TMP27 = pow(_TMP87.y, 4.00000000E+00); + _TMP28 = pow(_TMP87.z, 4.00000000E+00); + _TMP13 = vec3(_TMP26, _TMP27, _TMP28); + _wid = 2.00000000E+00*_TMP13 + 2.00000000E+00; + _TMP26 = pow(_TMP97.x, 4.00000000E+00); + _TMP27 = pow(_TMP97.y, 4.00000000E+00); + _TMP28 = pow(_TMP97.z, 4.00000000E+00); + _TMP14 = vec3(_TMP26, _TMP27, _TMP28); + _wid2 = 2.00000000E+00*_TMP14 + 2.00000000E+00; + _TMP26 = pow(_TMP87.x, 1.50000000E+00); + _TMP27 = pow(_TMP87.y, 1.50000000E+00); + _TMP28 = pow(_TMP87.z, 1.50000000E+00); + _col = vec3(_TMP26, _TMP27, _TMP28); + _TMP26 = pow(_TMP97.x, 1.50000000E+00); + _TMP27 = pow(_TMP97.y, 1.50000000E+00); + _TMP28 = pow(_TMP97.z, 1.50000000E+00); + _col2 = vec3(_TMP26, _TMP27, _TMP28); + _x0136 = 5.00000000E-01*_wid; + _TMP29 = inversesqrt(_x0136.x); + _TMP30 = inversesqrt(_x0136.y); + _TMP31 = inversesqrt(_x0136.z); + _sqrt1 = vec3(_TMP29, _TMP30, _TMP31); + _x0144 = 5.00000000E-01*_wid2; + _TMP29 = inversesqrt(_x0144.x); + _TMP30 = inversesqrt(_x0144.y); + _TMP31 = inversesqrt(_x0144.z); + _sqrt2 = vec3(_TMP29, _TMP30, _TMP31); + _pow_mul1 = _weights*_sqrt1; + _pow_mul2 = _weights2*_sqrt2; + _div1 = 1.31999999E-01*_wid + 3.91999990E-01; + _div2 = 1.31999999E-01*_wid2 + 3.91999990E-01; + _TMP26 = pow(_pow_mul1.x, _wid.x); + _TMP27 = pow(_pow_mul1.y, _wid.y); + _TMP28 = pow(_pow_mul1.z, _wid.z); + _TMP15 = vec3(_TMP26, _TMP27, _TMP28); + _pow1 = -_TMP15; + _TMP26 = pow(_pow_mul2.x, _wid2.x); + _TMP27 = pow(_pow_mul2.y, _wid2.y); + _TMP28 = pow(_pow_mul2.z, _wid2.z); + _TMP16 = vec3(_TMP26, _TMP27, _TMP28); + _pow2 = -_TMP16; + _TMP26 = pow(2.71828198E+00, _pow1.x); + _TMP27 = pow(2.71828198E+00, _pow1.y); + _TMP28 = pow(2.71828198E+00, _pow1.z); + _TMP167 = vec3(_TMP26, _TMP27, _TMP28); + _weights = _TMP167/_div1; + _TMP26 = pow(2.71828198E+00, _pow2.x); + _TMP27 = pow(2.71828198E+00, _pow2.y); + _TMP28 = pow(2.71828198E+00, _pow2.z); + _TMP177 = vec3(_TMP26, _TMP27, _TMP28); + _weights2 = _TMP177/_div2; + _multi = _col*_weights + _col2*_weights2; + _a0190 = VARmod_factor/2.00000000E+00; + _TMP32 = abs(_a0190); + _TMP33 = fract(_TMP32); + _TMP34 = abs(2.00000000E+00); + VARc0188 = _TMP33*_TMP34; + if (VARmod_factor < 0.00000000E+00) { + _TMP35 = -VARc0188; + } else { + _TMP35 = VARc0188; + } + _TMP20 = floor(_TMP35); + _mcol = vec3( 1.00000000E+00, 6.99999988E-01, 1.00000000E+00) + _TMP20*vec3( -3.00000012E-01, 3.00000012E-01, -3.00000012E-01); + _a0200 = _mcol*_multi; + _TMP26 = pow(_a0200.x, 4.54544991E-01); + _TMP27 = pow(_a0200.y, 4.54544991E-01); + _TMP28 = pow(_a0200.z, 4.54544991E-01); + _TMP21 = vec3(_TMP26, _TMP27, _TMP28); + _ret_0 = vec4(_TMP21.x, _TMP21.y, _TMP21.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/crt-normalgamma.glsl b/ios/Assets/shaders_glsl/CRT/crt-normalgamma.glsl new file mode 100644 index 0000000000..c71798e9a4 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/crt-normalgamma.glsl @@ -0,0 +1,313 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec2 VARratio_scale; +varying float VARmod_factor; +varying vec2 VARc32; +varying vec2 VARc22; +varying vec2 VARc12; +varying vec2 VARc02; +varying vec2 VARc31; +varying vec2 VARc21; +varying vec2 VARc11; +varying vec2 VARc01; +struct tex_coords { + vec2 VARc01; + vec2 VARc11; + vec2 VARc21; + vec2 VARc31; + vec2 VARc02; + vec2 VARc12; + vec2 VARc22; + vec2 VARc32; + float VARmod_factor; + vec2 VARratio_scale; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +tex_coords _coords1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _delta; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oColor = COLOR; + _delta = 1.00000000E+00/TextureSize; + VARc01 = TexCoord.xy + vec2(-_delta.x, 0.00000000E+00); + VARc11 = TexCoord.xy; + VARc21 = TexCoord.xy + vec2(_delta.x, 0.00000000E+00); + VARc31 = TexCoord.xy + vec2(2.00000000E+00*_delta.x, 0.00000000E+00); + VARc02 = TexCoord.xy + vec2(-_delta.x, _delta.y); + VARc12 = TexCoord.xy + vec2(0.00000000E+00, _delta.y); + VARc22 = TexCoord.xy + vec2(_delta.x, _delta.y); + VARc32 = TexCoord.xy + vec2(2.00000000E+00*_delta.x, _delta.y); + VARmod_factor = (TexCoord.x*OutputSize.x*TextureSize.x)/InputSize.x; + VARratio_scale = TexCoord.xy*TextureSize; + gl_Position = _r0003; + COL0 = COLOR; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec2 VARratio_scale; +varying float VARmod_factor; +varying vec2 VARc32; +varying vec2 VARc22; +varying vec2 VARc12; +varying vec2 VARc02; +varying vec2 VARc31; +varying vec2 VARc21; +varying vec2 VARc11; +varying vec2 VARc01; +struct tex_coords { + vec2 VARc01; + vec2 VARc11; + vec2 VARc21; + vec2 VARc31; + vec2 VARc02; + vec2 VARc12; + vec2 VARc22; + vec2 VARc32; + float VARmod_factor; + vec2 VARratio_scale; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec3 _TMP21; +float _TMP28; +float _TMP27; +float _TMP26; +float _TMP20; +float _TMP35; +float _TMP34; +float _TMP33; +float _TMP32; +vec3 _TMP16; +vec3 _TMP15; +float _TMP31; +float _TMP30; +float _TMP29; +vec3 _TMP14; +vec3 _TMP13; +vec3 _TMP36; +float _TMP10; +vec4 _TMP9; +vec4 _TMP8; +float _TMP25; +float _TMP24; +float _TMP23; +float _TMP22; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +tex_coords _co1; +uniform sampler2D Texture; +vec4 _x0062; +vec4 _x0072; +vec3 _r0084; +vec3 _TMP87; +vec3 _r0094; +vec3 _TMP97; +vec3 _x0120; +vec3 _x0128; +vec3 _TMP151; +vec3 _TMP161; +float VARc0172; +float _a0174; +vec3 _a0184; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _uv_ratio; + vec3 _col; + vec3 _col2; + vec4 _coeffs; + vec3 _weights; + vec3 _weights2; + vec3 _wid; + vec3 _wid2; + vec3 _sqrt1; + vec3 _sqrt2; + vec3 _pow_mul1; + vec3 _pow_mul2; + vec3 _div1; + vec3 _div2; + vec3 _pow1; + vec3 _pow2; + vec3 _multi; + vec3 _mcol; + _uv_ratio = fract(VARratio_scale); + _TMP0 = texture2D(Texture, VARc01); + _TMP1 = texture2D(Texture, VARc11); + _TMP2 = texture2D(Texture, VARc21); + _TMP3 = texture2D(Texture, VARc31); + _TMP4 = texture2D(Texture, VARc02); + _TMP5 = texture2D(Texture, VARc12); + _TMP6 = texture2D(Texture, VARc22); + _TMP7 = texture2D(Texture, VARc32); + _coeffs = vec4(1.00000000E+00 + _uv_ratio.x, _uv_ratio.x, 1.00000000E+00 - _uv_ratio.x, 2.00000000E+00 - _uv_ratio.x) + 4.99999989E-03; + _x0062 = 3.14159274E+00*_coeffs; + _TMP22 = sin(_x0062.x); + _TMP23 = sin(_x0062.y); + _TMP24 = sin(_x0062.z); + _TMP25 = sin(_x0062.w); + _TMP8 = vec4(_TMP22, _TMP23, _TMP24, _TMP25); + _x0072 = 1.57079637E+00*_coeffs; + _TMP22 = sin(_x0072.x); + _TMP23 = sin(_x0072.y); + _TMP24 = sin(_x0072.z); + _TMP25 = sin(_x0072.w); + _TMP9 = vec4(_TMP22, _TMP23, _TMP24, _TMP25); + _coeffs = (_TMP8*_TMP9)/(_coeffs*_coeffs); + _TMP10 = dot(_coeffs, vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _coeffs = _coeffs/_TMP10; + _weights = vec3(3.32999992E+00*_uv_ratio.y, 3.32999992E+00*_uv_ratio.y, 3.32999992E+00*_uv_ratio.y); + _weights2 = vec3(_uv_ratio.y*-3.32999992E+00 + 3.32999992E+00, _uv_ratio.y*-3.32999992E+00 + 3.32999992E+00, _uv_ratio.y*-3.32999992E+00 + 3.32999992E+00); + _r0084 = _coeffs.x*_TMP0.xyz; + _r0084 = _r0084 + _coeffs.y*_TMP1.xyz; + _r0084 = _r0084 + _coeffs.z*_TMP2.xyz; + _r0084 = _r0084 + _coeffs.w*_TMP3.xyz; + _TMP36 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _r0084); + _TMP87 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP36); + _r0094 = _coeffs.x*_TMP4.xyz; + _r0094 = _r0094 + _coeffs.y*_TMP5.xyz; + _r0094 = _r0094 + _coeffs.z*_TMP6.xyz; + _r0094 = _r0094 + _coeffs.w*_TMP7.xyz; + _TMP36 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _r0094); + _TMP97 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP36); + _TMP26 = pow(_TMP87.x, 4.00000000E+00); + _TMP27 = pow(_TMP87.y, 4.00000000E+00); + _TMP28 = pow(_TMP87.z, 4.00000000E+00); + _TMP13 = vec3(_TMP26, _TMP27, _TMP28); + _wid = 2.00000000E+00*_TMP13 + 2.00000000E+00; + _TMP26 = pow(_TMP97.x, 4.00000000E+00); + _TMP27 = pow(_TMP97.y, 4.00000000E+00); + _TMP28 = pow(_TMP97.z, 4.00000000E+00); + _TMP14 = vec3(_TMP26, _TMP27, _TMP28); + _wid2 = 2.00000000E+00*_TMP14 + 2.00000000E+00; + _col = _TMP87*_TMP87; + _col2 = _TMP97*_TMP97; + _x0120 = 5.00000000E-01*_wid; + _TMP29 = inversesqrt(_x0120.x); + _TMP30 = inversesqrt(_x0120.y); + _TMP31 = inversesqrt(_x0120.z); + _sqrt1 = vec3(_TMP29, _TMP30, _TMP31); + _x0128 = 5.00000000E-01*_wid2; + _TMP29 = inversesqrt(_x0128.x); + _TMP30 = inversesqrt(_x0128.y); + _TMP31 = inversesqrt(_x0128.z); + _sqrt2 = vec3(_TMP29, _TMP30, _TMP31); + _pow_mul1 = _weights*_sqrt1; + _pow_mul2 = _weights2*_sqrt2; + _div1 = 1.31999999E-01*_wid + 3.91999990E-01; + _div2 = 1.31999999E-01*_wid2 + 3.91999990E-01; + _TMP26 = pow(_pow_mul1.x, _wid.x); + _TMP27 = pow(_pow_mul1.y, _wid.y); + _TMP28 = pow(_pow_mul1.z, _wid.z); + _TMP15 = vec3(_TMP26, _TMP27, _TMP28); + _pow1 = -_TMP15; + _TMP26 = pow(_pow_mul2.x, _wid2.x); + _TMP27 = pow(_pow_mul2.y, _wid2.y); + _TMP28 = pow(_pow_mul2.z, _wid2.z); + _TMP16 = vec3(_TMP26, _TMP27, _TMP28); + _pow2 = -_TMP16; + _TMP26 = pow(2.71828198E+00, _pow1.x); + _TMP27 = pow(2.71828198E+00, _pow1.y); + _TMP28 = pow(2.71828198E+00, _pow1.z); + _TMP151 = vec3(_TMP26, _TMP27, _TMP28); + _weights = _TMP151/_div1; + _TMP26 = pow(2.71828198E+00, _pow2.x); + _TMP27 = pow(2.71828198E+00, _pow2.y); + _TMP28 = pow(2.71828198E+00, _pow2.z); + _TMP161 = vec3(_TMP26, _TMP27, _TMP28); + _weights2 = _TMP161/_div2; + _multi = _col*_weights + _col2*_weights2; + _a0174 = VARmod_factor/2.00000000E+00; + _TMP32 = abs(_a0174); + _TMP33 = fract(_TMP32); + _TMP34 = abs(2.00000000E+00); + VARc0172 = _TMP33*_TMP34; + if (VARmod_factor < 0.00000000E+00) { + _TMP35 = -VARc0172; + } else { + _TMP35 = VARc0172; + } + _TMP20 = floor(_TMP35); + _mcol = vec3( 1.00000000E+00, 6.99999988E-01, 1.00000000E+00) + _TMP20*vec3( -3.00000012E-01, 3.00000012E-01, -3.00000012E-01); + _a0184 = _mcol*_multi; + _TMP26 = pow(_a0184.x, 4.54544991E-01); + _TMP27 = pow(_a0184.y, 4.54544991E-01); + _TMP28 = pow(_a0184.z, 4.54544991E-01); + _TMP21 = vec3(_TMP26, _TMP27, _TMP28); + _ret_0 = vec4(_TMP21.x, _TMP21.y, _TMP21.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/crt.glsl b/ios/Assets/shaders_glsl/CRT/crt.glsl new file mode 100644 index 0000000000..2b0811f424 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/crt.glsl @@ -0,0 +1,314 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec2 VARratio_scale; +varying float VARmod_factor; +varying vec2 VARc32; +varying vec2 VARc22; +varying vec2 VARc12; +varying vec2 VARc02; +varying vec2 VARc31; +varying vec2 VARc21; +varying vec2 VARc11; +varying vec2 VARc01; +struct tex_coords { + vec2 VARc01; + vec2 VARc11; + vec2 VARc21; + vec2 VARc31; + vec2 VARc02; + vec2 VARc12; + vec2 VARc22; + vec2 VARc32; + float VARmod_factor; + vec2 VARratio_scale; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +tex_coords _coords1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _delta; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _delta = 1.00000000E+00/TextureSize; + VARc01 = TexCoord.xy + vec2(-_delta.x, 0.00000000E+00); + VARc11 = TexCoord.xy; + VARc21 = TexCoord.xy + vec2(_delta.x, 0.00000000E+00); + VARc31 = TexCoord.xy + vec2(2.00000000E+00*_delta.x, 0.00000000E+00); + VARc02 = TexCoord.xy + vec2(-_delta.x, _delta.y); + VARc12 = TexCoord.xy + vec2(0.00000000E+00, _delta.y); + VARc22 = TexCoord.xy + vec2(_delta.x, _delta.y); + VARc32 = TexCoord.xy + vec2(2.00000000E+00*_delta.x, _delta.y); + VARmod_factor = (TexCoord.x*OutputSize.x*TextureSize.x)/InputSize.x; + VARratio_scale = TexCoord.xy*TextureSize; + gl_Position = _r0003; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec2 VARratio_scale; +varying float VARmod_factor; +varying vec2 VARc32; +varying vec2 VARc22; +varying vec2 VARc12; +varying vec2 VARc02; +varying vec2 VARc31; +varying vec2 VARc21; +varying vec2 VARc11; +varying vec2 VARc01; +struct tex_coords { + vec2 VARc01; + vec2 VARc11; + vec2 VARc21; + vec2 VARc31; + vec2 VARc02; + vec2 VARc12; + vec2 VARc22; + vec2 VARc32; + float VARmod_factor; + vec2 VARratio_scale; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec3 _TMP21; +float _TMP28; +float _TMP27; +float _TMP26; +float _TMP20; +float _TMP35; +float _TMP34; +float _TMP33; +float _TMP32; +vec3 _TMP16; +vec3 _TMP15; +float _TMP31; +float _TMP30; +float _TMP29; +vec3 _TMP14; +vec3 _TMP13; +vec3 _TMP36; +float _TMP10; +vec4 _TMP9; +vec4 _TMP8; +float _TMP25; +float _TMP24; +float _TMP23; +float _TMP22; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +tex_coords _co1; +uniform sampler2D Texture; +vec4 _x0062; +vec4 _x0072; +vec3 _r0084; +vec3 _TMP87; +vec3 _r0094; +vec3 _TMP97; +vec3 _x0136; +vec3 _x0144; +vec3 _TMP167; +vec3 _TMP177; +float VARc0188; +float _a0190; +vec3 _a0200; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _uv_ratio; + vec3 _col; + vec3 _col2; + vec4 _coeffs; + vec3 _weights; + vec3 _weights2; + vec3 _wid; + vec3 _wid2; + vec3 _sqrt1; + vec3 _sqrt2; + vec3 _pow_mul1; + vec3 _pow_mul2; + vec3 _div1; + vec3 _div2; + vec3 _pow1; + vec3 _pow2; + vec3 _multi; + vec3 _mcol; + _uv_ratio = fract(VARratio_scale); + _TMP0 = texture2D(Texture, VARc01); + _TMP1 = texture2D(Texture, VARc11); + _TMP2 = texture2D(Texture, VARc21); + _TMP3 = texture2D(Texture, VARc31); + _TMP4 = texture2D(Texture, VARc02); + _TMP5 = texture2D(Texture, VARc12); + _TMP6 = texture2D(Texture, VARc22); + _TMP7 = texture2D(Texture, VARc32); + _coeffs = vec4(1.00000000E+00 + _uv_ratio.x, _uv_ratio.x, 1.00000000E+00 - _uv_ratio.x, 2.00000000E+00 - _uv_ratio.x) + 4.99999989E-03; + _x0062 = 3.14159274E+00*_coeffs; + _TMP22 = sin(_x0062.x); + _TMP23 = sin(_x0062.y); + _TMP24 = sin(_x0062.z); + _TMP25 = sin(_x0062.w); + _TMP8 = vec4(_TMP22, _TMP23, _TMP24, _TMP25); + _x0072 = 1.57079637E+00*_coeffs; + _TMP22 = sin(_x0072.x); + _TMP23 = sin(_x0072.y); + _TMP24 = sin(_x0072.z); + _TMP25 = sin(_x0072.w); + _TMP9 = vec4(_TMP22, _TMP23, _TMP24, _TMP25); + _coeffs = (_TMP8*_TMP9)/(_coeffs*_coeffs); + _TMP10 = dot(_coeffs, vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _coeffs = _coeffs/_TMP10; + _weights = vec3(3.32999992E+00*_uv_ratio.y, 3.32999992E+00*_uv_ratio.y, 3.32999992E+00*_uv_ratio.y); + _weights2 = vec3(_uv_ratio.y*-3.32999992E+00 + 3.32999992E+00, _uv_ratio.y*-3.32999992E+00 + 3.32999992E+00, _uv_ratio.y*-3.32999992E+00 + 3.32999992E+00); + _r0084 = _coeffs.x*_TMP0.xyz; + _r0084 = _r0084 + _coeffs.y*_TMP1.xyz; + _r0084 = _r0084 + _coeffs.z*_TMP2.xyz; + _r0084 = _r0084 + _coeffs.w*_TMP3.xyz; + _TMP36 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _r0084); + _TMP87 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP36); + _r0094 = _coeffs.x*_TMP4.xyz; + _r0094 = _r0094 + _coeffs.y*_TMP5.xyz; + _r0094 = _r0094 + _coeffs.z*_TMP6.xyz; + _r0094 = _r0094 + _coeffs.w*_TMP7.xyz; + _TMP36 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _r0094); + _TMP97 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP36); + _TMP26 = pow(_TMP87.x, 4.00000000E+00); + _TMP27 = pow(_TMP87.y, 4.00000000E+00); + _TMP28 = pow(_TMP87.z, 4.00000000E+00); + _TMP13 = vec3(_TMP26, _TMP27, _TMP28); + _wid = 2.00000000E+00*_TMP13 + 2.00000000E+00; + _TMP26 = pow(_TMP97.x, 4.00000000E+00); + _TMP27 = pow(_TMP97.y, 4.00000000E+00); + _TMP28 = pow(_TMP97.z, 4.00000000E+00); + _TMP14 = vec3(_TMP26, _TMP27, _TMP28); + _wid2 = 2.00000000E+00*_TMP14 + 2.00000000E+00; + _TMP26 = pow(_TMP87.x, 2.70000005E+00); + _TMP27 = pow(_TMP87.y, 2.70000005E+00); + _TMP28 = pow(_TMP87.z, 2.70000005E+00); + _col = vec3(_TMP26, _TMP27, _TMP28); + _TMP26 = pow(_TMP97.x, 2.70000005E+00); + _TMP27 = pow(_TMP97.y, 2.70000005E+00); + _TMP28 = pow(_TMP97.z, 2.70000005E+00); + _col2 = vec3(_TMP26, _TMP27, _TMP28); + _x0136 = 5.00000000E-01*_wid; + _TMP29 = inversesqrt(_x0136.x); + _TMP30 = inversesqrt(_x0136.y); + _TMP31 = inversesqrt(_x0136.z); + _sqrt1 = vec3(_TMP29, _TMP30, _TMP31); + _x0144 = 5.00000000E-01*_wid2; + _TMP29 = inversesqrt(_x0144.x); + _TMP30 = inversesqrt(_x0144.y); + _TMP31 = inversesqrt(_x0144.z); + _sqrt2 = vec3(_TMP29, _TMP30, _TMP31); + _pow_mul1 = _weights*_sqrt1; + _pow_mul2 = _weights2*_sqrt2; + _div1 = 1.31999999E-01*_wid + 3.91999990E-01; + _div2 = 1.31999999E-01*_wid2 + 3.91999990E-01; + _TMP26 = pow(_pow_mul1.x, _wid.x); + _TMP27 = pow(_pow_mul1.y, _wid.y); + _TMP28 = pow(_pow_mul1.z, _wid.z); + _TMP15 = vec3(_TMP26, _TMP27, _TMP28); + _pow1 = -_TMP15; + _TMP26 = pow(_pow_mul2.x, _wid2.x); + _TMP27 = pow(_pow_mul2.y, _wid2.y); + _TMP28 = pow(_pow_mul2.z, _wid2.z); + _TMP16 = vec3(_TMP26, _TMP27, _TMP28); + _pow2 = -_TMP16; + _TMP26 = pow(2.71828198E+00, _pow1.x); + _TMP27 = pow(2.71828198E+00, _pow1.y); + _TMP28 = pow(2.71828198E+00, _pow1.z); + _TMP167 = vec3(_TMP26, _TMP27, _TMP28); + _weights = _TMP167/_div1; + _TMP26 = pow(2.71828198E+00, _pow2.x); + _TMP27 = pow(2.71828198E+00, _pow2.y); + _TMP28 = pow(2.71828198E+00, _pow2.z); + _TMP177 = vec3(_TMP26, _TMP27, _TMP28); + _weights2 = _TMP177/_div2; + _multi = _col*_weights + _col2*_weights2; + _a0190 = VARmod_factor/2.00000000E+00; + _TMP32 = abs(_a0190); + _TMP33 = fract(_TMP32); + _TMP34 = abs(2.00000000E+00); + VARc0188 = _TMP33*_TMP34; + if (VARmod_factor < 0.00000000E+00) { + _TMP35 = -VARc0188; + } else { + _TMP35 = VARc0188; + } + _TMP20 = floor(_TMP35); + _mcol = vec3( 1.00000000E+00, 6.99999988E-01, 1.00000000E+00) + _TMP20*vec3( -3.00000012E-01, 3.00000012E-01, -3.00000012E-01); + _a0200 = _mcol*_multi; + _TMP26 = pow(_a0200.x, 4.54544991E-01); + _TMP27 = pow(_a0200.y, 4.54544991E-01); + _TMP28 = pow(_a0200.z, 4.54544991E-01); + _TMP21 = vec3(_TMP26, _TMP27, _TMP28); + _ret_0 = vec4(_TMP21.x, _TMP21.y, _TMP21.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/phosphor-normalgamma.glsl b/ios/Assets/shaders_glsl/CRT/phosphor-normalgamma.glsl new file mode 100644 index 0000000000..76ac9309b0 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/phosphor-normalgamma.glsl @@ -0,0 +1,263 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec2 _tex_index; +varying vec2 _coord_prev_prev; +varying vec2 _coord_prev; +varying vec2 _coord; +struct coords { + vec2 _coord; + vec2 _coord_prev; + vec2 _coord_prev_prev; + vec2 _tex_index; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + coords _co; + vec2 _one_x; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _one_x = vec2(1.00000000E+00/(3.00000000E+00*TextureSize.x), 0.00000000E+00); + _co._coord = TexCoord.xy; + _co._coord_prev = TexCoord.xy - _one_x; + _co._coord_prev_prev = TexCoord.xy - 2.00000000E+00*_one_x; + _co._tex_index = TexCoord.xy*TextureSize; + gl_Position = _r0003; + TEX1.xy = TexCoord.xy; + TEX2.xy = _co._coord_prev; + TEX3.xy = _co._coord_prev_prev; + TEX4.xy = _co._tex_index; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec2 _tex_index; +varying vec2 _coord_prev_prev; +varying vec2 _coord_prev; +varying vec2 _coord; +struct coords { + vec2 _coord; + vec2 _coord_prev; + vec2 _coord_prev_prev; + vec2 _tex_index; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec3 _TMP4; +vec3 _TMP13; +float _TMP12; +float _TMP11; +float _TMP10; +vec3 _TMP3; +float _TMP9; +float _TMP8; +float _TMP7; +float _TMP6; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +float _c0017; +float _TMP24; +float _x0025; +vec3 _TMP58; +float _a0061; +float _c0061; +float _a0063; +vec3 _TMP68; +float _pixel0069; +float _a0071; +float _c0071; +float _a0073; +vec3 _TMP78; +float _pixel0079; +float _a0081; +float _c0081; +float _a0083; +vec3 _a0097; +vec3 _TMP104; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _color; + vec3 _color_prev; + vec3 _color_prev_prev; + float _pixel_x; + vec3 _result; + _TMP6 = abs(TEX4.y); + _TMP7 = fract(_TMP6); + _TMP8 = abs(1.00000000E+00); + _c0017 = _TMP7*_TMP8; + if (TEX4.y < 0.00000000E+00) { + _TMP9 = -_c0017; + } else { + _TMP9 = _c0017; + } + _x0025 = -2.00000003E-01*_TMP9; + _TMP24 = pow(2.71828198E+00, _x0025); + _TMP0 = texture2D(Texture, TEX1.xy); + _TMP10 = pow(_TMP0.x, 2.40000010E+00); + _TMP11 = pow(_TMP0.y, 2.40000010E+00); + _TMP12 = pow(_TMP0.z, 2.40000010E+00); + _color = vec3(_TMP10, _TMP11, _TMP12); + _TMP1 = texture2D(Texture, TEX2.xy); + _TMP10 = pow(_TMP1.x, 2.40000010E+00); + _TMP11 = pow(_TMP1.y, 2.40000010E+00); + _TMP12 = pow(_TMP1.z, 2.40000010E+00); + _color_prev = vec3(_TMP10, _TMP11, _TMP12); + _TMP2 = texture2D(Texture, TEX3.xy); + _TMP10 = pow(_TMP2.x, 2.40000010E+00); + _TMP11 = pow(_TMP2.y, 2.40000010E+00); + _TMP12 = pow(_TMP2.z, 2.40000010E+00); + _color_prev_prev = vec3(_TMP10, _TMP11, _TMP12); + _pixel_x = 3.00000000E+00*TEX4.x; + _a0061 = _pixel_x + 3.00000000E+00; + _a0063 = _a0061/3.00000000E+00; + _TMP6 = abs(_a0063); + _TMP7 = fract(_TMP6); + _TMP8 = abs(3.00000000E+00); + _c0061 = _TMP7*_TMP8; + if (_a0061 < 0.00000000E+00) { + _TMP9 = -_c0061; + } else { + _TMP9 = _c0061; + } + if (_TMP9 >= 2.00000000E+00) { + _TMP58 = vec3(_TMP9 - 2.00000000E+00, 0.00000000E+00, 3.00000000E+00 - _TMP9); + } else { + if (_TMP9 >= 1.00000000E+00) { + _TMP58 = vec3(0.00000000E+00, 2.00000000E+00 - _TMP9, _TMP9 - 1.00000000E+00); + } else { + _TMP58 = vec3(1.00000000E+00 - _TMP9, _TMP9, 0.00000000E+00); + } + } + _pixel0069 = _pixel_x - 1.00000000E+00; + _a0071 = _pixel0069 + 3.00000000E+00; + _a0073 = _a0071/3.00000000E+00; + _TMP6 = abs(_a0073); + _TMP7 = fract(_TMP6); + _TMP8 = abs(3.00000000E+00); + _c0071 = _TMP7*_TMP8; + if (_a0071 < 0.00000000E+00) { + _TMP9 = -_c0071; + } else { + _TMP9 = _c0071; + } + if (_TMP9 >= 2.00000000E+00) { + _TMP68 = vec3(_TMP9 - 2.00000000E+00, 0.00000000E+00, 3.00000000E+00 - _TMP9); + } else { + if (_TMP9 >= 1.00000000E+00) { + _TMP68 = vec3(0.00000000E+00, 2.00000000E+00 - _TMP9, _TMP9 - 1.00000000E+00); + } else { + _TMP68 = vec3(1.00000000E+00 - _TMP9, _TMP9, 0.00000000E+00); + } + } + _pixel0079 = _pixel_x - 2.00000000E+00; + _a0081 = _pixel0079 + 3.00000000E+00; + _a0083 = _a0081/3.00000000E+00; + _TMP6 = abs(_a0083); + _TMP7 = fract(_TMP6); + _TMP8 = abs(3.00000000E+00); + _c0081 = _TMP7*_TMP8; + if (_a0081 < 0.00000000E+00) { + _TMP9 = -_c0081; + } else { + _TMP9 = _c0081; + } + if (_TMP9 >= 2.00000000E+00) { + _TMP78 = vec3(_TMP9 - 2.00000000E+00, 0.00000000E+00, 3.00000000E+00 - _TMP9); + } else { + if (_TMP9 >= 1.00000000E+00) { + _TMP78 = vec3(0.00000000E+00, 2.00000000E+00 - _TMP9, _TMP9 - 1.00000000E+00); + } else { + _TMP78 = vec3(1.00000000E+00 - _TMP9, _TMP9, 0.00000000E+00); + } + } + _result = (8.00000012E-01*_color)*_TMP58 + (6.00000024E-01*_color_prev)*_TMP68 + (3.00000012E-01*_color_prev_prev)*_TMP78; + _TMP10 = pow(_result.x, 1.39999998E+00); + _TMP11 = pow(_result.y, 1.39999998E+00); + _TMP12 = pow(_result.z, 1.39999998E+00); + _TMP3 = vec3(_TMP10, _TMP11, _TMP12); + _result = 2.29999995E+00*_TMP3; + _result = _result*vec3( 1.45000005E+00, 1.45000005E+00, 1.45000005E+00); + _a0097 = _TMP24*_result; + _TMP10 = pow(_a0097.x, 4.54545438E-01); + _TMP11 = pow(_a0097.y, 4.54545438E-01); + _TMP12 = pow(_a0097.z, 4.54545438E-01); + _TMP4 = vec3(_TMP10, _TMP11, _TMP12); + _TMP13 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _TMP4); + _TMP104 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP13); + _ret_0 = vec4(_TMP104.x, _TMP104.y, _TMP104.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/phosphor.glsl b/ios/Assets/shaders_glsl/CRT/phosphor.glsl new file mode 100644 index 0000000000..f2a35a9bc1 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/phosphor.glsl @@ -0,0 +1,238 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec2 _tex_index; +varying vec2 _coord_prev_prev; +varying vec2 _coord_prev; +varying vec2 _coord; +struct coords { + vec2 _coord; + vec2 _coord_prev; + vec2 _coord_prev_prev; + vec2 _tex_index; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + coords _co; + vec2 _one_x; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _one_x = vec2(1.00000000E+00/(3.00000000E+00*TextureSize.x), 0.00000000E+00); + _co._coord = TexCoord.xy; + _co._coord_prev = TexCoord.xy - _one_x; + _co._coord_prev_prev = TexCoord.xy - 2.00000000E+00*_one_x; + _co._tex_index = TexCoord.xy*TextureSize; + gl_Position = _r0003; + TEX1.xy = TexCoord.xy; + TEX2.xy = _co._coord_prev; + TEX3.xy = _co._coord_prev_prev; + TEX4.xy = _co._tex_index; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec2 _tex_index; +varying vec2 _coord_prev_prev; +varying vec2 _coord_prev; +varying vec2 _coord; +struct coords { + vec2 _coord; + vec2 _coord_prev; + vec2 _coord_prev_prev; + vec2 _tex_index; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec3 _TMP3; +float _TMP10; +float _TMP9; +float _TMP8; +float _TMP7; +float _TMP6; +float _TMP5; +float _TMP4; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +float _c0014; +float _TMP21; +float _x0022; +vec3 _TMP31; +float _a0034; +float _c0034; +float _a0036; +vec3 _TMP41; +float _pixel0042; +float _a0044; +float _c0044; +float _a0046; +vec3 _TMP51; +float _pixel0052; +float _a0054; +float _c0054; +float _a0056; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + float _pixel_x; + vec3 _result; + vec3 _TMP12; + _TMP4 = abs(TEX4.y); + _TMP5 = fract(_TMP4); + _TMP6 = abs(1.00000000E+00); + _c0014 = _TMP5*_TMP6; + if (TEX4.y < 0.00000000E+00) { + _TMP7 = -_c0014; + } else { + _TMP7 = _c0014; + } + _x0022 = -2.00000003E-01*_TMP7; + _TMP21 = pow(2.71828198E+00, _x0022); + _TMP0 = texture2D(Texture, TEX1.xy); + _TMP1 = texture2D(Texture, TEX2.xy); + _TMP2 = texture2D(Texture, TEX3.xy); + _pixel_x = 3.00000000E+00*TEX4.x; + _a0034 = _pixel_x + 3.00000000E+00; + _a0036 = _a0034/3.00000000E+00; + _TMP4 = abs(_a0036); + _TMP5 = fract(_TMP4); + _TMP6 = abs(3.00000000E+00); + _c0034 = _TMP5*_TMP6; + if (_a0034 < 0.00000000E+00) { + _TMP7 = -_c0034; + } else { + _TMP7 = _c0034; + } + if (_TMP7 >= 2.00000000E+00) { + _TMP31 = vec3(_TMP7 - 2.00000000E+00, 0.00000000E+00, 3.00000000E+00 - _TMP7); + } else { + if (_TMP7 >= 1.00000000E+00) { + _TMP31 = vec3(0.00000000E+00, 2.00000000E+00 - _TMP7, _TMP7 - 1.00000000E+00); + } else { + _TMP31 = vec3(1.00000000E+00 - _TMP7, _TMP7, 0.00000000E+00); + } + } + _pixel0042 = _pixel_x - 1.00000000E+00; + _a0044 = _pixel0042 + 3.00000000E+00; + _a0046 = _a0044/3.00000000E+00; + _TMP4 = abs(_a0046); + _TMP5 = fract(_TMP4); + _TMP6 = abs(3.00000000E+00); + _c0044 = _TMP5*_TMP6; + if (_a0044 < 0.00000000E+00) { + _TMP7 = -_c0044; + } else { + _TMP7 = _c0044; + } + if (_TMP7 >= 2.00000000E+00) { + _TMP41 = vec3(_TMP7 - 2.00000000E+00, 0.00000000E+00, 3.00000000E+00 - _TMP7); + } else { + if (_TMP7 >= 1.00000000E+00) { + _TMP41 = vec3(0.00000000E+00, 2.00000000E+00 - _TMP7, _TMP7 - 1.00000000E+00); + } else { + _TMP41 = vec3(1.00000000E+00 - _TMP7, _TMP7, 0.00000000E+00); + } + } + _pixel0052 = _pixel_x - 2.00000000E+00; + _a0054 = _pixel0052 + 3.00000000E+00; + _a0056 = _a0054/3.00000000E+00; + _TMP4 = abs(_a0056); + _TMP5 = fract(_TMP4); + _TMP6 = abs(3.00000000E+00); + _c0054 = _TMP5*_TMP6; + if (_a0054 < 0.00000000E+00) { + _TMP7 = -_c0054; + } else { + _TMP7 = _c0054; + } + if (_TMP7 >= 2.00000000E+00) { + _TMP51 = vec3(_TMP7 - 2.00000000E+00, 0.00000000E+00, 3.00000000E+00 - _TMP7); + } else { + if (_TMP7 >= 1.00000000E+00) { + _TMP51 = vec3(0.00000000E+00, 2.00000000E+00 - _TMP7, _TMP7 - 1.00000000E+00); + } else { + _TMP51 = vec3(1.00000000E+00 - _TMP7, _TMP7, 0.00000000E+00); + } + } + _result = (8.00000012E-01*_TMP0.xyz)*_TMP31 + (6.00000024E-01*_TMP1.xyz)*_TMP41 + (3.00000012E-01*_TMP2.xyz)*_TMP51; + _TMP8 = pow(_result.x, 1.39999998E+00); + _TMP9 = pow(_result.y, 1.39999998E+00); + _TMP10 = pow(_result.z, 1.39999998E+00); + _TMP3 = vec3(_TMP8, _TMP9, _TMP10); + _result = 2.29999995E+00*_TMP3; + _TMP12 = _TMP21*_result; + _ret_0 = vec4(_TMP12.x, _TMP12.y, _TMP12.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/tv-highcontrast-HD-1152x672.glsl b/ios/Assets/shaders_glsl/CRT/tv-highcontrast-HD-1152x672.glsl new file mode 100644 index 0000000000..08e905e549 --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/tv-highcontrast-HD-1152x672.glsl @@ -0,0 +1,289 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +float _TMP19; +float _TMP18; +float _TMP17; +float _TMP16; +float _TMP24; +float _TMP23; +float _TMP22; +float _TMP21; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP20; +float _TMP28; +float _TMP27; +float _TMP26; +float _TMP25; +vec4 _TMP6; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP15; +vec4 _TMP1; +vec4 _TMP0; +float _TMP14; +float _TMP13; +float _TMP12; +float _TMP11; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _c0036; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _x0052; +vec4 _x0054; +vec4 _x0064; +vec4 _TMP73; +vec4 _x0074; +vec4 _TMP79; +vec4 _x0080; +vec4 _a0116; +vec4 _a0128; +vec4 _TMP137; +vec4 _x0138; +vec4 _a0160; +vec4 _a0172; +vec4 _TMP181; +vec4 _x0182; +float _a0194; +float _c0194; +float _a0196; +vec4 _a0202; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + vec2 _xy; + vec4 _texels[8]; + vec2 _uv_ratio; + vec4 _col; + vec4 _col2; + vec4 _coeffs; + vec4 _wid; + vec4 _weights; + vec4 _weights2; + vec4 _mcol; + _xy = TEX0.xy + vec2(0.00000000E+00, -5.00000000E-01*(2.22991081E-03/OutputSize.y)*6.72672668E+02); + _c0036 = _xy + vec2( -1.15315320E+03, 0.00000000E+00); + _texels[0] = texture2D(Texture, _c0036); + _texels[1] = texture2D(Texture, _xy); + _c0040 = _xy + vec2( 1.15315320E+03, 0.00000000E+00); + _texels[2] = texture2D(Texture, _c0040); + _c0042 = _xy + vec2( 2.30630640E+03, 0.00000000E+00); + _texels[3] = texture2D(Texture, _c0042); + _c0044 = _xy + vec2( -1.15315320E+03, 6.72672668E+02); + _texels[4] = texture2D(Texture, _c0044); + _c0046 = _xy + vec2( 0.00000000E+00, 6.72672668E+02); + _texels[5] = texture2D(Texture, _c0046); + _c0048 = _xy + vec2( 1.15315320E+03, 6.72672668E+02); + _texels[6] = texture2D(Texture, _c0048); + _c0050 = _xy + vec2( 2.30630640E+03, 6.72672668E+02); + _texels[7] = texture2D(Texture, _c0050); + _x0052 = _xy*vec2( 8.67187511E-04, 1.48660713E-03); + _uv_ratio = fract(_x0052); + _coeffs = vec4(1.00000000E+00 + _uv_ratio.x, _uv_ratio.x, 1.00000000E+00 - _uv_ratio.x, 2.00000000E+00 - _uv_ratio.x); + _x0054 = 3.14159274E+00*_coeffs; + _TMP11 = sin(_x0054.x); + _TMP12 = sin(_x0054.y); + _TMP13 = sin(_x0054.z); + _TMP14 = sin(_x0054.w); + _TMP0 = vec4(_TMP11, _TMP12, _TMP13, _TMP14); + _x0064 = (3.14159274E+00*_coeffs)/2.00000000E+00; + _TMP11 = sin(_x0064.x); + _TMP12 = sin(_x0064.y); + _TMP13 = sin(_x0064.z); + _TMP14 = sin(_x0064.w); + _TMP1 = vec4(_TMP11, _TMP12, _TMP13, _TMP14); + _coeffs = (_TMP0*_TMP1)/(_coeffs*_coeffs); + _coeffs = _coeffs/(_coeffs.x + _coeffs.y + _coeffs.z + _coeffs.w); + _x0074 = _coeffs.x*_texels[0] + _coeffs.y*_texels[1] + _coeffs.z*_texels[2] + _coeffs.w*_texels[3]; + _TMP15 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0074); + _TMP73 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP15); + _x0080 = _coeffs.x*_texels[4] + _coeffs.y*_texels[5] + _coeffs.z*_texels[6] + _coeffs.w*_texels[7]; + _TMP15 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0080); + _TMP79 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP15); + _TMP16 = pow(_TMP73.x, 2.50000000E+00); + _TMP17 = pow(_TMP73.y, 2.50000000E+00); + _TMP18 = pow(_TMP73.z, 2.50000000E+00); + _TMP19 = pow(_TMP73.w, 2.50000000E+00); + _col = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _TMP16 = pow(_TMP79.x, 2.50000000E+00); + _TMP17 = pow(_TMP79.y, 2.50000000E+00); + _TMP18 = pow(_TMP79.z, 2.50000000E+00); + _TMP19 = pow(_TMP79.w, 2.50000000E+00); + _col2 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _TMP16 = pow(_col.x, 4.00000000E+00); + _TMP17 = pow(_col.y, 4.00000000E+00); + _TMP18 = pow(_col.z, 4.00000000E+00); + _TMP19 = pow(_col.w, 4.00000000E+00); + _TMP2 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _wid = 2.00000000E+00 + 2.00000000E+00*_TMP2; + _weights = vec4(_uv_ratio.y/3.00000012E-01, _uv_ratio.y/3.00000012E-01, _uv_ratio.y/3.00000012E-01, _uv_ratio.y/3.00000012E-01); + _a0116 = 2.00000000E+00/_wid; + _TMP25 = inversesqrt(_a0116.x); + _TMP26 = inversesqrt(_a0116.y); + _TMP27 = inversesqrt(_a0116.z); + _TMP28 = inversesqrt(_a0116.w); + _TMP20 = vec4(_TMP25, _TMP26, _TMP27, _TMP28); + _TMP3 = 1.00000000E+00/_TMP20; + _a0128 = _weights*_TMP3; + _TMP16 = pow(_a0128.x, _wid.x); + _TMP17 = pow(_a0128.y, _wid.y); + _TMP18 = pow(_a0128.z, _wid.z); + _TMP19 = pow(_a0128.w, _wid.w); + _TMP4 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _x0138 = -_TMP4; + _TMP16 = pow(2.71828198E+00, _x0138.x); + _TMP17 = pow(2.71828198E+00, _x0138.y); + _TMP18 = pow(2.71828198E+00, _x0138.z); + _TMP19 = pow(2.71828198E+00, _x0138.w); + _TMP137 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _weights = ((5.09999990E-01*_TMP137)/3.00000012E-01)/(6.00000024E-01 + 2.00000003E-01*_wid); + _TMP16 = pow(_col2.x, 4.00000000E+00); + _TMP17 = pow(_col2.y, 4.00000000E+00); + _TMP18 = pow(_col2.z, 4.00000000E+00); + _TMP19 = pow(_col2.w, 4.00000000E+00); + _TMP6 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _wid = 2.00000000E+00 + 4.00000000E+00*_TMP6; + _weights2 = vec4((1.00000000E+00 - _uv_ratio.y)/3.00000012E-01, (1.00000000E+00 - _uv_ratio.y)/3.00000012E-01, (1.00000000E+00 - _uv_ratio.y)/3.00000012E-01, (1.00000000E+00 - _uv_ratio.y)/3.00000012E-01); + _a0160 = 2.00000000E+00/_wid; + _TMP25 = inversesqrt(_a0160.x); + _TMP26 = inversesqrt(_a0160.y); + _TMP27 = inversesqrt(_a0160.z); + _TMP28 = inversesqrt(_a0160.w); + _TMP20 = vec4(_TMP25, _TMP26, _TMP27, _TMP28); + _TMP7 = 1.00000000E+00/_TMP20; + _a0172 = _weights2*_TMP7; + _TMP16 = pow(_a0172.x, _wid.x); + _TMP17 = pow(_a0172.y, _wid.y); + _TMP18 = pow(_a0172.z, _wid.z); + _TMP19 = pow(_a0172.w, _wid.w); + _TMP8 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _x0182 = -_TMP8; + _TMP16 = pow(2.71828198E+00, _x0182.x); + _TMP17 = pow(2.71828198E+00, _x0182.y); + _TMP18 = pow(2.71828198E+00, _x0182.z); + _TMP19 = pow(2.71828198E+00, _x0182.w); + _TMP181 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _weights2 = ((5.09999990E-01*_TMP181)/3.00000012E-01)/(6.00000024E-01 + 2.00000003E-01*_wid); + _mcol = vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00); + _a0194 = _xy.x*OutputSize.x; + _a0196 = _a0194/2.00000000E+00; + _TMP21 = abs(_a0196); + _TMP22 = fract(_TMP21); + _TMP23 = abs(2.00000000E+00); + _c0194 = _TMP22*_TMP23; + if (_a0194 < 0.00000000E+00) { + _TMP24 = -_c0194; + } else { + _TMP24 = _c0194; + } + if (_TMP24 < 1.00000000E+00) { + _mcol.y = 6.99999988E-01; + } else { + _mcol.xz = vec2( 6.99999988E-01, 6.99999988E-01); + } + _a0202 = _mcol*(_col*_weights + _col2*_weights2); + _TMP16 = pow(_a0202.x, 4.54545438E-01); + _TMP17 = pow(_a0202.y, 4.54545438E-01); + _TMP18 = pow(_a0202.z, 4.54545438E-01); + _TMP19 = pow(_a0202.w, 4.54545438E-01); + _OUT._color = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/CRT/tv-highcontrast-HD.glsl b/ios/Assets/shaders_glsl/CRT/tv-highcontrast-HD.glsl new file mode 100644 index 0000000000..d71cb7748f --- /dev/null +++ b/ios/Assets/shaders_glsl/CRT/tv-highcontrast-HD.glsl @@ -0,0 +1,289 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +float _TMP19; +float _TMP18; +float _TMP17; +float _TMP16; +float _TMP24; +float _TMP23; +float _TMP22; +float _TMP21; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP20; +float _TMP28; +float _TMP27; +float _TMP26; +float _TMP25; +vec4 _TMP6; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP15; +vec4 _TMP1; +vec4 _TMP0; +float _TMP14; +float _TMP13; +float _TMP12; +float _TMP11; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _c0036; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _x0052; +vec4 _x0054; +vec4 _x0064; +vec4 _TMP73; +vec4 _x0074; +vec4 _TMP79; +vec4 _x0080; +vec4 _a0116; +vec4 _a0128; +vec4 _TMP137; +vec4 _x0138; +vec4 _a0160; +vec4 _a0172; +vec4 _TMP181; +vec4 _x0182; +float _a0194; +float _c0194; +float _a0196; +vec4 _a0202; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + vec2 _xy; + vec4 _texels[8]; + vec2 _uv_ratio; + vec4 _col; + vec4 _col2; + vec4 _coeffs; + vec4 _wid; + vec4 _weights; + vec4 _weights2; + vec4 _mcol; + _xy = TEX0.xy + vec2(0.00000000E+00, -5.00000000E-01*(2.22991081E-03/OutputSize.y)*4.80480469E+02); + _c0036 = _xy + vec2( -7.68768738E+02, 0.00000000E+00); + _texels[0] = texture2D(Texture, _c0036); + _texels[1] = texture2D(Texture, _xy); + _c0040 = _xy + vec2( 7.68768738E+02, 0.00000000E+00); + _texels[2] = texture2D(Texture, _c0040); + _c0042 = _xy + vec2( 1.53753748E+03, 0.00000000E+00); + _texels[3] = texture2D(Texture, _c0042); + _c0044 = _xy + vec2( -7.68768738E+02, 4.80480469E+02); + _texels[4] = texture2D(Texture, _c0044); + _c0046 = _xy + vec2( 0.00000000E+00, 4.80480469E+02); + _texels[5] = texture2D(Texture, _c0046); + _c0048 = _xy + vec2( 7.68768738E+02, 4.80480469E+02); + _texels[6] = texture2D(Texture, _c0048); + _c0050 = _xy + vec2( 1.53753748E+03, 4.80480469E+02); + _texels[7] = texture2D(Texture, _c0050); + _x0052 = _xy*vec2( 1.30078127E-03, 2.08125007E-03); + _uv_ratio = fract(_x0052); + _coeffs = vec4(1.00000000E+00 + _uv_ratio.x, _uv_ratio.x, 1.00000000E+00 - _uv_ratio.x, 2.00000000E+00 - _uv_ratio.x); + _x0054 = 3.14159274E+00*_coeffs; + _TMP11 = sin(_x0054.x); + _TMP12 = sin(_x0054.y); + _TMP13 = sin(_x0054.z); + _TMP14 = sin(_x0054.w); + _TMP0 = vec4(_TMP11, _TMP12, _TMP13, _TMP14); + _x0064 = (3.14159274E+00*_coeffs)/2.00000000E+00; + _TMP11 = sin(_x0064.x); + _TMP12 = sin(_x0064.y); + _TMP13 = sin(_x0064.z); + _TMP14 = sin(_x0064.w); + _TMP1 = vec4(_TMP11, _TMP12, _TMP13, _TMP14); + _coeffs = (_TMP0*_TMP1)/(_coeffs*_coeffs); + _coeffs = _coeffs/(_coeffs.x + _coeffs.y + _coeffs.z + _coeffs.w); + _x0074 = _coeffs.x*_texels[0] + _coeffs.y*_texels[1] + _coeffs.z*_texels[2] + _coeffs.w*_texels[3]; + _TMP15 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0074); + _TMP73 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP15); + _x0080 = _coeffs.x*_texels[4] + _coeffs.y*_texels[5] + _coeffs.z*_texels[6] + _coeffs.w*_texels[7]; + _TMP15 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0080); + _TMP79 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP15); + _TMP16 = pow(_TMP73.x, 2.50000000E+00); + _TMP17 = pow(_TMP73.y, 2.50000000E+00); + _TMP18 = pow(_TMP73.z, 2.50000000E+00); + _TMP19 = pow(_TMP73.w, 2.50000000E+00); + _col = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _TMP16 = pow(_TMP79.x, 2.50000000E+00); + _TMP17 = pow(_TMP79.y, 2.50000000E+00); + _TMP18 = pow(_TMP79.z, 2.50000000E+00); + _TMP19 = pow(_TMP79.w, 2.50000000E+00); + _col2 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _TMP16 = pow(_col.x, 4.00000000E+00); + _TMP17 = pow(_col.y, 4.00000000E+00); + _TMP18 = pow(_col.z, 4.00000000E+00); + _TMP19 = pow(_col.w, 4.00000000E+00); + _TMP2 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _wid = 2.00000000E+00 + 2.00000000E+00*_TMP2; + _weights = vec4(_uv_ratio.y/3.00000012E-01, _uv_ratio.y/3.00000012E-01, _uv_ratio.y/3.00000012E-01, _uv_ratio.y/3.00000012E-01); + _a0116 = 2.00000000E+00/_wid; + _TMP25 = inversesqrt(_a0116.x); + _TMP26 = inversesqrt(_a0116.y); + _TMP27 = inversesqrt(_a0116.z); + _TMP28 = inversesqrt(_a0116.w); + _TMP20 = vec4(_TMP25, _TMP26, _TMP27, _TMP28); + _TMP3 = 1.00000000E+00/_TMP20; + _a0128 = _weights*_TMP3; + _TMP16 = pow(_a0128.x, _wid.x); + _TMP17 = pow(_a0128.y, _wid.y); + _TMP18 = pow(_a0128.z, _wid.z); + _TMP19 = pow(_a0128.w, _wid.w); + _TMP4 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _x0138 = -_TMP4; + _TMP16 = pow(2.71828198E+00, _x0138.x); + _TMP17 = pow(2.71828198E+00, _x0138.y); + _TMP18 = pow(2.71828198E+00, _x0138.z); + _TMP19 = pow(2.71828198E+00, _x0138.w); + _TMP137 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _weights = ((5.09999990E-01*_TMP137)/3.00000012E-01)/(6.00000024E-01 + 2.00000003E-01*_wid); + _TMP16 = pow(_col2.x, 4.00000000E+00); + _TMP17 = pow(_col2.y, 4.00000000E+00); + _TMP18 = pow(_col2.z, 4.00000000E+00); + _TMP19 = pow(_col2.w, 4.00000000E+00); + _TMP6 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _wid = 2.00000000E+00 + 4.00000000E+00*_TMP6; + _weights2 = vec4((1.00000000E+00 - _uv_ratio.y)/3.00000012E-01, (1.00000000E+00 - _uv_ratio.y)/3.00000012E-01, (1.00000000E+00 - _uv_ratio.y)/3.00000012E-01, (1.00000000E+00 - _uv_ratio.y)/3.00000012E-01); + _a0160 = 2.00000000E+00/_wid; + _TMP25 = inversesqrt(_a0160.x); + _TMP26 = inversesqrt(_a0160.y); + _TMP27 = inversesqrt(_a0160.z); + _TMP28 = inversesqrt(_a0160.w); + _TMP20 = vec4(_TMP25, _TMP26, _TMP27, _TMP28); + _TMP7 = 1.00000000E+00/_TMP20; + _a0172 = _weights2*_TMP7; + _TMP16 = pow(_a0172.x, _wid.x); + _TMP17 = pow(_a0172.y, _wid.y); + _TMP18 = pow(_a0172.z, _wid.z); + _TMP19 = pow(_a0172.w, _wid.w); + _TMP8 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _x0182 = -_TMP8; + _TMP16 = pow(2.71828198E+00, _x0182.x); + _TMP17 = pow(2.71828198E+00, _x0182.y); + _TMP18 = pow(2.71828198E+00, _x0182.z); + _TMP19 = pow(2.71828198E+00, _x0182.w); + _TMP181 = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + _weights2 = ((5.09999990E-01*_TMP181)/3.00000012E-01)/(6.00000024E-01 + 2.00000003E-01*_wid); + _mcol = vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00); + _a0194 = _xy.x*OutputSize.x; + _a0196 = _a0194/2.00000000E+00; + _TMP21 = abs(_a0196); + _TMP22 = fract(_TMP21); + _TMP23 = abs(2.00000000E+00); + _c0194 = _TMP22*_TMP23; + if (_a0194 < 0.00000000E+00) { + _TMP24 = -_c0194; + } else { + _TMP24 = _c0194; + } + if (_TMP24 < 1.00000000E+00) { + _mcol.y = 6.99999988E-01; + } else { + _mcol.xz = vec2( 6.99999988E-01, 6.99999988E-01); + } + _a0202 = _mcol*(_col*_weights + _col2*_weights2); + _TMP16 = pow(_a0202.x, 4.54545438E-01); + _TMP17 = pow(_a0202.y, 4.54545438E-01); + _TMP18 = pow(_a0202.z, 4.54545438E-01); + _TMP19 = pow(_a0202.w, 4.54545438E-01); + _OUT._color = vec4(_TMP16, _TMP17, _TMP18, _TMP19); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Eagle/superEagle.glsl b/ios/Assets/shaders_glsl/Eagle/superEagle.glsl new file mode 100644 index 0000000000..ad35e7abea --- /dev/null +++ b/ios/Assets/shaders_glsl/Eagle/superEagle.glsl @@ -0,0 +1,468 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t7; +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; + vec4 _t7; +}; +out_vertex _ret_0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; +varying vec4 TEX7; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT._t1.xy = TexCoord.xy + vec2(float(float(-_ps.x)), float(float(-_ps.y))); + _OUT._t1.zw = TexCoord.xy + vec2(float(float(-_ps.x)), 0.00000000E+00); + _OUT._t2.xy = TexCoord.xy + vec2(float(float(+_ps.x)), float(float(-_ps.y))); + _OUT._t2.zw = TexCoord.xy + vec2(float(float((+_ps.x + _ps.x))), float(float(-_ps.y))); + _OUT._t3.xy = TexCoord.xy + vec2(float(float(-_ps.x)), 0.00000000E+00); + _OUT._t3.zw = TexCoord.xy + vec2(float(float(+_ps.x)), 0.00000000E+00); + _OUT._t4.xy = TexCoord.xy + vec2(float(float((+_ps.x + _ps.x))), 0.00000000E+00); + _OUT._t4.zw = TexCoord.xy + vec2(float(float(-_ps.x)), float(float(+_ps.y))); + _OUT._t5.xy = TexCoord.xy + vec2(0.00000000E+00, float(float(+_ps.y))); + _OUT._t5.zw = TexCoord.xy + vec2(float(float(+_ps.x)), float(float(+_ps.y))); + _OUT._t6.xy = TexCoord.xy + vec2(float(float((+_ps.x + _ps.x))), float(float(+_ps.y))); + _OUT._t6.zw = TexCoord.xy + vec2(float(float(-_ps.x)), float(float((+_ps.y + _ps.y)))); + _OUT._t7.xy = TexCoord.xy + vec2(0.00000000E+00, float(float((+_ps.y + _ps.y)))); + _OUT._t7.zw = TexCoord.xy + vec2(float(float(+_ps.x)), float(float((+_ps.y + _ps.y)))); + _ret_0._position1 = _r0005; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + _ret_0._t2 = _OUT._t2; + _ret_0._t3 = _OUT._t3; + _ret_0._t4 = _OUT._t4; + _ret_0._t5 = _OUT._t5; + _ret_0._t6 = _OUT._t6; + _ret_0._t7 = _OUT._t7; + gl_Position = _r0005; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + TEX2 = _OUT._t2; + TEX3 = _OUT._t3; + TEX4 = _OUT._t4; + TEX5 = _OUT._t5; + TEX6 = _OUT._t6; + TEX7 = _OUT._t7; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; + TEX7 = _ret_0._t7; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t7; +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; + vec4 _t7; +}; +vec4 _ret_0; +vec3 _TMP28; +vec3 _TMP30; +vec3 _TMP29; +float _TMP31; +float _TMP32; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP2; +vec4 _TMP1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0039; +int _x0137; +int _y0137; +int _r0137; +int _x0139; +int _y0139; +int _r0139; +int _x0141; +int _y0141; +int _r0141; +int _x0143; +int _y0143; +int _r0143; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; +varying vec4 TEX7; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec3 _C1; + vec3 _C2; + vec3 _C3; + vec3 _C4; + vec3 _C5; + vec3 _D4; + vec3 _C6; + vec3 _C7; + vec3 _C8; + vec3 _D5; + vec3 _D1; + vec3 _D2; + vec3 _p00; + vec3 _p10; + vec3 _p01; + vec3 _p11; + float _c1; + float _c2; + float _c3; + float _c4; + float _c5; + float _c6; + float _c7; + float _c8; + float _d1; + float _d2; + float _d4; + float _d5; + int _r1; + _x0039 = TEX0.xy*TextureSize; + _fp = fract(_x0039); + _TMP1 = texture2D(Texture, TEX1.zw); + _C1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, TEX2.xy); + _C2 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP4 = texture2D(Texture, TEX3.xy); + _C3 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, TEX0.xy); + _C4 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, TEX3.zw); + _C5 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, TEX4.xy); + _D4 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, TEX4.zw); + _C6 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, TEX5.xy); + _C7 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, TEX5.zw); + _C8 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, TEX6.xy); + _D5 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP13 = texture2D(Texture, TEX7.xy); + _D1 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, TEX7.zw); + _D2 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP32 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c1 = float(_TMP31); + _TMP32 = dot(vec3(float(_C2.x), float(_C2.y), float(_C2.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c2 = float(_TMP31); + _TMP32 = dot(vec3(float(_C3.x), float(_C3.y), float(_C3.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c3 = float(_TMP31); + _TMP32 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c4 = float(_TMP31); + _TMP32 = dot(vec3(float(_C5.x), float(_C5.y), float(_C5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c5 = float(_TMP31); + _TMP32 = dot(vec3(float(_C6.x), float(_C6.y), float(_C6.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c6 = float(_TMP31); + _TMP32 = dot(vec3(float(_C7.x), float(_C7.y), float(_C7.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c7 = float(_TMP31); + _TMP32 = dot(vec3(float(_C8.x), float(_C8.y), float(_C8.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c8 = float(_TMP31); + _TMP32 = dot(vec3(float(_D1.x), float(_D1.y), float(_D1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _d1 = float(_TMP31); + _TMP32 = dot(vec3(float(_D2.x), float(_D2.y), float(_D2.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _d2 = float(_TMP31); + _TMP32 = dot(vec3(float(_D4.x), float(_D4.y), float(_D4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _d4 = float(_TMP31); + _TMP32 = dot(vec3(float(_D5.x), float(_D5.y), float(_D5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _d5 = float(_TMP31); + if (_c4 != _c8) { + if (_c7 == _c5) { + _p10 = _C7; + _p01 = _C7; + if (_c6 == _c7 || _c5 == _c2) { + _p00 = 2.50000000E-01*(3.00000000E+00*_C7 + _C4); + } else { + _p00 = 5.00000000E-01*(_C4 + _C5); + } + if (_c5 == _d4 || _c7 == _d1) { + _p11 = 2.50000000E-01*(3.00000000E+00*_C7 + _C8); + } else { + _p11 = 5.00000000E-01*(_C7 + _C8); + } + } else { + _p11 = 1.25000000E-01*(6.00000000E+00*_C8 + _C7 + _C5); + _p00 = 1.25000000E-01*(6.00000000E+00*_C4 + _C7 + _C5); + _p10 = 1.25000000E-01*(6.00000000E+00*_C7 + _C4 + _C8); + _p01 = 1.25000000E-01*(6.00000000E+00*_C5 + _C4 + _C8); + } + } else { + if (_c7 != _c5) { + _p00 = _C4; + _p11 = _C4; + if (_c1 == _c4 || _c8 == _d5) { + _p01 = 2.50000000E-01*(3.00000000E+00*_C4 + _C5); + } else { + _p01 = 5.00000000E-01*(_C4 + _C5); + } + if (_c8 == _d2 || _c3 == _c4) { + _p10 = 2.50000000E-01*(3.00000000E+00*_C4 + _C7); + } else { + _p10 = 5.00000000E-01*(_C7 + _C8); + } + } else { + _x0137 = 0; + _y0137 = 0; + _r0137 = 0; + if (_c5 == _c6) { + _x0137 = 1; + } else { + if (_c4 == _c6) { + _y0137 = 1; + } + } + if (_c5 == _d1) { + _x0137 = _x0137 + 1; + } else { + if (_c4 == _d1) { + _y0137 = _y0137 + 1; + } + } + if (_x0137 <= 1) { + _r0137 = 1; + } + if (_y0137 <= 1) { + _r0137 = _r0137 - 1; + } + _x0139 = 0; + _y0139 = 0; + _r0139 = 0; + if (_c5 == _c3) { + _x0139 = 1; + } else { + if (_c4 == _c3) { + _y0139 = 1; + } + } + if (_c5 == _c1) { + _x0139 = _x0139 + 1; + } else { + if (_c4 == _c1) { + _y0139 = _y0139 + 1; + } + } + if (_x0139 <= 1) { + _r0139 = 1; + } + if (_y0139 <= 1) { + _r0139 = _r0139 - 1; + } + _r1 = _r0137 + _r0139; + _x0141 = 0; + _y0141 = 0; + _r0141 = 0; + if (_c5 == _d2) { + _x0141 = 1; + } else { + if (_c4 == _d2) { + _y0141 = 1; + } + } + if (_c5 == _d5) { + _x0141 = _x0141 + 1; + } else { + if (_c4 == _d5) { + _y0141 = _y0141 + 1; + } + } + if (_x0141 <= 1) { + _r0141 = 1; + } + if (_y0141 <= 1) { + _r0141 = _r0141 - 1; + } + _r1 = _r1 + _r0141; + _x0143 = 0; + _y0143 = 0; + _r0143 = 0; + if (_c5 == _c2) { + _x0143 = 1; + } else { + if (_c4 == _c2) { + _y0143 = 1; + } + } + if (_c5 == _d4) { + _x0143 = _x0143 + 1; + } else { + if (_c4 == _d4) { + _y0143 = _y0143 + 1; + } + } + if (_x0143 <= 1) { + _r0143 = 1; + } + if (_y0143 <= 1) { + _r0143 = _r0143 - 1; + } + _r1 = _r1 + _r0143; + if (_r1 > 0) { + _p10 = _C7; + _p01 = _C7; + _p11 = 5.00000000E-01*(_C4 + _C5); + _p00 = _p11; + } else { + if (_r1 < 0) { + _p00 = _C4; + _p11 = _C4; + _p10 = 5.00000000E-01*(_C4 + _C5); + _p01 = _p10; + } else { + _p00 = _C4; + _p11 = _C4; + _p10 = _C7; + _p01 = _C7; + } + } + } + } + if (_fp.x < 5.00000000E-01) { + if (_fp.y < 5.00000000E-01) { + _TMP29 = _p00; + } else { + _TMP29 = _p10; + } + _TMP28 = _TMP29; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP30 = _p01; + } else { + _TMP30 = _p11; + } + _TMP28 = _TMP30; + } + _ret_0 = vec4(float(_TMP28.x), float(_TMP28.y), float(_TMP28.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/HQx/hq2x.glsl b/ios/Assets/shaders_glsl/HQx/hq2x.glsl new file mode 100644 index 0000000000..26f26bde30 --- /dev/null +++ b/ios/Assets/shaders_glsl/HQx/hq2x.glsl @@ -0,0 +1,375 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0019; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + float _x; + float _y; + vec2 _dg1; + vec2 _dg2; + vec2 _dx; + vec2 _dy; + vec2 _TMP9; + vec2 _TMP10; + vec2 _TMP11; + vec2 _TMP12; + vec2 _TMP13; + vec2 _TMP14; + vec2 _TMP15; + vec2 _TMP16; + out_vertex _TMP17; + _x = 5.00000000E-01*(1.00000000E+00/TextureSize.x); + _y = 5.00000000E-01*(1.00000000E+00/TextureSize.y); + _dg1 = vec2(_x, _y); + _dg2 = vec2(-_x, _y); + _dx = vec2(_x, 0.00000000E+00); + _dy = vec2(0.00000000E+00, _y); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0019.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0019.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0019.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0019.w = float(_TMP1); + _TMP15 = TexCoord.xy - _dg1; + _TMP16 = TexCoord.xy - _dy; + _TMP17._t1 = vec4(_TMP15.x, _TMP15.y, _TMP16.x, _TMP16.y); + _TMP13 = TexCoord.xy - _dg2; + _TMP14 = TexCoord.xy + _dx; + _TMP17._t2 = vec4(_TMP13.x, _TMP13.y, _TMP14.x, _TMP14.y); + _TMP11 = TexCoord.xy + _dg1; + _TMP12 = TexCoord.xy + _dy; + _TMP17._t3 = vec4(_TMP11.x, _TMP11.y, _TMP12.x, _TMP12.y); + _TMP9 = TexCoord.xy + _dg2; + _TMP10 = TexCoord.xy - _dx; + _TMP17._t4 = vec4(_TMP9.x, _TMP9.y, _TMP10.x, _TMP10.y); + _ret_0._position1 = _r0019; + _ret_0._texCoord = TexCoord.xy; + _ret_0._t1 = _TMP17._t1; + _ret_0._t2 = _TMP17._t2; + _ret_0._t3 = _TMP17._t3; + _ret_0._t4 = _TMP17._t4; + gl_Position = vec4(float(_r0019.x), float(_r0019.y), float(_r0019.z), float(_r0019.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _TMP17._t1; + TEX2 = _TMP17._t2; + TEX3 = _TMP17._t3; + TEX4 = _TMP17._t4; + return; + TEX0.xy = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t11; + vec4 _t21; + vec4 _t3; + vec4 _t4; +}; +vec4 _ret_0; +float _TMP29; +float _TMP33; +float _TMP32; +float _TMP34; +vec3 _TMP28; +float _TMP31; +vec3 _TMP30; +float _TMP27; +vec3 _TMP26; +float _TMP25; +vec3 _TMP24; +float _TMP23; +vec3 _TMP22; +float _TMP21; +float _TMP20; +float _TMP19; +float _TMP18; +vec3 _TMP17; +float _TMP16; +vec3 _TMP15; +float _TMP14; +vec3 _TMP13; +float _TMP12; +vec3 _TMP11; +vec3 _TMP10; +vec3 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0045; +vec2 _c0047; +vec2 _c0049; +vec2 _c0051; +vec2 _c0053; +vec2 _c0055; +vec2 _c0057; +vec2 _c0059; +vec2 _c0061; +vec3 _a0063; +vec3 _a0067; +vec3 _a0071; +vec3 _a0075; +vec3 _a0079; +vec3 _a0083; +vec3 _a0089; +vec3 _a0091; +vec3 _a0093; +float _TMP96; +float _x0097; +vec3 _a0103; +float _TMP106; +float _x0107; +vec3 _a0113; +float _TMP116; +float _x0117; +vec3 _a0123; +float _TMP126; +float _x0127; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c00; + vec3 _c10; + vec3 _c20; + vec3 _c01; + vec3 _c11; + vec3 _c21; + vec3 _c02; + vec3 _c12; + vec3 _c22; + float _md1; + float _md2; + float _w1; + float _w2; + float _w3; + float _w4; + float _t1; + float _t2; + float _ww; + float _lc1; + float _lc2; + vec3 _TMP43; + _c0045 = vec2(float(TEX1.x), float(TEX1.y)); + _TMP0 = texture2D(Texture, _c0045); + _c00 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0047 = vec2(float(TEX1.z), float(TEX1.w)); + _TMP1 = texture2D(Texture, _c0047); + _c10 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0049 = vec2(float(TEX2.x), float(TEX2.y)); + _TMP2 = texture2D(Texture, _c0049); + _c20 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0051 = vec2(float(TEX4.z), float(TEX4.w)); + _TMP3 = texture2D(Texture, _c0051); + _c01 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0053 = vec2(float(TEX0.x), float(TEX0.y)); + _TMP4 = texture2D(Texture, _c0053); + _c11 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0055 = vec2(float(TEX2.z), float(TEX2.w)); + _TMP5 = texture2D(Texture, _c0055); + _c21 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0057 = vec2(float(TEX4.x), float(TEX4.y)); + _TMP6 = texture2D(Texture, _c0057); + _c02 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0059 = vec2(float(TEX3.z), float(TEX3.w)); + _TMP7 = texture2D(Texture, _c0059); + _c12 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0061 = vec2(float(TEX3.x), float(TEX3.y)); + _TMP8 = texture2D(Texture, _c0061); + _c22 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _a0063 = _c00 - _c22; + _TMP30 = abs(vec3(float(_a0063.x), float(_a0063.y), float(_a0063.z))); + _TMP9 = vec3(float(_TMP30.x), float(_TMP30.y), float(_TMP30.z)); + _TMP31 = dot(vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _md1 = float(_TMP31); + _a0067 = _c02 - _c20; + _TMP30 = abs(vec3(float(_a0067.x), float(_a0067.y), float(_a0067.z))); + _TMP10 = vec3(float(_TMP30.x), float(_TMP30.y), float(_TMP30.z)); + _TMP31 = dot(vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _md2 = float(_TMP31); + _a0071 = _c22 - _c11; + _TMP30 = abs(vec3(float(_a0071.x), float(_a0071.y), float(_a0071.z))); + _TMP11 = vec3(float(_TMP30.x), float(_TMP30.y), float(_TMP30.z)); + _TMP31 = dot(vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP12 = float(_TMP31); + _w1 = _TMP12*_md2; + _a0075 = _c02 - _c11; + _TMP30 = abs(vec3(float(_a0075.x), float(_a0075.y), float(_a0075.z))); + _TMP13 = vec3(float(_TMP30.x), float(_TMP30.y), float(_TMP30.z)); + _TMP31 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP14 = float(_TMP31); + _w2 = _TMP14*_md1; + _a0079 = _c00 - _c11; + _TMP30 = abs(vec3(float(_a0079.x), float(_a0079.y), float(_a0079.z))); + _TMP15 = vec3(float(_TMP30.x), float(_TMP30.y), float(_TMP30.z)); + _TMP31 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP16 = float(_TMP31); + _w3 = _TMP16*_md2; + _a0083 = _c20 - _c11; + _TMP30 = abs(vec3(float(_a0083.x), float(_a0083.y), float(_a0083.z))); + _TMP17 = vec3(float(_TMP30.x), float(_TMP30.y), float(_TMP30.z)); + _TMP31 = dot(vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP18 = float(_TMP31); + _w4 = _TMP18*_md1; + _t1 = _w1 + _w3; + _t2 = _w2 + _w4; + _TMP32 = max(float(_t1), float(_t2)); + _TMP19 = float(_TMP32); + _ww = _TMP19 + 1.00016594E-04; + _c11 = (_w1*_c00 + _w2*_c20 + _w3*_c22 + _w4*_c02 + _ww*_c11)/(_t1 + _t2 + _ww); + _a0089 = _c10 + _c12 + _c11; + _TMP31 = dot(vec3(float(_a0089.x), float(_a0089.y), float(_a0089.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP20 = float(_TMP31); + _lc1 = -2.50000000E-01/(1.19995117E-01*_TMP20 + 2.50000000E-01); + _a0091 = _c01 + _c21 + _c11; + _TMP31 = dot(vec3(float(_a0091.x), float(_a0091.y), float(_a0091.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP21 = float(_TMP31); + _lc2 = -2.50000000E-01/(1.19995117E-01*_TMP21 + 2.50000000E-01); + _a0093 = _c11 - _c10; + _TMP30 = abs(vec3(float(_a0093.x), float(_a0093.y), float(_a0093.z))); + _TMP22 = vec3(float(_TMP30.x), float(_TMP30.y), float(_TMP30.z)); + _TMP31 = dot(vec3(float(_TMP22.x), float(_TMP22.y), float(_TMP22.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP23 = float(_TMP31); + _x0097 = _lc1*_TMP23 + 3.24951172E-01; + _TMP34 = min(2.50000000E-01, float(_x0097)); + _TMP33 = float(_TMP34); + _TMP32 = max(-4.99877930E-02, float(_TMP33)); + _TMP96 = float(_TMP32); + _a0103 = _c11 - _c21; + _TMP30 = abs(vec3(float(_a0103.x), float(_a0103.y), float(_a0103.z))); + _TMP24 = vec3(float(_TMP30.x), float(_TMP30.y), float(_TMP30.z)); + _TMP31 = dot(vec3(float(_TMP24.x), float(_TMP24.y), float(_TMP24.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP25 = float(_TMP31); + _x0107 = _lc2*_TMP25 + 3.24951172E-01; + _TMP34 = min(2.50000000E-01, float(_x0107)); + _TMP33 = float(_TMP34); + _TMP32 = max(-4.99877930E-02, float(_TMP33)); + _TMP106 = float(_TMP32); + _a0113 = _c11 - _c12; + _TMP30 = abs(vec3(float(_a0113.x), float(_a0113.y), float(_a0113.z))); + _TMP26 = vec3(float(_TMP30.x), float(_TMP30.y), float(_TMP30.z)); + _TMP31 = dot(vec3(float(_TMP26.x), float(_TMP26.y), float(_TMP26.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP27 = float(_TMP31); + _x0117 = _lc1*_TMP27 + 3.24951172E-01; + _TMP34 = min(2.50000000E-01, float(_x0117)); + _TMP33 = float(_TMP34); + _TMP32 = max(-4.99877930E-02, float(_TMP33)); + _TMP116 = float(_TMP32); + _a0123 = _c11 - _c01; + _TMP30 = abs(vec3(float(_a0123.x), float(_a0123.y), float(_a0123.z))); + _TMP28 = vec3(float(_TMP30.x), float(_TMP30.y), float(_TMP30.z)); + _TMP31 = dot(vec3(float(_TMP28.x), float(_TMP28.y), float(_TMP28.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP29 = float(_TMP31); + _x0127 = _lc2*_TMP29 + 3.24951172E-01; + _TMP34 = min(2.50000000E-01, float(_x0127)); + _TMP33 = float(_TMP34); + _TMP32 = max(-4.99877930E-02, float(_TMP33)); + _TMP126 = float(_TMP32); + _TMP43 = _TMP96*_c10 + _TMP106*_c21 + _TMP116*_c12 + _TMP126*_c01 + ((((1.00000000E+00 - _TMP96) - _TMP106) - _TMP116) - _TMP126)*_c11; + _ret_0 = vec4(_TMP43.x, _TMP43.y, _TMP43.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/HQx/hq4x.glsl b/ios/Assets/shaders_glsl/HQx/hq4x.glsl new file mode 100644 index 0000000000..b7474065e9 --- /dev/null +++ b/ios/Assets/shaders_glsl/HQx/hq4x.glsl @@ -0,0 +1,484 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0023; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + float _x; + float _y; + vec2 _dg1; + vec2 _dg2; + vec2 _sd1; + vec2 _sd2; + vec2 _ddx; + vec2 _ddy; + vec2 _TMP9; + vec2 _TMP10; + vec2 _TMP11; + vec2 _TMP12; + vec2 _TMP13; + vec2 _TMP14; + vec2 _TMP15; + vec2 _TMP16; + vec2 _TMP17; + vec2 _TMP18; + vec2 _TMP19; + vec2 _TMP20; + out_vertex _TMP21; + _x = 5.00000000E-01*(1.00000000E+00/TextureSize.x); + _y = 5.00000000E-01*(1.00000000E+00/TextureSize.y); + _dg1 = vec2(_x, _y); + _dg2 = vec2(-_x, _y); + _sd1 = _dg1*5.00000000E-01; + _sd2 = _dg2*5.00000000E-01; + _ddx = vec2(_x, 0.00000000E+00); + _ddy = vec2(0.00000000E+00, _y); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0023.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0023.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0023.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0023.w = float(_TMP1); + _TMP19 = TexCoord.xy - _sd1; + _TMP20 = TexCoord.xy - _ddy; + _TMP21._t1 = vec4(_TMP19.x, _TMP19.y, _TMP20.x, _TMP20.y); + _TMP17 = TexCoord.xy - _sd2; + _TMP18 = TexCoord.xy + _ddx; + _TMP21._t2 = vec4(_TMP17.x, _TMP17.y, _TMP18.x, _TMP18.y); + _TMP15 = TexCoord.xy + _sd1; + _TMP16 = TexCoord.xy + _ddy; + _TMP21._t3 = vec4(_TMP15.x, _TMP15.y, _TMP16.x, _TMP16.y); + _TMP13 = TexCoord.xy + _sd2; + _TMP14 = TexCoord.xy - _ddx; + _TMP21._t4 = vec4(_TMP13.x, _TMP13.y, _TMP14.x, _TMP14.y); + _TMP11 = TexCoord.xy - _dg1; + _TMP12 = TexCoord.xy - _dg2; + _TMP21._t5 = vec4(_TMP11.x, _TMP11.y, _TMP12.x, _TMP12.y); + _TMP9 = TexCoord.xy + _dg1; + _TMP10 = TexCoord.xy + _dg2; + _TMP21._t6 = vec4(_TMP9.x, _TMP9.y, _TMP10.x, _TMP10.y); + _ret_0._position1 = _r0023; + _ret_0._texCoord = TexCoord.xy; + _ret_0._t1 = _TMP21._t1; + _ret_0._t2 = _TMP21._t2; + _ret_0._t3 = _TMP21._t3; + _ret_0._t4 = _TMP21._t4; + _ret_0._t5 = _TMP21._t5; + _ret_0._t6 = _TMP21._t6; + gl_Position = vec4(float(_r0023.x), float(_r0023.y), float(_r0023.z), float(_r0023.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _TMP21._t1; + TEX2 = _TMP21._t2; + TEX3 = _TMP21._t3; + TEX4 = _TMP21._t4; + TEX5 = _TMP21._t5; + TEX6 = _TMP21._t6; + return; + TEX0.xy = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +vec4 _ret_0; +float _TMP43; +float _TMP41; +float _TMP42; +float _TMP38; +float _TMP37; +float _TMP40; +vec3 _TMP36; +vec3 _TMP35; +vec3 _TMP39; +float _TMP34; +float _TMP33; +vec3 _TMP32; +vec3 _TMP31; +float _TMP30; +float _TMP29; +vec3 _TMP28; +vec3 _TMP27; +float _TMP26; +float _TMP25; +vec3 _TMP24; +vec3 _TMP23; +float _TMP22; +float _TMP21; +vec3 _TMP20; +float _TMP19; +float _TMP18; +vec3 _TMP17; +vec3 _TMP16; +vec3 _TMP15; +vec3 _TMP14; +vec3 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0054; +vec2 _c0056; +vec2 _c0058; +vec2 _c0060; +vec2 _c0062; +vec2 _c0064; +vec2 _c0066; +vec2 _c0068; +vec2 _c0070; +vec2 _c0072; +vec2 _c0074; +vec2 _c0076; +vec2 _c0078; +vec3 _a0080; +vec3 _a0084; +vec3 _a0088; +vec3 _a0092; +vec3 _a0096; +vec3 _a0104; +vec3 _a0112; +vec3 _a0114; +vec3 _a0116; +vec3 _a0118; +vec3 _a0120; +vec3 _a0122; +vec3 _a0124; +vec3 _a0126; +vec3 _a0128; +vec3 _a0130; +vec3 _a0132; +vec3 _a0134; +vec3 _a0136; +vec3 _a0138; +vec3 _a0140; +vec3 _a0142; +float _TMP143; +float _x0144; +float _TMP149; +float _x0150; +float _TMP155; +float _x0156; +float _TMP161; +float _x0162; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c; + vec3 _i1; + vec3 _i2; + vec3 _i3; + vec3 _i4; + vec3 _o1; + vec3 _o3; + vec3 _o2; + vec3 _o4; + vec3 _s1; + vec3 _s2; + vec3 _s3; + vec3 _s4; + float _ko1; + float _ko2; + float _ko3; + float _ko4; + float _k1; + float _k2; + float _w1; + float _w2; + float _w3; + float _w4; + vec3 _TMP52; + _c0054 = vec2(float(TEX0.x), float(TEX0.y)); + _TMP0 = texture2D(Texture, _c0054); + _c = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0056 = vec2(float(TEX1.x), float(TEX1.y)); + _TMP1 = texture2D(Texture, _c0056); + _i1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0058 = vec2(float(TEX2.x), float(TEX2.y)); + _TMP2 = texture2D(Texture, _c0058); + _i2 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0060 = vec2(float(TEX3.x), float(TEX3.y)); + _TMP3 = texture2D(Texture, _c0060); + _i3 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0062 = vec2(float(TEX4.x), float(TEX4.y)); + _TMP4 = texture2D(Texture, _c0062); + _i4 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0064 = vec2(float(TEX5.x), float(TEX5.y)); + _TMP5 = texture2D(Texture, _c0064); + _o1 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0066 = vec2(float(TEX6.x), float(TEX6.y)); + _TMP6 = texture2D(Texture, _c0066); + _o3 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0068 = vec2(float(TEX5.z), float(TEX5.w)); + _TMP7 = texture2D(Texture, _c0068); + _o2 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0070 = vec2(float(TEX6.z), float(TEX6.w)); + _TMP8 = texture2D(Texture, _c0070); + _o4 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0072 = vec2(float(TEX1.z), float(TEX1.w)); + _TMP9 = texture2D(Texture, _c0072); + _s1 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0074 = vec2(float(TEX2.z), float(TEX2.w)); + _TMP10 = texture2D(Texture, _c0074); + _s2 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0076 = vec2(float(TEX3.z), float(TEX3.w)); + _TMP11 = texture2D(Texture, _c0076); + _s3 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0078 = vec2(float(TEX4.z), float(TEX4.w)); + _TMP12 = texture2D(Texture, _c0078); + _s4 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _a0080 = _o1 - _c; + _TMP39 = abs(vec3(float(_a0080.x), float(_a0080.y), float(_a0080.z))); + _TMP13 = vec3(float(_TMP39.x), float(_TMP39.y), float(_TMP39.z)); + _TMP40 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _ko1 = float(_TMP40); + _a0084 = _o2 - _c; + _TMP39 = abs(vec3(float(_a0084.x), float(_a0084.y), float(_a0084.z))); + _TMP14 = vec3(float(_TMP39.x), float(_TMP39.y), float(_TMP39.z)); + _TMP40 = dot(vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _ko2 = float(_TMP40); + _a0088 = _o3 - _c; + _TMP39 = abs(vec3(float(_a0088.x), float(_a0088.y), float(_a0088.z))); + _TMP15 = vec3(float(_TMP39.x), float(_TMP39.y), float(_TMP39.z)); + _TMP40 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _ko3 = float(_TMP40); + _a0092 = _o4 - _c; + _TMP39 = abs(vec3(float(_a0092.x), float(_a0092.y), float(_a0092.z))); + _TMP16 = vec3(float(_TMP39.x), float(_TMP39.y), float(_TMP39.z)); + _TMP40 = dot(vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _ko4 = float(_TMP40); + _a0096 = _i1 - _i3; + _TMP39 = abs(vec3(float(_a0096.x), float(_a0096.y), float(_a0096.z))); + _TMP17 = vec3(float(_TMP39.x), float(_TMP39.y), float(_TMP39.z)); + _TMP40 = dot(vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP18 = float(_TMP40); + _TMP41 = max(float(_ko1), float(_ko3)); + _TMP19 = float(_TMP41); + _TMP42 = min(float(_TMP18), float(_TMP19)); + _k1 = float(_TMP42); + _a0104 = _i2 - _i4; + _TMP39 = abs(vec3(float(_a0104.x), float(_a0104.y), float(_a0104.z))); + _TMP20 = vec3(float(_TMP39.x), float(_TMP39.y), float(_TMP39.z)); + _TMP40 = dot(vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP21 = float(_TMP40); + _TMP41 = max(float(_ko2), float(_ko4)); + _TMP22 = float(_TMP41); + _TMP42 = min(float(_TMP21), float(_TMP22)); + _k2 = float(_TMP42); + _w1 = _k2; + if (_ko3 < _ko1) { + _w1 = _k2*(_ko3/_ko1); + } + _w2 = _k1; + if (_ko4 < _ko2) { + _w2 = _k1*(_ko4/_ko2); + } + _w3 = _k2; + if (_ko1 < _ko3) { + _w3 = _k2*(_ko1/_ko3); + } + _w4 = _k1; + if (_ko2 < _ko4) { + _w4 = _k1*(_ko2/_ko4); + } + _c = (_w1*_o1 + _w2*_o2 + _w3*_o3 + _w4*_o4 + 1.00040436E-03*_c)/(_w1 + _w2 + _w3 + _w4 + 1.00040436E-03); + _a0112 = _i1 - _c; + _TMP39 = abs(vec3(float(_a0112.x), float(_a0112.y), float(_a0112.z))); + _TMP23 = vec3(float(_TMP39.x), float(_TMP39.y), float(_TMP39.z)); + _a0114 = _i3 - _c; + _TMP39 = abs(vec3(float(_a0114.x), float(_a0114.y), float(_a0114.z))); + _TMP24 = vec3(float(_TMP39.x), float(_TMP39.y), float(_TMP39.z)); + _a0116 = _TMP23 + _TMP24; + _TMP40 = dot(vec3(float(_a0116.x), float(_a0116.y), float(_a0116.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP25 = float(_TMP40); + _a0118 = _i1 + _i3; + _TMP40 = dot(vec3(float(_a0118.x), float(_a0118.y), float(_a0118.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP26 = float(_TMP40); + _w1 = (-1.09960938E+00*_TMP25)/(1.25000000E-01*_TMP26 + 3.30078125E-01); + _a0120 = _i2 - _c; + _TMP39 = abs(vec3(float(_a0120.x), float(_a0120.y), float(_a0120.z))); + _TMP27 = vec3(float(_TMP39.x), float(_TMP39.y), float(_TMP39.z)); + _a0122 = _i4 - _c; + _TMP39 = abs(vec3(float(_a0122.x), float(_a0122.y), float(_a0122.z))); + _TMP28 = vec3(float(_TMP39.x), float(_TMP39.y), float(_TMP39.z)); + _a0124 = _TMP27 + _TMP28; + _TMP40 = dot(vec3(float(_a0124.x), float(_a0124.y), float(_a0124.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP29 = float(_TMP40); + _a0126 = _i2 + _i4; + _TMP40 = dot(vec3(float(_a0126.x), float(_a0126.y), float(_a0126.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP30 = float(_TMP40); + _w2 = (-1.09960938E+00*_TMP29)/(1.25000000E-01*_TMP30 + 3.30078125E-01); + _a0128 = _s1 - _c; + _TMP39 = abs(vec3(float(_a0128.x), float(_a0128.y), float(_a0128.z))); + _TMP31 = vec3(float(_TMP39.x), float(_TMP39.y), float(_TMP39.z)); + _a0130 = _s3 - _c; + _TMP39 = abs(vec3(float(_a0130.x), float(_a0130.y), float(_a0130.z))); + _TMP32 = vec3(float(_TMP39.x), float(_TMP39.y), float(_TMP39.z)); + _a0132 = _TMP31 + _TMP32; + _TMP40 = dot(vec3(float(_a0132.x), float(_a0132.y), float(_a0132.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP33 = float(_TMP40); + _a0134 = _s1 + _s3; + _TMP40 = dot(vec3(float(_a0134.x), float(_a0134.y), float(_a0134.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP34 = float(_TMP40); + _w3 = (-1.09960938E+00*_TMP33)/(1.25000000E-01*_TMP34 + 3.30078125E-01); + _a0136 = _s2 - _c; + _TMP39 = abs(vec3(float(_a0136.x), float(_a0136.y), float(_a0136.z))); + _TMP35 = vec3(float(_TMP39.x), float(_TMP39.y), float(_TMP39.z)); + _a0138 = _s4 - _c; + _TMP39 = abs(vec3(float(_a0138.x), float(_a0138.y), float(_a0138.z))); + _TMP36 = vec3(float(_TMP39.x), float(_TMP39.y), float(_TMP39.z)); + _a0140 = _TMP35 + _TMP36; + _TMP40 = dot(vec3(float(_a0140.x), float(_a0140.y), float(_a0140.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP37 = float(_TMP40); + _a0142 = _s2 + _s4; + _TMP40 = dot(vec3(float(_a0142.x), float(_a0142.y), float(_a0142.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP38 = float(_TMP40); + _w4 = (-1.09960938E+00*_TMP37)/(1.25000000E-01*_TMP38 + 3.30078125E-01); + _x0144 = _w1 + 1.00000000E+00; + _TMP42 = min(7.50000000E-01, float(_x0144)); + _TMP43 = float(_TMP42); + _TMP41 = max(2.99987793E-02, float(_TMP43)); + _TMP143 = float(_TMP41); + _x0150 = _w2 + 1.00000000E+00; + _TMP42 = min(7.50000000E-01, float(_x0150)); + _TMP43 = float(_TMP42); + _TMP41 = max(2.99987793E-02, float(_TMP43)); + _TMP149 = float(_TMP41); + _x0156 = _w3 + 1.00000000E+00; + _TMP42 = min(7.50000000E-01, float(_x0156)); + _TMP43 = float(_TMP42); + _TMP41 = max(2.99987793E-02, float(_TMP43)); + _TMP155 = float(_TMP41); + _x0162 = _w4 + 1.00000000E+00; + _TMP42 = min(7.50000000E-01, float(_x0162)); + _TMP43 = float(_TMP42); + _TMP41 = max(2.99987793E-02, float(_TMP43)); + _TMP161 = float(_TMP41); + _TMP52 = (_TMP143*(_i1 + _i3) + _TMP149*(_i2 + _i4) + _TMP155*(_s1 + _s3) + _TMP161*(_s2 + _s4) + _c)/(2.00000000E+00*(_TMP143 + _TMP149 + _TMP155 + _TMP161) + 1.00000000E+00); + _ret_0 = vec4(_TMP52.x, _TMP52.y, _TMP52.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/LCD3x.glsl b/ios/Assets/shaders_glsl/Handheld/LCD3x.glsl new file mode 100644 index 0000000000..8f2a83c3ea --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/LCD3x.glsl @@ -0,0 +1,121 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX2; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _omega; + _r0006.x = dot(MVPMatrix_[0], VertexCoord); + _r0006.y = dot(MVPMatrix_[1], VertexCoord); + _r0006.z = dot(MVPMatrix_[2], VertexCoord); + _r0006.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0006; + _oColor = COLOR; + _oTex = TexCoord.xy; + _omega = 6.28318548E+00*TextureSize; + gl_Position = _r0006; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX2.xy = _omega; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec3 _TMP2; +float _TMP5; +float _TMP4; +float _TMP3; +float _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec3 _x0015; +varying vec4 TEX2; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _angle; + float _yfactor; + vec3 _xfactors; + vec3 _color; + _TMP0 = texture2D(Texture, TEX0.xy); + _angle = TEX0.xy*TEX2.xy; + _TMP1 = sin(_angle.y); + _yfactor = (1.60000000E+01 + _TMP1)/1.70000000E+01; + _x0015 = _angle.x + vec3( 1.57079637E+00, -5.23598850E-01, -2.61799407E+00); + _TMP3 = sin(_x0015.x); + _TMP4 = sin(_x0015.y); + _TMP5 = sin(_x0015.z); + _TMP2 = vec3(_TMP3, _TMP4, _TMP5); + _xfactors = (4.00000000E+00 + _TMP2)/5.00000000E+00; + _color = (_yfactor*_xfactors)*_TMP0.xyz; + _ret_0 = vec4(_color.x, _color.y, _color.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/dot.glsl b/ios/Assets/shaders_glsl/Handheld/dot.glsl new file mode 100644 index 0000000000..e3a404a449 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/dot.glsl @@ -0,0 +1,349 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec2 _pixel_no; +varying vec2 _c11; +varying vec4 _c12_22; +varying vec4 _c21_02; +varying vec4 _c20_01; +varying vec4 _c00_10; +struct tex_coord { + vec4 _c00_10; + vec4 _c20_01; + vec4 _c21_02; + vec4 _c12_22; + vec2 _c11; + vec2 _pixel_no; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0014; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + tex_coord _coords; + float _dx; + float _dy; + vec2 _TMP5; + vec2 _TMP6; + vec2 _TMP7; + vec2 _TMP8; + vec2 _TMP9; + vec2 _TMP10; + vec2 _TMP11; + vec2 _TMP12; + _r0014.x = dot(MVPMatrix_[0], VertexCoord); + _r0014.y = dot(MVPMatrix_[1], VertexCoord); + _r0014.z = dot(MVPMatrix_[2], VertexCoord); + _r0014.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0014; + _oColor = COLOR; + _dx = 1.00000000E+00/TextureSize.x; + _dy = 1.00000000E+00/TextureSize.y; + _TMP11 = TexCoord.xy + vec2(-_dx, -_dy); + _TMP12 = TexCoord.xy + vec2(0.00000000E+00, -_dy); + _coords._c00_10 = vec4(_TMP11.x, _TMP11.y, _TMP12.x, _TMP12.y); + _TMP9 = TexCoord.xy + vec2(_dx, -_dy); + _TMP10 = TexCoord.xy + vec2(-_dx, 0.00000000E+00); + _coords._c20_01 = vec4(_TMP9.x, _TMP9.y, _TMP10.x, _TMP10.y); + _TMP7 = TexCoord.xy + vec2(_dx, 0.00000000E+00); + _TMP8 = TexCoord.xy + vec2(-_dx, _dy); + _coords._c21_02 = vec4(_TMP7.x, _TMP7.y, _TMP8.x, _TMP8.y); + _TMP5 = TexCoord.xy + vec2(0.00000000E+00, _dy); + _TMP6 = TexCoord.xy + vec2(_dx, _dy); + _coords._c12_22 = vec4(_TMP5.x, _TMP5.y, _TMP6.x, _TMP6.y); + _coords._c11 = TexCoord.xy; + _coords._pixel_no = TexCoord.xy*TextureSize; + gl_Position = _r0014; + COL0 = COLOR; + TEX1 = _coords._c00_10; + TEX2 = _coords._c20_01; + TEX3 = _coords._c21_02; + TEX4 = _coords._c12_22; + TEX5.xy = TexCoord.xy; + TEX6.xy = _coords._pixel_no; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec2 _pixel_no1; +varying vec2 _c11; +varying vec4 _c12_22; +varying vec4 _c21_02; +varying vec4 _c20_01; +varying vec4 _c00_10; +struct tex_coord { + vec4 _c00_10; + vec4 _c20_01; + vec4 _c21_02; + vec4 _c12_22; + vec2 _c11; + vec2 _pixel_no1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec3 _TMP16; +vec4 _TMP15; +vec2 _TMP17; +float _TMP20; +float _TMP21; +vec3 _TMP14; +vec4 _TMP13; +vec3 _TMP12; +vec4 _TMP11; +vec3 _TMP10; +vec4 _TMP9; +vec3 _TMP8; +vec4 _TMP7; +vec3 _TMP6; +vec4 _TMP5; +vec3 _TMP4; +vec4 _TMP3; +vec3 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +float _TMP33; +vec2 _delta0034; +float _TMP41; +float _bright0042; +float _TMP47; +float _x0048; +float _TMP57; +vec2 _delta0058; +float _TMP65; +float _bright0066; +float _TMP71; +float _x0072; +float _TMP81; +vec2 _delta0082; +float _TMP89; +float _bright0090; +float _TMP95; +float _x0096; +float _TMP105; +vec2 _delta0106; +float _TMP113; +float _bright0114; +float _TMP119; +float _x0120; +float _TMP129; +vec2 _delta0130; +float _TMP137; +float _bright0138; +float _TMP143; +float _x0144; +float _TMP153; +vec2 _delta0154; +float _TMP161; +float _bright0162; +float _TMP167; +float _x0168; +float _TMP177; +vec2 _delta0178; +float _TMP185; +float _bright0186; +float _TMP191; +float _x0192; +float _TMP201; +vec2 _delta0202; +float _TMP209; +float _bright0210; +float _TMP215; +float _x0216; +float _TMP225; +vec2 _delta0226; +float _TMP233; +float _bright0234; +float _TMP239; +float _x0240; +vec3 _a0244; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _mid_color; + vec3 _color2; + vec3 _out_color; + _TMP0 = texture2D(Texture, TEX5.xy); + _TMP17 = fract(TEX6.xy); + _delta0034 = _TMP17 - vec2( 5.00000000E-01, 5.00000000E-01); + _TMP20 = dot(_delta0034, _delta0034); + _TMP21 = inversesqrt(_TMP20); + _TMP33 = 1.00000000E+00/_TMP21; + _bright0042 = dot(_TMP0.xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _TMP41 = 1.04999995E+00 + _bright0042*-9.99999642E-02; + _x0048 = -2.40000010E+00*_TMP33*_TMP41; + _TMP47 = pow(2.71828198E+00, _x0048); + _mid_color = _TMP0.xyz*_TMP47; + _TMP1 = texture2D(Texture, TEX1.xy); + _TMP17 = fract(TEX6.xy); + _delta0058 = _TMP17 - vec2( -5.00000000E-01, -5.00000000E-01); + _TMP20 = dot(_delta0058, _delta0058); + _TMP21 = inversesqrt(_TMP20); + _TMP57 = 1.00000000E+00/_TMP21; + _bright0066 = dot(_TMP1.xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _TMP65 = 1.04999995E+00 + _bright0066*-9.99999642E-02; + _x0072 = -2.40000010E+00*_TMP57*_TMP65; + _TMP71 = pow(2.71828198E+00, _x0072); + _TMP2 = _TMP1.xyz*_TMP71; + _TMP3 = texture2D(Texture, TEX1.zw); + _TMP17 = fract(TEX6.xy); + _delta0082 = _TMP17 - vec2( 5.00000000E-01, -5.00000000E-01); + _TMP20 = dot(_delta0082, _delta0082); + _TMP21 = inversesqrt(_TMP20); + _TMP81 = 1.00000000E+00/_TMP21; + _bright0090 = dot(_TMP3.xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _TMP89 = 1.04999995E+00 + _bright0090*-9.99999642E-02; + _x0096 = -2.40000010E+00*_TMP81*_TMP89; + _TMP95 = pow(2.71828198E+00, _x0096); + _TMP4 = _TMP3.xyz*_TMP95; + _color2 = _TMP2 + _TMP4; + _TMP5 = texture2D(Texture, TEX2.xy); + _TMP17 = fract(TEX6.xy); + _delta0106 = _TMP17 - vec2( 1.50000000E+00, -5.00000000E-01); + _TMP20 = dot(_delta0106, _delta0106); + _TMP21 = inversesqrt(_TMP20); + _TMP105 = 1.00000000E+00/_TMP21; + _bright0114 = dot(_TMP5.xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _TMP113 = 1.04999995E+00 + _bright0114*-9.99999642E-02; + _x0120 = -2.40000010E+00*_TMP105*_TMP113; + _TMP119 = pow(2.71828198E+00, _x0120); + _TMP6 = _TMP5.xyz*_TMP119; + _color2 = _color2 + _TMP6; + _TMP7 = texture2D(Texture, TEX2.zw); + _TMP17 = fract(TEX6.xy); + _delta0130 = _TMP17 - vec2( -5.00000000E-01, 5.00000000E-01); + _TMP20 = dot(_delta0130, _delta0130); + _TMP21 = inversesqrt(_TMP20); + _TMP129 = 1.00000000E+00/_TMP21; + _bright0138 = dot(_TMP7.xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _TMP137 = 1.04999995E+00 + _bright0138*-9.99999642E-02; + _x0144 = -2.40000010E+00*_TMP129*_TMP137; + _TMP143 = pow(2.71828198E+00, _x0144); + _TMP8 = _TMP7.xyz*_TMP143; + _color2 = _color2 + _TMP8; + _color2 = _color2 + _mid_color; + _TMP9 = texture2D(Texture, TEX3.xy); + _TMP17 = fract(TEX6.xy); + _delta0154 = _TMP17 - vec2( 1.50000000E+00, 5.00000000E-01); + _TMP20 = dot(_delta0154, _delta0154); + _TMP21 = inversesqrt(_TMP20); + _TMP153 = 1.00000000E+00/_TMP21; + _bright0162 = dot(_TMP9.xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _TMP161 = 1.04999995E+00 + _bright0162*-9.99999642E-02; + _x0168 = -2.40000010E+00*_TMP153*_TMP161; + _TMP167 = pow(2.71828198E+00, _x0168); + _TMP10 = _TMP9.xyz*_TMP167; + _color2 = _color2 + _TMP10; + _TMP11 = texture2D(Texture, TEX3.zw); + _TMP17 = fract(TEX6.xy); + _delta0178 = _TMP17 - vec2( -5.00000000E-01, 1.50000000E+00); + _TMP20 = dot(_delta0178, _delta0178); + _TMP21 = inversesqrt(_TMP20); + _TMP177 = 1.00000000E+00/_TMP21; + _bright0186 = dot(_TMP11.xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _TMP185 = 1.04999995E+00 + _bright0186*-9.99999642E-02; + _x0192 = -2.40000010E+00*_TMP177*_TMP185; + _TMP191 = pow(2.71828198E+00, _x0192); + _TMP12 = _TMP11.xyz*_TMP191; + _color2 = _color2 + _TMP12; + _TMP13 = texture2D(Texture, TEX4.xy); + _TMP17 = fract(TEX6.xy); + _delta0202 = _TMP17 - vec2( 5.00000000E-01, 1.50000000E+00); + _TMP20 = dot(_delta0202, _delta0202); + _TMP21 = inversesqrt(_TMP20); + _TMP201 = 1.00000000E+00/_TMP21; + _bright0210 = dot(_TMP13.xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _TMP209 = 1.04999995E+00 + _bright0210*-9.99999642E-02; + _x0216 = -2.40000010E+00*_TMP201*_TMP209; + _TMP215 = pow(2.71828198E+00, _x0216); + _TMP14 = _TMP13.xyz*_TMP215; + _color2 = _color2 + _TMP14; + _TMP15 = texture2D(Texture, TEX4.zw); + _TMP17 = fract(TEX6.xy); + _delta0226 = _TMP17 - vec2( 1.50000000E+00, 1.50000000E+00); + _TMP20 = dot(_delta0226, _delta0226); + _TMP21 = inversesqrt(_TMP20); + _TMP225 = 1.00000000E+00/_TMP21; + _bright0234 = dot(_TMP15.xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _TMP233 = 1.04999995E+00 + _bright0234*-9.99999642E-02; + _x0240 = -2.40000010E+00*_TMP225*_TMP233; + _TMP239 = pow(2.71828198E+00, _x0240); + _TMP16 = _TMP15.xyz*_TMP239; + _color2 = _color2 + _TMP16; + _a0244 = 1.20000005E+00*_mid_color; + _out_color = _a0244 + 6.49999976E-01*(_color2 - _a0244); + _ret_0 = vec4(_out_color.x, _out_color.y, _out_color.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/gameboy_shader/gb_shader.glslp b/ios/Assets/shaders_glsl/Handheld/gameboy_shader/gb_shader.glslp new file mode 100644 index 0000000000..f8c2b53739 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/gameboy_shader/gb_shader.glslp @@ -0,0 +1,33 @@ +shaders = 5 +shader0 = shader_files/gb_pass_0.glsl +shader1 = shader_files/gb_pass_1.glsl +shader2 = shader_files/gb_pass_2.glsl +shader3 = shader_files/gb_pass_3.glsl +shader4 = shader_files/gb_pass_4.glsl + +scale_type0 = viewport +scale0 = 1 + +scale_type1 = source +scale1 = 1 + +scale_type2 = source +scale2 = 1 + +scale_type3 = source +scale3 = 1 + +scale_type4 = source +scale4 = 1 + +filter_linear0 = false +filter_linear1 = false +filter_linear2 = false +filter_linear3 = false +filter_linear4 = false + +textures = COLOR_PALETTE;BACKGROUND +COLOR_PALETTE = resources/palette.png +COLOR_PALETTE_linear = false +BACKGROUND = resources/background.png +BACKGROUND_linear = true \ No newline at end of file diff --git a/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_0.glsl b/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_0.glsl new file mode 100644 index 0000000000..2724bf40d0 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_0.glsl @@ -0,0 +1,279 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _one_texel; +varying vec2 _dot_size; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder31; +}; +struct prev_0 { +float _placeholder35; +}; +struct prev_1 { +float _placeholder39; +}; +struct prev_2 { +float _placeholder43; +}; +struct prev_3 { +float _placeholder47; +}; +struct prev_4 { +float _placeholder51; +}; +struct prev_5 { +float _placeholder55; +}; +struct prev_6 { +float _placeholder59; +}; +struct matrix_data { + vec2 _dot_size; + vec2 _one_texel; +}; +vec4 _oPosition1; +float _TMP2; +matrix_data _oMatrixData1; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0008; +float _x0018; +float _x0020; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + matrix_data _TMP5; + vec2 _TMP6; + _r0008.x = dot(MVPMatrix_[0], VertexCoord); + _r0008.y = dot(MVPMatrix_[1], VertexCoord); + _r0008.z = dot(MVPMatrix_[2], VertexCoord); + _r0008.w = dot(MVPMatrix_[3], VertexCoord); + _x0018 = OutputSize.y/InputSize.y; + _TMP1 = floor(_x0018); + _TMP6 = OutputSize/(InputSize*_TMP1); + _oPosition1 = _r0008/vec4(_TMP6.x, _TMP6.y, 1.00000000E+00, 1.00000000E+00); + _oTexCoord = TexCoord.xy + 5.00000000E-01/OutputSize; + _x0020 = OutputSize.y/InputSize.y; + _TMP2 = floor(_x0020); + _TMP5._dot_size = vec2(float((1.00000000E+00/TextureSize).x), float((1.00000000E+00/TextureSize).y)); + _TMP5._one_texel = vec2(float((1.00000000E+00/(TextureSize*_TMP2)).x), float((1.00000000E+00/(TextureSize*_TMP2)).y)); + _oMatrixData1._dot_size = _TMP5._dot_size; + _oMatrixData1._one_texel = _TMP5._one_texel; + gl_Position = _oPosition1; + TEX0.xy = _oTexCoord; + TEX1.xy = _TMP5._dot_size; + TEX2.xy = _TMP5._one_texel; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _one_texel; +varying vec2 _dot_size; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder43; +}; +struct prev_0 { +float _placeholder47; +}; +struct prev_1 { +float _placeholder51; +}; +struct prev_2 { +float _placeholder55; +}; +struct prev_3 { +float _placeholder59; +}; +struct prev_4 { +float _placeholder63; +}; +struct prev_5 { +float _placeholder67; +}; +struct prev_6 { +float _placeholder71; +}; +struct matrix_data { + vec2 _dot_size; + vec2 _one_texel; +}; +vec4 _ret_0; +vec4 _TMP25; +vec3 _TMP23; +vec4 _TMP22; +vec3 _TMP20; +vec4 _TMP19; +vec3 _TMP17; +vec4 _TMP16; +vec3 _TMP14; +vec4 _TMP13; +vec3 _TMP11; +vec4 _TMP10; +vec3 _TMP8; +vec4 _TMP7; +vec3 _TMP6; +vec4 _TMP5; +vec3 _TMP4; +vec4 _TMP3; +bool _TMP2; +float _TMP0; +float _TMP29; +float _TMP28; +float _TMP27; +float _TMP26; +input_dummy _IN1; +prev_0 _PREV7; +prev_1 _PREV11; +prev_2 _PREV21; +prev_3 _PREV31; +prev_4 _PREV41; +prev_5 _PREV51; +prev_6 _PREV61; +uniform sampler2D COLOR_PALETTE; +float _b0042; +float _c0042; +float _a0044; +float _b0050; +float _c0050; +float _a0052; +bvec2 _a0058; +vec3 _a0062; +vec3 _a0066; +vec3 _a0070; +vec3 _a0074; +vec3 _a0078; +vec3 _a0082; +vec3 _a0086; +vec3 _a0090; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + +uniform sampler2D Texture; +uniform sampler2D Prev6Texture; +uniform sampler2D Prev5Texture; +uniform sampler2D Prev4Texture; +uniform sampler2D Prev3Texture; +uniform sampler2D Prev2Texture; +uniform sampler2D Prev1Texture; +uniform sampler2D PrevTexture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + int _is_on_dot; + vec3 _input_dummy_rgb; + vec4 _out_color; + _b0042 = float(TEX1.x); + _a0044 = TEX0.x/_b0042; + _TMP26 = abs(_a0044); + _TMP27 = fract(_TMP26); + _TMP28 = abs(_b0042); + _c0042 = _TMP27*_TMP28; + if (TEX0.x < 0.00000000E+00) { + _TMP29 = -_c0042; + } else { + _TMP29 = _c0042; + } + _TMP0 = _TMP29; + _b0050 = float(TEX1.y); + _a0052 = TEX0.y/_b0050; + _TMP26 = abs(_a0052); + _TMP27 = fract(_TMP26); + _TMP28 = abs(_b0050); + _c0050 = _TMP27*_TMP28; + if (TEX0.y < 0.00000000E+00) { + _TMP29 = -_c0050; + } else { + _TMP29 = _c0050; + } + _a0058 = bvec2(bool(int((_TMP0 > float(TEX2.x)))), bool(int((_TMP29 > float(TEX2.y))))); + _TMP2 = _a0058.x && _a0058.y; + _is_on_dot = int(_TMP2); + _TMP3 = texture2D(Texture, TEX0.xy); + _a0062 = 1.00000000E+00 - _TMP3.xyz; + _TMP4 = abs(_a0062); + _input_dummy_rgb = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(PrevTexture, TEX0.xy); + _a0066 = 1.00000000E+00 - _TMP5.xyz; + _TMP6 = abs(_a0066); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP6 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.33000004E-01).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP6 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.33000004E-01).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP6 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.33000004E-01).z)); + _TMP7 = texture2D(Prev1Texture, TEX0.xy); + _a0070 = 1.00000000E+00 - _TMP7.xyz; + _TMP8 = abs(_a0070); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP8 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.10889003E-01).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP8 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.10889003E-01).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP8 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.10889003E-01).z)); + _TMP10 = texture2D(Prev2Texture, TEX0.xy); + _a0074 = 1.00000000E+00 - _TMP10.xyz; + _TMP11 = abs(_a0074); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP11 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.69260386E-02).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP11 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.69260386E-02).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP11 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.69260386E-02).z)); + _TMP13 = texture2D(Prev3Texture, TEX0.xy); + _a0078 = 1.00000000E+00 - _TMP13.xyz; + _TMP14 = abs(_a0078); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP14 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.22963712E-02).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP14 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.22963712E-02).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP14 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.22963712E-02).z)); + _TMP16 = texture2D(Prev4Texture, TEX0.xy); + _a0082 = 1.00000000E+00 - _TMP16.xyz; + _TMP17 = abs(_a0082); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP17 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.09469148E-03).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP17 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.09469148E-03).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP17 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.09469148E-03).z)); + _TMP19 = texture2D(Prev5Texture, TEX0.xy); + _a0086 = 1.00000000E+00 - _TMP19.xyz; + _TMP20 = abs(_a0086); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP20 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.36353227E-03).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP20 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.36353227E-03).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP20 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.36353227E-03).z)); + _TMP22 = texture2D(Prev6Texture, TEX0.xy); + _a0090 = 1.00000000E+00 - _TMP22.xyz; + _TMP23 = abs(_a0090); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP23 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.54056280E-04).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP23 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.54056280E-04).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP23 - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.54056280E-04).z)); + _TMP25 = texture2D(COLOR_PALETTE, vec2( 7.50000000E-01, 5.00000000E-01)); + _out_color = vec4(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z), float((float((_input_dummy_rgb.x + _input_dummy_rgb.y + _input_dummy_rgb.z))/3.00000000E+00 + float((float(_is_on_dot)*1.00000001E-01))))); + _out_color.w = _out_color.w*float(_is_on_dot); + _ret_0 = vec4(float(_out_color.x), float(_out_color.y), float(_out_color.z), float(_out_color.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_1.glsl b/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_1.glsl new file mode 100644 index 0000000000..b9a247ef93 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_1.glsl @@ -0,0 +1,210 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _upper_bound; +varying vec2 _lower_bound; +varying vec2 _tex_coord_4; +varying vec2 _tex_coord_3; +varying vec2 _tex_coord_2; +varying vec2 _tex_coord_1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder35; +}; +struct blur_coords { + vec2 _tex_coord_1; + vec2 _tex_coord_2; + vec2 _tex_coord_3; + vec2 _tex_coord_4; + vec2 _lower_bound; + vec2 _upper_bound; +}; +vec4 _oPosition1; +blur_coords _oBlurCoords1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + vec2 _texel; + blur_coords _TMP2; + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + _oTexCoord = TexCoord.xy; + _texel = vec2(float((1.00000000E+00/TextureSize).x), float((1.00000000E+00/TextureSize).y)); + _TMP2._tex_coord_1 = vec2(float((TexCoord.xy + vec2(0.00000000E+00, float(_texel.y))).x), float((TexCoord.xy + vec2(0.00000000E+00, float(_texel.y))).y)); + _TMP2._tex_coord_2 = vec2(float((TexCoord.xy + vec2(0.00000000E+00, float(-_texel.y))).x), float((TexCoord.xy + vec2(0.00000000E+00, float(-_texel.y))).y)); + _TMP2._tex_coord_3 = vec2(float((TexCoord.xy + vec2(float(_texel.x), 0.00000000E+00)).x), float((TexCoord.xy + vec2(float(_texel.x), 0.00000000E+00)).y)); + _TMP2._tex_coord_4 = vec2(float((TexCoord.xy + vec2(float(-_texel.x), 0.00000000E+00)).x), float((TexCoord.xy + vec2(float(-_texel.x), 0.00000000E+00)).y)); + _TMP2._upper_bound = vec2(float((vec2(float(_texel.x), float(_texel.y))*(OutputSize - 2.00000000E+00)).x), float((vec2(float(_texel.x), float(_texel.y))*(OutputSize - 2.00000000E+00)).y)); + _oBlurCoords1._tex_coord_1 = _TMP2._tex_coord_1; + _oBlurCoords1._tex_coord_2 = _TMP2._tex_coord_2; + _oBlurCoords1._tex_coord_3 = _TMP2._tex_coord_3; + _oBlurCoords1._tex_coord_4 = _TMP2._tex_coord_4; + _oBlurCoords1._lower_bound = vec2( 0.00000000E+00, 0.00000000E+00); + _oBlurCoords1._upper_bound = _TMP2._upper_bound; + gl_Position = _r0004; + TEX0.xy = TexCoord.xy; + TEX1.xy = _TMP2._tex_coord_1; + TEX2.xy = _TMP2._tex_coord_2; + TEX3.xy = _TMP2._tex_coord_3; + TEX4.xy = _TMP2._tex_coord_4; + TEX5.xy = vec2( 0.00000000E+00, 0.00000000E+00); + TEX6.xy = _TMP2._upper_bound; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _upper_bound; +varying vec2 _lower_bound; +varying vec2 _tex_coord_4; +varying vec2 _tex_coord_3; +varying vec2 _tex_coord_2; +varying vec2 _tex_coord_1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder31; +}; +struct blur_coords { + vec2 _tex_coord_1; + vec2 _tex_coord_2; + vec2 _tex_coord_3; + vec2 _tex_coord_4; + vec2 _lower_bound; + vec2 _upper_bound; +}; +vec4 _ret_0; +float _TMP9; +float _TMP11; +float _TMP10; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec2 _TMP6; +vec2 _TMP8; +vec2 _TMP7; +vec4 _TMP0; +input_dummy _IN2; +vec4 _adjacent_texel_10017; +vec4 _adjacent_texel_20017; +vec4 _adjacent_texel_30017; +vec4 _adjacent_texel_40017; +vec4 _COLOR0017; +vec2 _TMP18; +vec2 _TMP24; +vec2 _TMP30; +vec2 _TMP36; +vec2 _c0043; +vec2 _c0045; +vec2 _c0047; +vec2 _c0049; +float _x0051; +float _TMP52; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform sampler2D Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _out_color; + _TMP0 = texture2D(Texture, TEX0.xy); + _out_color = vec4(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z), float(_TMP0.w)); + _TMP7 = min(vec2(float(TEX6.x), float(TEX6.y)), vec2(float(TEX1.x), float(TEX1.y))); + _TMP6 = vec2(float(_TMP7.x), float(_TMP7.y)); + _TMP8 = max(vec2(float(TEX5.x), float(TEX5.y)), vec2(float(_TMP6.x), float(_TMP6.y))); + _TMP18 = vec2(float(_TMP8.x), float(_TMP8.y)); + _TMP7 = min(vec2(float(TEX6.x), float(TEX6.y)), vec2(float(TEX2.x), float(TEX2.y))); + _TMP6 = vec2(float(_TMP7.x), float(_TMP7.y)); + _TMP8 = max(vec2(float(TEX5.x), float(TEX5.y)), vec2(float(_TMP6.x), float(_TMP6.y))); + _TMP24 = vec2(float(_TMP8.x), float(_TMP8.y)); + _TMP7 = min(vec2(float(TEX6.x), float(TEX6.y)), vec2(float(TEX3.x), float(TEX3.y))); + _TMP6 = vec2(float(_TMP7.x), float(_TMP7.y)); + _TMP8 = max(vec2(float(TEX5.x), float(TEX5.y)), vec2(float(_TMP6.x), float(_TMP6.y))); + _TMP30 = vec2(float(_TMP8.x), float(_TMP8.y)); + _TMP7 = min(vec2(float(TEX6.x), float(TEX6.y)), vec2(float(TEX4.x), float(TEX4.y))); + _TMP6 = vec2(float(_TMP7.x), float(_TMP7.y)); + _TMP8 = max(vec2(float(TEX5.x), float(TEX5.y)), vec2(float(_TMP6.x), float(_TMP6.y))); + _TMP36 = vec2(float(_TMP8.x), float(_TMP8.y)); + _c0043 = vec2(float(_TMP18.x), float(_TMP18.y)); + _TMP1 = texture2D(Texture, _c0043); + _adjacent_texel_10017 = vec4(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z), float(_TMP1.w)); + _c0045 = vec2(float(_TMP24.x), float(_TMP24.y)); + _TMP2 = texture2D(Texture, _c0045); + _adjacent_texel_20017 = vec4(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z), float(_TMP2.w)); + _c0047 = vec2(float(_TMP30.x), float(_TMP30.y)); + _TMP3 = texture2D(Texture, _c0047); + _adjacent_texel_30017 = vec4(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z), float(_TMP3.w)); + _c0049 = vec2(float(_TMP36.x), float(_TMP36.y)); + _TMP4 = texture2D(Texture, _c0049); + _adjacent_texel_40017 = vec4(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z), float(_TMP4.w)); + _x0051 = float((_out_color.w == 0.00000000E+00)); + _TMP10 = min(1.00000000E+00, float(_x0051)); + _TMP9 = float(_TMP10); + _TMP11 = max(0.00000000E+00, float(_TMP9)); + _TMP52 = float(_TMP11); + _COLOR0017.w = _out_color.w - ((_out_color.w - _adjacent_texel_10017.w) + (_out_color.w - _adjacent_texel_20017.w) + (_out_color.w - _adjacent_texel_30017.w) + (_out_color.w - _adjacent_texel_40017.w))*1.75781250E-01*_TMP52; + _ret_0 = vec4(float(_out_color.x), float(_out_color.y), float(_out_color.z), float(_COLOR0017.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_2.glsl b/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_2.glsl new file mode 100644 index 0000000000..1bfe378c14 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_2.glsl @@ -0,0 +1,173 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _upper_bound; +varying vec2 _lower_bound; +varying vec2 _texel1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder32; +}; +struct texture_info { + vec2 _texel1; + vec2 _lower_bound; + vec2 _upper_bound; +}; +vec4 _oPosition1; +texture_info _oTexInfo1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + vec2 _texel; + texture_info _TMP2; + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + _oTexCoord = TexCoord.xy; + _texel = 1.00000000E+00/TextureSize; + _TMP2._upper_bound = _texel*(OutputSize - 1.00000000E+00); + _oTexInfo1._texel1 = _texel; + _oTexInfo1._lower_bound = vec2( 0.00000000E+00, 0.00000000E+00); + _oTexInfo1._upper_bound = _TMP2._upper_bound; + gl_Position = _r0004; + TEX0.xy = TexCoord.xy; + TEX1.xy = _texel; + TEX2.xy = vec2( 0.00000000E+00, 0.00000000E+00); + TEX3.xy = _TMP2._upper_bound; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _upper_bound; +varying vec2 _lower_bound; +varying vec2 _texel; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder28; +}; +struct texture_info { + vec2 _texel; + vec2 _lower_bound; + vec2 _upper_bound; +}; +vec4 _ret_0; +vec4 _TMP7; +vec2 _TMP8; +vec4 _TMP5; +vec4 _TMP3; +input_dummy _IN1; +vec4 _out_color0014; +vec2 _TMP15; +vec2 _TMP23; +vec2 _x0024; +vec2 _TMP31; +vec2 _x0032; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; + +uniform sampler2D Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + _TMP8 = min(TEX3.xy, TEX0.xy); + _TMP15 = max(TEX2.xy, _TMP8); + _TMP3 = texture2D(Texture, _TMP15); + _out_color0014 = vec4(float((_TMP3*1.34765625E-01).x), float((_TMP3*1.34765625E-01).y), float((_TMP3*1.34765625E-01).z), float((_TMP3*1.34765625E-01).w)); + _x0024 = TEX0.xy + vec2(float(float(TEX1.x)), 0.00000000E+00); + _TMP8 = min(TEX3.xy, _x0024); + _TMP23 = max(TEX2.xy, _TMP8); + _TMP5 = texture2D(Texture, _TMP23); + _out_color0014.w = float((float(_out_color0014.w) + _TMP5.w*1.30859375E-01)); + _x0032 = TEX0.xy - vec2(float(float(TEX1.x)), 0.00000000E+00); + _TMP8 = min(TEX3.xy, _x0032); + _TMP31 = max(TEX2.xy, _TMP8); + _TMP7 = texture2D(Texture, _TMP31); + _out_color0014.w = float((float(_out_color0014.w) + _TMP7.w*1.30859375E-01)); + _x0024 = TEX0.xy + vec2(float(float((2.00000000E+00*TEX1.x))), 0.00000000E+00); + _TMP8 = min(TEX3.xy, _x0024); + _TMP23 = max(TEX2.xy, _TMP8); + _TMP5 = texture2D(Texture, _TMP23); + _out_color0014.w = float((float(_out_color0014.w) + _TMP5.w*1.19140625E-01)); + _x0032 = TEX0.xy - vec2(float(float((2.00000000E+00*TEX1.x))), 0.00000000E+00); + _TMP8 = min(TEX3.xy, _x0032); + _TMP31 = max(TEX2.xy, _TMP8); + _TMP7 = texture2D(Texture, _TMP31); + _out_color0014.w = float((float(_out_color0014.w) + _TMP7.w*1.19140625E-01)); + _x0024 = TEX0.xy + vec2(float(float((3.00000000E+00*TEX1.x))), 0.00000000E+00); + _TMP8 = min(TEX3.xy, _x0024); + _TMP23 = max(TEX2.xy, _TMP8); + _TMP5 = texture2D(Texture, _TMP23); + _out_color0014.w = float((float(_out_color0014.w) + _TMP5.w*1.01562500E-01)); + _x0032 = TEX0.xy - vec2(float(float((3.00000000E+00*TEX1.x))), 0.00000000E+00); + _TMP8 = min(TEX3.xy, _x0032); + _TMP31 = max(TEX2.xy, _TMP8); + _TMP7 = texture2D(Texture, _TMP31); + _out_color0014.w = float((float(_out_color0014.w) + _TMP7.w*1.01562500E-01)); + _x0024 = TEX0.xy + vec2(float(float((4.00000000E+00*TEX1.x))), 0.00000000E+00); + _TMP8 = min(TEX3.xy, _x0024); + _TMP23 = max(TEX2.xy, _TMP8); + _TMP5 = texture2D(Texture, _TMP23); + _out_color0014.w = float((float(_out_color0014.w) + _TMP5.w*8.20312500E-02)); + _x0032 = TEX0.xy - vec2(float(float((4.00000000E+00*TEX1.x))), 0.00000000E+00); + _TMP8 = min(TEX3.xy, _x0032); + _TMP31 = max(TEX2.xy, _TMP8); + _TMP7 = texture2D(Texture, _TMP31); + _out_color0014.w = float((float(_out_color0014.w) + _TMP7.w*8.20312500E-02)); + _ret_0 = vec4(float(_out_color0014.x), float(_out_color0014.y), float(_out_color0014.z), float(_out_color0014.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_3.glsl b/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_3.glsl new file mode 100644 index 0000000000..5f04d8fb7f --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_3.glsl @@ -0,0 +1,173 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _upper_bound; +varying vec2 _lower_bound; +varying vec2 _texel1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder32; +}; +struct texture_info { + vec2 _texel1; + vec2 _lower_bound; + vec2 _upper_bound; +}; +vec4 _oPosition1; +texture_info _oTexInfo1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + vec2 _texel; + texture_info _TMP2; + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + _oTexCoord = TexCoord.xy; + _texel = 1.00000000E+00/TextureSize; + _TMP2._upper_bound = _texel*(OutputSize - 1.00000000E+00); + _oTexInfo1._texel1 = _texel; + _oTexInfo1._lower_bound = vec2( 0.00000000E+00, 0.00000000E+00); + _oTexInfo1._upper_bound = _TMP2._upper_bound; + gl_Position = _r0004; + TEX0.xy = TexCoord.xy; + TEX1.xy = _texel; + TEX2.xy = vec2( 0.00000000E+00, 0.00000000E+00); + TEX3.xy = _TMP2._upper_bound; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _upper_bound; +varying vec2 _lower_bound; +varying vec2 _texel; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder28; +}; +struct texture_info { + vec2 _texel; + vec2 _lower_bound; + vec2 _upper_bound; +}; +vec4 _ret_0; +vec4 _TMP7; +vec2 _TMP8; +vec4 _TMP5; +vec4 _TMP3; +input_dummy _IN1; +vec4 _out_color0014; +vec2 _TMP15; +vec2 _TMP23; +vec2 _x0024; +vec2 _TMP31; +vec2 _x0032; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; + +uniform sampler2D Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + _TMP8 = min(TEX3.xy, TEX0.xy); + _TMP15 = max(TEX2.xy, _TMP8); + _TMP3 = texture2D(Texture, _TMP15); + _out_color0014 = vec4(float((_TMP3*1.34765625E-01).x), float((_TMP3*1.34765625E-01).y), float((_TMP3*1.34765625E-01).z), float((_TMP3*1.34765625E-01).w)); + _x0024 = TEX0.xy + vec2(0.00000000E+00, float(float(TEX1.y))); + _TMP8 = min(TEX3.xy, _x0024); + _TMP23 = max(TEX2.xy, _TMP8); + _TMP5 = texture2D(Texture, _TMP23); + _out_color0014.w = float((float(_out_color0014.w) + _TMP5.w*1.30859375E-01)); + _x0032 = TEX0.xy - vec2(0.00000000E+00, float(float(TEX1.y))); + _TMP8 = min(TEX3.xy, _x0032); + _TMP31 = max(TEX2.xy, _TMP8); + _TMP7 = texture2D(Texture, _TMP31); + _out_color0014.w = float((float(_out_color0014.w) + _TMP7.w*1.30859375E-01)); + _x0024 = TEX0.xy + vec2(0.00000000E+00, float(float((2.00000000E+00*TEX1.y)))); + _TMP8 = min(TEX3.xy, _x0024); + _TMP23 = max(TEX2.xy, _TMP8); + _TMP5 = texture2D(Texture, _TMP23); + _out_color0014.w = float((float(_out_color0014.w) + _TMP5.w*1.19140625E-01)); + _x0032 = TEX0.xy - vec2(0.00000000E+00, float(float((2.00000000E+00*TEX1.y)))); + _TMP8 = min(TEX3.xy, _x0032); + _TMP31 = max(TEX2.xy, _TMP8); + _TMP7 = texture2D(Texture, _TMP31); + _out_color0014.w = float((float(_out_color0014.w) + _TMP7.w*1.19140625E-01)); + _x0024 = TEX0.xy + vec2(0.00000000E+00, float(float((3.00000000E+00*TEX1.y)))); + _TMP8 = min(TEX3.xy, _x0024); + _TMP23 = max(TEX2.xy, _TMP8); + _TMP5 = texture2D(Texture, _TMP23); + _out_color0014.w = float((float(_out_color0014.w) + _TMP5.w*1.01562500E-01)); + _x0032 = TEX0.xy - vec2(0.00000000E+00, float(float((3.00000000E+00*TEX1.y)))); + _TMP8 = min(TEX3.xy, _x0032); + _TMP31 = max(TEX2.xy, _TMP8); + _TMP7 = texture2D(Texture, _TMP31); + _out_color0014.w = float((float(_out_color0014.w) + _TMP7.w*1.01562500E-01)); + _x0024 = TEX0.xy + vec2(0.00000000E+00, float(float((4.00000000E+00*TEX1.y)))); + _TMP8 = min(TEX3.xy, _x0024); + _TMP23 = max(TEX2.xy, _TMP8); + _TMP5 = texture2D(Texture, _TMP23); + _out_color0014.w = float((float(_out_color0014.w) + _TMP5.w*8.20312500E-02)); + _x0032 = TEX0.xy - vec2(0.00000000E+00, float(float((4.00000000E+00*TEX1.y)))); + _TMP8 = min(TEX3.xy, _x0032); + _TMP31 = max(TEX2.xy, _TMP8); + _TMP7 = texture2D(Texture, _TMP31); + _out_color0014.w = float((float(_out_color0014.w) + _TMP7.w*8.20312500E-02)); + _ret_0 = vec4(float(_out_color0014.x), float(_out_color0014.y), float(_out_color0014.z), float(_out_color0014.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_4.glsl b/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_4.glsl new file mode 100644 index 0000000000..bd93e310d4 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/gameboy_shader/shader_files/gb_pass_4.glsl @@ -0,0 +1,145 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder30; +}; +struct pass_2 { +float _placeholder34; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + vec2 _oTexel; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oTexCoord = TexCoord.xy; + _oTexel = 1.00000000E+00/TextureSize; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; + TEX1.xy = _oTexel; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder32; +}; +struct pass_2 { +float _placeholder36; +}; +vec4 _ret_0; +float _TMP10; +vec4 _TMP9; +float _TMP8; +vec4 _TMP7; +float _TMP6; +vec4 _TMP5; +vec3 _TMP11; +vec3 _TMP13; +vec3 _TMP12; +vec4 _TMP4; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +input_dummy _IN1; +pass_2 _PASS21; +uniform sampler2D COLOR_PALETTE; +uniform sampler2D BACKGROUND; +vec2 _c0023; +vec3 _x0041; +vec3 _TMP42; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform sampler2D Texture; +uniform sampler2D Pass2Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _foreground; + vec4 _background; + vec4 _shadows; + vec4 _out_color; + _TMP0 = texture2D(Pass2Texture, TEX0.xy); + _foreground = vec4(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z), float(_TMP0.w)); + _TMP1 = texture2D(BACKGROUND, TEX0.xy); + _background = vec4(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z), float(_TMP1.w)); + _c0023 = TEX0.xy - vec2(TEX1.x, TEX1.y); + _TMP2 = texture2D(Texture, _c0023); + _shadows = vec4(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z), float(_TMP2.w)); + _TMP4 = texture2D(COLOR_PALETTE, vec2( 2.50000000E-01, 5.00000000E-01)); + _foreground = vec4(float((vec4(float(_foreground.x), float(_foreground.y), float(_foreground.z), float(_foreground.w))*_TMP4).x), float((vec4(float(_foreground.x), float(_foreground.y), float(_foreground.z), float(_foreground.w))*_TMP4).y), float((vec4(float(_foreground.x), float(_foreground.y), float(_foreground.z), float(_foreground.w))*_TMP4).z), float((vec4(float(_foreground.x), float(_foreground.y), float(_foreground.z), float(_foreground.w))*_TMP4).w)); + _background = _background - (_background - 5.00000000E-01)*7.50000000E-01*float((_foreground.w > 0.00000000E+00)); + _TMP5 = texture2D(COLOR_PALETTE, vec2( 2.50000000E-01, 5.00000000E-01)); + _TMP6 = -1.00000000E+00 + _background.x*1.99902344E+00; + _TMP7 = texture2D(COLOR_PALETTE, vec2( 2.50000000E-01, 5.00000000E-01)); + _TMP8 = -1.00000000E+00 + _background.y*1.99902344E+00; + _TMP9 = texture2D(COLOR_PALETTE, vec2( 2.50000000E-01, 5.00000000E-01)); + _TMP10 = -1.00000000E+00 + _background.z*1.99902344E+00; + _x0041 = vec3(float((_TMP5.x + float(_TMP6))), float((_TMP7.y + float(_TMP8))), float((_TMP9.z + float(_TMP10)))); + _TMP12 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), vec3(float(_x0041.x), float(_x0041.y), float(_x0041.z))); + _TMP11 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z))); + _TMP42 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _background.xyz = _TMP42; + _out_color = _shadows*_shadows.w*5.22460938E-01 + _background*(1.00000000E+00 - _shadows.w*5.22460938E-01); + _out_color = _foreground*_foreground.w*9.50195312E-01 + _out_color*(1.00000000E+00 - _foreground.w*9.50195312E-01); + _ret_0 = vec4(float(_out_color.x), float(_out_color.y), float(_out_color.z), float(_out_color.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_2.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_2.glsl new file mode 100644 index 0000000000..c0808a888d --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_2.glsl @@ -0,0 +1,195 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _upper_bound; +varying vec2 _lower_bound; +varying vec2 _tex_coord_4; +varying vec2 _tex_coord_3; +varying vec2 _tex_coord_2; +varying vec2 _tex_coord_1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder35; +}; +struct pass_1 { +float _placeholder39; +}; +struct blur_coords { + vec2 _tex_coord_1; + vec2 _tex_coord_2; + vec2 _tex_coord_3; + vec2 _tex_coord_4; + vec2 _lower_bound; + vec2 _upper_bound; +}; +vec4 _oPosition1; +blur_coords _oBlurCoords1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + vec2 _texel; + blur_coords _TMP2; + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + _oTexCoord = TexCoord.xy; + _texel = vec2(float((1.00000000E+00/TextureSize).x), float((1.00000000E+00/TextureSize).y)); + _TMP2._tex_coord_1 = vec2(float((TexCoord.xy + vec2(0.00000000E+00, float(_texel.y))).x), float((TexCoord.xy + vec2(0.00000000E+00, float(_texel.y))).y)); + _TMP2._tex_coord_2 = vec2(float((TexCoord.xy + vec2(0.00000000E+00, float(-_texel.y))).x), float((TexCoord.xy + vec2(0.00000000E+00, float(-_texel.y))).y)); + _TMP2._tex_coord_3 = vec2(float((TexCoord.xy + vec2(float(_texel.x), 0.00000000E+00)).x), float((TexCoord.xy + vec2(float(_texel.x), 0.00000000E+00)).y)); + _TMP2._tex_coord_4 = vec2(float((TexCoord.xy + vec2(float(-_texel.x), 0.00000000E+00)).x), float((TexCoord.xy + vec2(float(-_texel.x), 0.00000000E+00)).y)); + _TMP2._upper_bound = vec2(float((vec2(float(_texel.x), float(_texel.y))*(OutputSize - 2.00000000E+00)).x), float((vec2(float(_texel.x), float(_texel.y))*(OutputSize - 2.00000000E+00)).y)); + _oBlurCoords1._tex_coord_1 = _TMP2._tex_coord_1; + _oBlurCoords1._tex_coord_2 = _TMP2._tex_coord_2; + _oBlurCoords1._tex_coord_3 = _TMP2._tex_coord_3; + _oBlurCoords1._tex_coord_4 = _TMP2._tex_coord_4; + _oBlurCoords1._lower_bound = vec2( 0.00000000E+00, 0.00000000E+00); + _oBlurCoords1._upper_bound = _TMP2._upper_bound; + gl_Position = _r0004; + TEX0.xy = TexCoord.xy; + TEX1.xy = _TMP2._tex_coord_1; + TEX2.xy = _TMP2._tex_coord_2; + TEX3.xy = _TMP2._tex_coord_3; + TEX4.xy = _TMP2._tex_coord_4; + TEX5.xy = vec2( 0.00000000E+00, 0.00000000E+00); + TEX6.xy = _TMP2._upper_bound; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _upper_bound; +varying vec2 _lower_bound; +varying vec2 _tex_coord_4; +varying vec2 _tex_coord_3; +varying vec2 _tex_coord_2; +varying vec2 _tex_coord_1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder33; +}; +struct pass_1 { +float _placeholder37; +}; +struct blur_coords { + vec2 _tex_coord_1; + vec2 _tex_coord_2; + vec2 _tex_coord_3; + vec2 _tex_coord_4; + vec2 _lower_bound; + vec2 _upper_bound; +}; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP2; +vec4 _TMP1; +vec2 _TMP7; +vec2 _TMP9; +vec2 _TMP8; +pass_1 _PASS11; +input_dummy _IN2; +vec4 _adjacent_texel_10016; +vec4 _adjacent_texel_20016; +vec4 _COLOR0016; +vec2 _TMP17; +vec2 _TMP23; +vec2 _c0042; +vec2 _c0044; +vec2 _c0050; +vec2 _c0052; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform sampler2D Texture; +uniform sampler2D Pass1Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _out_color; + _out_color = texture2D(Pass1Texture, TEX0.xy); + if (_out_color.w == 0.00000000E+00) { + _COLOR0016 = vec4(float(_out_color.x), float(_out_color.y), float(_out_color.z), float(_out_color.w)); + _TMP8 = min(vec2(float(TEX6.x), float(TEX6.y)), vec2(float(TEX1.x), float(TEX1.y))); + _TMP7 = vec2(float(_TMP8.x), float(_TMP8.y)); + _TMP9 = max(vec2(float(TEX5.x), float(TEX5.y)), vec2(float(_TMP7.x), float(_TMP7.y))); + _TMP17 = vec2(float(_TMP9.x), float(_TMP9.y)); + _TMP8 = min(vec2(float(TEX6.x), float(TEX6.y)), vec2(float(TEX2.x), float(TEX2.y))); + _TMP7 = vec2(float(_TMP8.x), float(_TMP8.y)); + _TMP9 = max(vec2(float(TEX5.x), float(TEX5.y)), vec2(float(_TMP7.x), float(_TMP7.y))); + _TMP23 = vec2(float(_TMP9.x), float(_TMP9.y)); + _c0042 = vec2(float(_TMP17.x), float(_TMP17.y)); + _TMP1 = texture2D(Texture, _c0042); + _adjacent_texel_10016 = vec4(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z), float(_TMP1.w)); + _c0044 = vec2(float(_TMP23.x), float(_TMP23.y)); + _TMP2 = texture2D(Texture, _c0044); + _adjacent_texel_20016 = vec4(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z), float(_TMP2.w)); + _COLOR0016.xyz = _COLOR0016.xyz - ((_COLOR0016.xyz - _adjacent_texel_10016.xyz) + (_COLOR0016.xyz - _adjacent_texel_20016.xyz))*4.00390625E-01; + _c0050 = vec2(float(_TMP17.x), float(_TMP17.y)); + _TMP5 = texture2D(Pass1Texture, _c0050); + _adjacent_texel_10016 = vec4(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z), float(_TMP5.w)); + _c0052 = vec2(float(_TMP23.x), float(_TMP23.y)); + _TMP6 = texture2D(Pass1Texture, _c0052); + _adjacent_texel_20016 = vec4(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z), float(_TMP6.w)); + _COLOR0016.xyz = _COLOR0016.xyz - ((_COLOR0016.xyz - _adjacent_texel_10016.xyz) + (_COLOR0016.xyz - _adjacent_texel_20016.xyz))*2.99804688E-01; + _out_color = vec4(float(_COLOR0016.x), float(_COLOR0016.y), float(_COLOR0016.z), 1.00000000E+00); + } + gl_FragColor = _out_color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_3.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_3.glsl new file mode 100644 index 0000000000..ce59443de3 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_3.glsl @@ -0,0 +1,97 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder24; +}; +struct pass_2 { +float _placeholder28; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oTexCoord = TexCoord.xy; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder27; +}; +struct pass_2 { +float _placeholder31; +}; +pass_2 _PASS21; +input_dummy _IN1; +varying vec4 TEX0; + +uniform sampler2D Texture; +uniform sampler2D Pass2Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _out_color; + vec4 _scene_color; + _out_color = texture2D(Pass2Texture, TEX0.xy); + _scene_color = texture2D(Texture, TEX0.xy); + _out_color.w = _out_color.w*5.00000000E-01; + _out_color.xyz = _out_color.xyz*_out_color.w + _scene_color.xyz*(1.00000000E+00 - _out_color.w); + gl_FragColor = _out_color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_4.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_4.glsl new file mode 100644 index 0000000000..7d908daffb --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_4.glsl @@ -0,0 +1,85 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder24; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oTexCoord = TexCoord.xy; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder25; +}; +vec4 _ret_0; +input_dummy _IN1; +varying vec4 TEX0; + +uniform sampler2D Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + _ret_0 = texture2D(Texture, TEX0.xy); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_5.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_5.glsl new file mode 100644 index 0000000000..7d908daffb --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_pass_5.glsl @@ -0,0 +1,85 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder24; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oTexCoord = TexCoord.xy; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder25; +}; +vec4 _ret_0; +input_dummy _IN1; +varying vec4 TEX0; + +uniform sampler2D Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + _ret_0 = texture2D(Texture, TEX0.xy); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_shader.glslp b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_shader.glslp new file mode 100644 index 0000000000..b770f5a4eb --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup/lcd_shader.glslp @@ -0,0 +1,32 @@ +shaders = 4 +shader0 = lcd_pass_0.glsl +shader1 = lcd_pass_1.glsl +shader2 = lcd_pass_2.glsl +shader3 = lcd_pass_3.glsl +shader4 = lcd_pass_4.glsl +shader5 = lcd_pass_5.glsl + +scale_type0 = viewport +scale0 = 1 + +scale_type1 = source +scale1 = 1 + +scale_type2 = source +scale2 = 1 + +scale_type3 = source +scale3 = 1 + +scale_type4 = source +scale4 = 1 + +scale_type5 = source +scale5 = 1 + +filter_linear0 = false +filter_linear1 = false +filter_linear2 = false +filter_linear3 = false +filter_linear4 = false +filter_linear5 = false \ No newline at end of file diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_0.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_0.glsl new file mode 100644 index 0000000000..cb5e028f16 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_0.glsl @@ -0,0 +1,216 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _texel_height; +varying float _cell_height; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder31; +}; +struct prev_0 { +float _placeholder35; +}; +struct prev_1 { +float _placeholder39; +}; +struct prev_2 { +float _placeholder43; +}; +struct prev_3 { +float _placeholder47; +}; +struct prev_4 { +float _placeholder51; +}; +struct prev_5 { +float _placeholder55; +}; +struct prev_6 { +float _placeholder59; +}; +struct line_data { + float _cell_height; + float _texel_height; +}; +vec4 _oPosition1; +float _TMP2; +line_data _oLineData1; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0008; +float _x0018; +float _x0020; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + line_data _TMP5; + vec2 _TMP6; + _r0008.x = dot(MVPMatrix_[0], VertexCoord); + _r0008.y = dot(MVPMatrix_[1], VertexCoord); + _r0008.z = dot(MVPMatrix_[2], VertexCoord); + _r0008.w = dot(MVPMatrix_[3], VertexCoord); + _x0018 = OutputSize.y/InputSize.y; + _TMP1 = floor(_x0018); + _TMP6 = OutputSize/(InputSize*_TMP1); + _oPosition1 = _r0008/vec4(_TMP6.x, _TMP6.y, 1.00000000E+00, 1.00000000E+00); + _oTexCoord = TexCoord.xy + 5.00000000E-01/OutputSize; + _x0020 = OutputSize.y/InputSize.y; + _TMP2 = floor(_x0020); + _TMP5._cell_height = float((1.00000000E+00/TextureSize.y)); + _TMP5._texel_height = float((1.00000000E+00/(TextureSize.y*_TMP2))); + _oLineData1._cell_height = _TMP5._cell_height; + _oLineData1._texel_height = _TMP5._texel_height; + gl_Position = _oPosition1; + TEX0.xy = _oTexCoord; + TEX1.x = _TMP5._cell_height; + TEX2.x = _TMP5._texel_height; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _texel_height; +varying float _cell_height; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder41; +}; +struct prev_0 { +float _placeholder45; +}; +struct prev_1 { +float _placeholder49; +}; +struct prev_2 { +float _placeholder53; +}; +struct prev_3 { +float _placeholder57; +}; +struct prev_4 { +float _placeholder61; +}; +struct prev_5 { +float _placeholder65; +}; +struct prev_6 { +float _placeholder69; +}; +struct line_data { + float _cell_height; + float _texel_height; +}; +vec4 _ret_0; +float _TMP14; +float _TMP15; +vec4 _TMP12; +vec4 _TMP10; +vec4 _TMP8; +vec4 _TMP6; +vec4 _TMP4; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +input_dummy _IN1; +prev_0 _PREV7; +prev_1 _PREV11; +prev_2 _PREV21; +prev_3 _PREV31; +prev_4 _PREV41; +prev_5 _PREV51; +prev_6 _PREV61; +float _y0044; +float _x0046; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + +uniform sampler2D Texture; +uniform sampler2D Prev6Texture; +uniform sampler2D Prev5Texture; +uniform sampler2D Prev4Texture; +uniform sampler2D Prev3Texture; +uniform sampler2D Prev2Texture; +uniform sampler2D Prev1Texture; +uniform sampler2D PrevTexture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _input_dummy_rgb; + vec4 _out_color; + float _is_on_line; + vec3 _TMP25; + _TMP0 = texture2D(Texture, TEX0.xy); + _input_dummy_rgb = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(PrevTexture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP1.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.33000004E-01).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP1.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.33000004E-01).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP1.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.33000004E-01).z)); + _TMP2 = texture2D(Prev1Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP2.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.10889003E-01).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP2.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.10889003E-01).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP2.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.10889003E-01).z)); + _TMP4 = texture2D(Prev2Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP4.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.69260386E-02).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP4.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.69260386E-02).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP4.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.69260386E-02).z)); + _TMP6 = texture2D(Prev3Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP6.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.22963712E-02).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP6.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.22963712E-02).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP6.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.22963712E-02).z)); + _TMP8 = texture2D(Prev4Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP8.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.09469148E-03).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP8.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.09469148E-03).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP8.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.09469148E-03).z)); + _TMP10 = texture2D(Prev5Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP10.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.36353227E-03).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP10.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.36353227E-03).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP10.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.36353227E-03).z)); + _TMP12 = texture2D(Prev6Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP12.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.54056280E-04).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP12.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.54056280E-04).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP12.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.54056280E-04).z)); + _out_color = vec4(_input_dummy_rgb.x, _input_dummy_rgb.y, _input_dummy_rgb.z, 1.00000000E+00); + _y0044 = float(TEX1.x); + _x0046 = TEX0.y/_y0044; + _TMP15 = floor(_x0046); + _TMP14 = TEX0.y - _y0044*_TMP15; + _is_on_line = float(int((_TMP14 > float(TEX2.x)))); + _TMP25 = _out_color.xyz*_is_on_line; + _out_color = vec4(_TMP25.x, _TMP25.y, _TMP25.z, _out_color.w - 5.00000000E-01*float(!bool(_is_on_line))); + _ret_0 = vec4(float(_out_color.x), float(_out_color.y), float(_out_color.z), float(_out_color.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_1.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_1.glsl new file mode 100644 index 0000000000..16b78a1018 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_1.glsl @@ -0,0 +1,153 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _threeVARtwo_dX; +varying float _twoVARtwo_dX; +varying float VARtwo_dX; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder32; +}; +struct texture_data { + float VARtwo_dX; + float _twoVARtwo_dX; + float _threeVARtwo_dX; +}; +vec4 _oPosition1; +texture_data _oTexData1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + float _texel_width; + texture_data _TMP2; + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + _oTexCoord = TexCoord.xy; + _texel_width = 1.00000000E+00/TextureSize.x; + _TMP2._twoVARtwo_dX = 2.00000000E+00*_texel_width; + _TMP2._threeVARtwo_dX = 3.00000000E+00*_texel_width; + _oTexData1.VARtwo_dX = _texel_width; + _oTexData1._twoVARtwo_dX = _TMP2._twoVARtwo_dX; + _oTexData1._threeVARtwo_dX = _TMP2._threeVARtwo_dX; + gl_Position = _r0004; + TEX0.xy = TexCoord.xy; + TEX1.x = _texel_width; + TEX2.x = _TMP2._twoVARtwo_dX; + TEX3.x = _TMP2._threeVARtwo_dX; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _threeVARtwo_dX; +varying float _twoVARtwo_dX; +varying float VARtwo_dX; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder28; +}; +struct texture_data { + float VARtwo_dX; + float _twoVARtwo_dX; + float _threeVARtwo_dX; +}; +vec4 _ret_0; +float _TMP5; +float _TMP4; +float _TMP3; +float _TMP7; +vec4 _TMP2; +vec3 _TMP0; +vec3 _TMP1; +float _TMP6; +input_dummy _IN1; +float _x0013; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; + +uniform sampler2D Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + float _modX; + vec4 _out_color; + _x0013 = TEX0.x/TEX3.x; + _TMP6 = floor(_x0013); + _modX = TEX0.x - TEX3.x*_TMP6; + if (_modX < TEX1.x) { + _TMP0 = vec3( 1.00000000E+00, 0.00000000E+00, 1.00000000E+00); + } else { + if (_modX < TEX2.x) { + _TMP1 = vec3( 1.00000000E+00, 1.00000000E+00, 0.00000000E+00); + } else { + _TMP1 = vec3( 0.00000000E+00, 1.00000000E+00, 1.00000000E+00); + } + _TMP0 = _TMP1; + } + _TMP2 = texture2D(Texture, TEX0.xy); + _out_color = vec4(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z), float(_TMP2.w)); + _TMP7 = min(float(_out_color.x), float(_TMP0.x)); + _TMP3 = float(_TMP7); + _TMP7 = min(float(_out_color.y), float(_TMP0.y)); + _TMP4 = float(_TMP7); + _TMP7 = min(float(_out_color.z), float(_TMP0.z)); + _TMP5 = float(_TMP7); + _out_color.xyz = vec3(_TMP3, _TMP4, _TMP5); + _ret_0 = vec4(float(_out_color.x), float(_out_color.y), float(_out_color.z), float(_out_color.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_2.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_2.glsl new file mode 100644 index 0000000000..27eb805621 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_2.glsl @@ -0,0 +1,172 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _upper_bound; +varying vec2 _lower_bound; +varying vec2 _tex_coord_2; +varying vec2 _tex_coord_1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder33; +}; +struct pass_1 { +float _placeholder37; +}; +struct blur_coords { + vec2 _tex_coord_1; + vec2 _tex_coord_2; + vec2 _lower_bound; + vec2 _upper_bound; +}; +vec4 _oPosition1; +blur_coords _oBlurCoords1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + vec2 _texel; + blur_coords _TMP2; + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + _oTexCoord = TexCoord.xy; + _texel = vec2(float((1.00000000E+00/TextureSize).x), float((1.00000000E+00/TextureSize).y)); + _TMP2._tex_coord_1 = vec2(float((TexCoord.xy + vec2(0.00000000E+00, float(_texel.y))).x), float((TexCoord.xy + vec2(0.00000000E+00, float(_texel.y))).y)); + _TMP2._tex_coord_2 = vec2(float((TexCoord.xy + vec2(0.00000000E+00, float(-_texel.y))).x), float((TexCoord.xy + vec2(0.00000000E+00, float(-_texel.y))).y)); + _TMP2._upper_bound = vec2(float((vec2(float(_texel.x), float(_texel.y))*(OutputSize - 2.00000000E+00)).x), float((vec2(float(_texel.x), float(_texel.y))*(OutputSize - 2.00000000E+00)).y)); + _oBlurCoords1._tex_coord_1 = _TMP2._tex_coord_1; + _oBlurCoords1._tex_coord_2 = _TMP2._tex_coord_2; + _oBlurCoords1._lower_bound = vec2( 0.00000000E+00, 0.00000000E+00); + _oBlurCoords1._upper_bound = _TMP2._upper_bound; + gl_Position = _r0004; + TEX0.xy = TexCoord.xy; + TEX1.xy = _TMP2._tex_coord_1; + TEX2.xy = _TMP2._tex_coord_2; + TEX3.xy = vec2( 0.00000000E+00, 0.00000000E+00); + TEX4.xy = _TMP2._upper_bound; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _upper_bound; +varying vec2 _lower_bound; +varying vec2 _tex_coord_2; +varying vec2 _tex_coord_1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder26; +}; +struct pass_1 { +float _placeholder30; +}; +struct blur_coords { + vec2 _tex_coord_1; + vec2 _tex_coord_2; + vec2 _lower_bound; + vec2 _upper_bound; +}; +vec4 _ret_0; +vec4 _TMP4; +vec4 _TMP3; +vec2 _TMP5; +vec2 _TMP7; +vec2 _TMP6; +vec4 _TMP0; +pass_1 _PASS11; +vec4 _adjacent_texel_30014; +vec4 _adjacent_texel_40014; +vec3 _original_color0014; +vec4 _COLOR0014; +vec2 _TMP15; +vec2 _TMP21; +vec2 _c0032; +vec2 _c0034; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + +uniform sampler2D Pass1Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _out_color; + _TMP0 = texture2D(Pass1Texture, TEX0.xy); + _out_color = vec4(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z), float(_TMP0.w)); + if (_out_color.w > 0.00000000E+00 && _out_color.w < 1.00000000E+00) { + _TMP6 = min(vec2(float(TEX4.x), float(TEX4.y)), vec2(float(TEX1.x), float(TEX1.y))); + _TMP5 = vec2(float(_TMP6.x), float(_TMP6.y)); + _TMP7 = max(vec2(float(TEX3.x), float(TEX3.y)), vec2(float(_TMP5.x), float(_TMP5.y))); + _TMP15 = vec2(float(_TMP7.x), float(_TMP7.y)); + _TMP6 = min(vec2(float(TEX4.x), float(TEX4.y)), vec2(float(TEX2.x), float(TEX2.y))); + _TMP5 = vec2(float(_TMP6.x), float(_TMP6.y)); + _TMP7 = max(vec2(float(TEX3.x), float(TEX3.y)), vec2(float(_TMP5.x), float(_TMP5.y))); + _TMP21 = vec2(float(_TMP7.x), float(_TMP7.y)); + _c0032 = vec2(float(_TMP15.x), float(_TMP15.y)); + _TMP3 = texture2D(Pass1Texture, _c0032); + _adjacent_texel_30014 = vec4(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z), float(_TMP3.w)); + _c0034 = vec2(float(_TMP21.x), float(_TMP21.y)); + _TMP4 = texture2D(Pass1Texture, _c0034); + _adjacent_texel_40014 = vec4(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z), float(_TMP4.w)); + _original_color0014 = vec3(float((vec3(float((_adjacent_texel_30014.xyz + _adjacent_texel_40014.xyz).x), float((_adjacent_texel_30014.xyz + _adjacent_texel_40014.xyz).y), float((_adjacent_texel_30014.xyz + _adjacent_texel_40014.xyz).z))/2.00000000E+00).x), float((vec3(float((_adjacent_texel_30014.xyz + _adjacent_texel_40014.xyz).x), float((_adjacent_texel_30014.xyz + _adjacent_texel_40014.xyz).y), float((_adjacent_texel_30014.xyz + _adjacent_texel_40014.xyz).z))/2.00000000E+00).y), float((vec3(float((_adjacent_texel_30014.xyz + _adjacent_texel_40014.xyz).x), float((_adjacent_texel_30014.xyz + _adjacent_texel_40014.xyz).y), float((_adjacent_texel_30014.xyz + _adjacent_texel_40014.xyz).z))/2.00000000E+00).z)); + _COLOR0014.xyz = _original_color0014; + _COLOR0014.w = 1.00000000E+00; + _out_color = _COLOR0014; + } + _ret_0 = vec4(float(_out_color.x), float(_out_color.y), float(_out_color.z), float(_out_color.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_3.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_3.glsl new file mode 100644 index 0000000000..d35f3ba7e8 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_3.glsl @@ -0,0 +1,101 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder24; +}; +struct pass_2 { +float _placeholder28; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oTexCoord = TexCoord.xy; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder27; +}; +struct pass_2 { +float _placeholder31; +}; +pass_2 _PASS21; +input_dummy _IN1; +varying vec4 TEX0; + +uniform sampler2D Texture; +uniform sampler2D Pass2Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _out_color; + vec4 _scene_color; + _out_color = texture2D(Pass2Texture, TEX0.xy); + _scene_color = texture2D(Texture, TEX0.xy); + _out_color.w = _out_color.w*5.00000000E-01; + _out_color.xyz = _out_color.xyz*_out_color.w + _scene_color.xyz*(1.00000000E+00 - _out_color.w); + if (_out_color.w == 0.00000000E+00) { + gl_FragColor = vec4( 0.00000000E+00, 0.00000000E+00, 1.00000001E-01, 1.00000000E+00); + return; + } + gl_FragColor = _out_color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_4.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_4.glsl new file mode 100644 index 0000000000..7d908daffb --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_4.glsl @@ -0,0 +1,85 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder24; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oTexCoord = TexCoord.xy; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder25; +}; +vec4 _ret_0; +input_dummy _IN1; +varying vec4 TEX0; + +uniform sampler2D Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + _ret_0 = texture2D(Texture, TEX0.xy); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_5.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_5.glsl new file mode 100644 index 0000000000..7d908daffb --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_pass_5.glsl @@ -0,0 +1,85 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder24; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oTexCoord = TexCoord.xy; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder25; +}; +vec4 _ret_0; +input_dummy _IN1; +varying vec4 TEX0; + +uniform sampler2D Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + _ret_0 = texture2D(Texture, TEX0.xy); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_shader.glslp b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_shader.glslp new file mode 100644 index 0000000000..b770f5a4eb --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_2/lcd_shader.glslp @@ -0,0 +1,32 @@ +shaders = 4 +shader0 = lcd_pass_0.glsl +shader1 = lcd_pass_1.glsl +shader2 = lcd_pass_2.glsl +shader3 = lcd_pass_3.glsl +shader4 = lcd_pass_4.glsl +shader5 = lcd_pass_5.glsl + +scale_type0 = viewport +scale0 = 1 + +scale_type1 = source +scale1 = 1 + +scale_type2 = source +scale2 = 1 + +scale_type3 = source +scale3 = 1 + +scale_type4 = source +scale4 = 1 + +scale_type5 = source +scale5 = 1 + +filter_linear0 = false +filter_linear1 = false +filter_linear2 = false +filter_linear3 = false +filter_linear4 = false +filter_linear5 = false \ No newline at end of file diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_0.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_0.glsl new file mode 100644 index 0000000000..cb5e028f16 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_0.glsl @@ -0,0 +1,216 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _texel_height; +varying float _cell_height; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder31; +}; +struct prev_0 { +float _placeholder35; +}; +struct prev_1 { +float _placeholder39; +}; +struct prev_2 { +float _placeholder43; +}; +struct prev_3 { +float _placeholder47; +}; +struct prev_4 { +float _placeholder51; +}; +struct prev_5 { +float _placeholder55; +}; +struct prev_6 { +float _placeholder59; +}; +struct line_data { + float _cell_height; + float _texel_height; +}; +vec4 _oPosition1; +float _TMP2; +line_data _oLineData1; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0008; +float _x0018; +float _x0020; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + line_data _TMP5; + vec2 _TMP6; + _r0008.x = dot(MVPMatrix_[0], VertexCoord); + _r0008.y = dot(MVPMatrix_[1], VertexCoord); + _r0008.z = dot(MVPMatrix_[2], VertexCoord); + _r0008.w = dot(MVPMatrix_[3], VertexCoord); + _x0018 = OutputSize.y/InputSize.y; + _TMP1 = floor(_x0018); + _TMP6 = OutputSize/(InputSize*_TMP1); + _oPosition1 = _r0008/vec4(_TMP6.x, _TMP6.y, 1.00000000E+00, 1.00000000E+00); + _oTexCoord = TexCoord.xy + 5.00000000E-01/OutputSize; + _x0020 = OutputSize.y/InputSize.y; + _TMP2 = floor(_x0020); + _TMP5._cell_height = float((1.00000000E+00/TextureSize.y)); + _TMP5._texel_height = float((1.00000000E+00/(TextureSize.y*_TMP2))); + _oLineData1._cell_height = _TMP5._cell_height; + _oLineData1._texel_height = _TMP5._texel_height; + gl_Position = _oPosition1; + TEX0.xy = _oTexCoord; + TEX1.x = _TMP5._cell_height; + TEX2.x = _TMP5._texel_height; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _texel_height; +varying float _cell_height; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder41; +}; +struct prev_0 { +float _placeholder45; +}; +struct prev_1 { +float _placeholder49; +}; +struct prev_2 { +float _placeholder53; +}; +struct prev_3 { +float _placeholder57; +}; +struct prev_4 { +float _placeholder61; +}; +struct prev_5 { +float _placeholder65; +}; +struct prev_6 { +float _placeholder69; +}; +struct line_data { + float _cell_height; + float _texel_height; +}; +vec4 _ret_0; +float _TMP14; +float _TMP15; +vec4 _TMP12; +vec4 _TMP10; +vec4 _TMP8; +vec4 _TMP6; +vec4 _TMP4; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +input_dummy _IN1; +prev_0 _PREV7; +prev_1 _PREV11; +prev_2 _PREV21; +prev_3 _PREV31; +prev_4 _PREV41; +prev_5 _PREV51; +prev_6 _PREV61; +float _y0044; +float _x0046; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + +uniform sampler2D Texture; +uniform sampler2D Prev6Texture; +uniform sampler2D Prev5Texture; +uniform sampler2D Prev4Texture; +uniform sampler2D Prev3Texture; +uniform sampler2D Prev2Texture; +uniform sampler2D Prev1Texture; +uniform sampler2D PrevTexture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _input_dummy_rgb; + vec4 _out_color; + float _is_on_line; + vec3 _TMP25; + _TMP0 = texture2D(Texture, TEX0.xy); + _input_dummy_rgb = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(PrevTexture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP1.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.33000004E-01).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP1.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.33000004E-01).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP1.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.33000004E-01).z)); + _TMP2 = texture2D(Prev1Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP2.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.10889003E-01).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP2.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.10889003E-01).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP2.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.10889003E-01).z)); + _TMP4 = texture2D(Prev2Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP4.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.69260386E-02).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP4.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.69260386E-02).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP4.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.69260386E-02).z)); + _TMP6 = texture2D(Prev3Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP6.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.22963712E-02).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP6.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.22963712E-02).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP6.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.22963712E-02).z)); + _TMP8 = texture2D(Prev4Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP8.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.09469148E-03).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP8.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.09469148E-03).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP8.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.09469148E-03).z)); + _TMP10 = texture2D(Prev5Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP10.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.36353227E-03).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP10.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.36353227E-03).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP10.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.36353227E-03).z)); + _TMP12 = texture2D(Prev6Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP12.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.54056280E-04).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP12.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.54056280E-04).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP12.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.54056280E-04).z)); + _out_color = vec4(_input_dummy_rgb.x, _input_dummy_rgb.y, _input_dummy_rgb.z, 1.00000000E+00); + _y0044 = float(TEX1.x); + _x0046 = TEX0.y/_y0044; + _TMP15 = floor(_x0046); + _TMP14 = TEX0.y - _y0044*_TMP15; + _is_on_line = float(int((_TMP14 > float(TEX2.x)))); + _TMP25 = _out_color.xyz*_is_on_line; + _out_color = vec4(_TMP25.x, _TMP25.y, _TMP25.z, _out_color.w - 5.00000000E-01*float(!bool(_is_on_line))); + _ret_0 = vec4(float(_out_color.x), float(_out_color.y), float(_out_color.z), float(_out_color.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_1.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_1.glsl new file mode 100644 index 0000000000..16b78a1018 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_1.glsl @@ -0,0 +1,153 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _threeVARtwo_dX; +varying float _twoVARtwo_dX; +varying float VARtwo_dX; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder32; +}; +struct texture_data { + float VARtwo_dX; + float _twoVARtwo_dX; + float _threeVARtwo_dX; +}; +vec4 _oPosition1; +texture_data _oTexData1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + float _texel_width; + texture_data _TMP2; + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + _oTexCoord = TexCoord.xy; + _texel_width = 1.00000000E+00/TextureSize.x; + _TMP2._twoVARtwo_dX = 2.00000000E+00*_texel_width; + _TMP2._threeVARtwo_dX = 3.00000000E+00*_texel_width; + _oTexData1.VARtwo_dX = _texel_width; + _oTexData1._twoVARtwo_dX = _TMP2._twoVARtwo_dX; + _oTexData1._threeVARtwo_dX = _TMP2._threeVARtwo_dX; + gl_Position = _r0004; + TEX0.xy = TexCoord.xy; + TEX1.x = _texel_width; + TEX2.x = _TMP2._twoVARtwo_dX; + TEX3.x = _TMP2._threeVARtwo_dX; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _threeVARtwo_dX; +varying float _twoVARtwo_dX; +varying float VARtwo_dX; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder28; +}; +struct texture_data { + float VARtwo_dX; + float _twoVARtwo_dX; + float _threeVARtwo_dX; +}; +vec4 _ret_0; +float _TMP5; +float _TMP4; +float _TMP3; +float _TMP7; +vec4 _TMP2; +vec3 _TMP0; +vec3 _TMP1; +float _TMP6; +input_dummy _IN1; +float _x0013; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; + +uniform sampler2D Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + float _modX; + vec4 _out_color; + _x0013 = TEX0.x/TEX3.x; + _TMP6 = floor(_x0013); + _modX = TEX0.x - TEX3.x*_TMP6; + if (_modX < TEX1.x) { + _TMP0 = vec3( 1.00000000E+00, 0.00000000E+00, 1.00000000E+00); + } else { + if (_modX < TEX2.x) { + _TMP1 = vec3( 1.00000000E+00, 1.00000000E+00, 0.00000000E+00); + } else { + _TMP1 = vec3( 0.00000000E+00, 1.00000000E+00, 1.00000000E+00); + } + _TMP0 = _TMP1; + } + _TMP2 = texture2D(Texture, TEX0.xy); + _out_color = vec4(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z), float(_TMP2.w)); + _TMP7 = min(float(_out_color.x), float(_TMP0.x)); + _TMP3 = float(_TMP7); + _TMP7 = min(float(_out_color.y), float(_TMP0.y)); + _TMP4 = float(_TMP7); + _TMP7 = min(float(_out_color.z), float(_TMP0.z)); + _TMP5 = float(_TMP7); + _out_color.xyz = vec3(_TMP3, _TMP4, _TMP5); + _ret_0 = vec4(float(_out_color.x), float(_out_color.y), float(_out_color.z), float(_out_color.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_2.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_2.glsl new file mode 100644 index 0000000000..a9137705da --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_2.glsl @@ -0,0 +1,100 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder24; +}; +struct pass_1 { +float _placeholder28; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oTexCoord = TexCoord.xy; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder27; +}; +struct pass_1 { +float _placeholder31; +}; +pass_1 _PASS11; +input_dummy _IN1; +varying vec4 TEX0; + +uniform sampler2D Texture; +uniform sampler2D Pass1Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _out_color; + vec4 _scene_color; + _out_color = texture2D(Texture, TEX0.xy); + _scene_color = texture2D(Pass1Texture, TEX0.xy); + _out_color.xyz = _out_color.xyz*9.00390625E-01 + _scene_color.xyz*9.96093750E-02; + if (_out_color.w == 0.00000000E+00) { + gl_FragColor = vec4( 0.00000000E+00, 0.00000000E+00, 1.00000001E-01, 0.00000000E+00); + return; + } + gl_FragColor = _out_color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_3.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_3.glsl new file mode 100644 index 0000000000..5cf933882d --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_pass_3.glsl @@ -0,0 +1,188 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _upper_bound; +varying vec2 _lower_bound; +varying vec2 _tex_coord_2; +varying vec2 _tex_coord_1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder33; +}; +struct pass_1 { +float _placeholder37; +}; +struct blur_coords { + vec2 _tex_coord_1; + vec2 _tex_coord_2; + vec2 _lower_bound; + vec2 _upper_bound; +}; +vec4 _oPosition1; +blur_coords _oBlurCoords1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + vec2 _texel; + blur_coords _TMP2; + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + _oTexCoord = TexCoord.xy; + _texel = vec2(float((1.00000000E+00/TextureSize).x), float((1.00000000E+00/TextureSize).y)); + _TMP2._tex_coord_1 = vec2(float((TexCoord.xy + vec2(0.00000000E+00, float(_texel.y))).x), float((TexCoord.xy + vec2(0.00000000E+00, float(_texel.y))).y)); + _TMP2._tex_coord_2 = vec2(float((TexCoord.xy + vec2(0.00000000E+00, float(-_texel.y))).x), float((TexCoord.xy + vec2(0.00000000E+00, float(-_texel.y))).y)); + _TMP2._upper_bound = vec2(float((vec2(float(_texel.x), float(_texel.y))*(OutputSize - 2.00000000E+00)).x), float((vec2(float(_texel.x), float(_texel.y))*(OutputSize - 2.00000000E+00)).y)); + _oBlurCoords1._tex_coord_1 = _TMP2._tex_coord_1; + _oBlurCoords1._tex_coord_2 = _TMP2._tex_coord_2; + _oBlurCoords1._lower_bound = vec2( 0.00000000E+00, 0.00000000E+00); + _oBlurCoords1._upper_bound = _TMP2._upper_bound; + gl_Position = _r0004; + TEX0.xy = TexCoord.xy; + TEX1.xy = _TMP2._tex_coord_1; + TEX2.xy = _TMP2._tex_coord_2; + TEX3.xy = vec2( 0.00000000E+00, 0.00000000E+00); + TEX4.xy = _TMP2._upper_bound; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _upper_bound; +varying vec2 _lower_bound; +varying vec2 _tex_coord_2; +varying vec2 _tex_coord_1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder31; +}; +struct pass_1 { +float _placeholder35; +}; +struct blur_coords { + vec2 _tex_coord_1; + vec2 _tex_coord_2; + vec2 _lower_bound; + vec2 _upper_bound; +}; +vec4 _ret_0; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec2 _TMP5; +vec2 _TMP7; +vec2 _TMP6; +vec4 _TMP0; +pass_1 _PASS11; +input_dummy _IN2; +vec4 _adjacent_texel_10014; +vec4 _adjacent_texel_20014; +vec4 _adjacent_texel_30014; +vec4 _adjacent_texel_40014; +vec3 _LCD_color0014; +vec4 _COLOR0014; +vec3 _original_color0014; +vec2 _TMP15; +vec2 _TMP21; +vec2 _c0028; +vec2 _c0030; +vec2 _c0032; +vec2 _c0034; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + +uniform sampler2D Texture; +uniform sampler2D Pass1Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _out_color; + _TMP0 = texture2D(Texture, TEX0.xy); + _out_color = vec4(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z), float(_TMP0.w)); + if (_out_color.w > 0.00000000E+00 && _out_color.w < 1.00000000E+00) { + _TMP6 = min(vec2(float(TEX4.x), float(TEX4.y)), vec2(float(TEX1.x), float(TEX1.y))); + _TMP5 = vec2(float(_TMP6.x), float(_TMP6.y)); + _TMP7 = max(vec2(float(TEX3.x), float(TEX3.y)), vec2(float(_TMP5.x), float(_TMP5.y))); + _TMP15 = vec2(float(_TMP7.x), float(_TMP7.y)); + _TMP6 = min(vec2(float(TEX4.x), float(TEX4.y)), vec2(float(TEX2.x), float(TEX2.y))); + _TMP5 = vec2(float(_TMP6.x), float(_TMP6.y)); + _TMP7 = max(vec2(float(TEX3.x), float(TEX3.y)), vec2(float(_TMP5.x), float(_TMP5.y))); + _TMP21 = vec2(float(_TMP7.x), float(_TMP7.y)); + _c0028 = vec2(float(_TMP15.x), float(_TMP15.y)); + _TMP1 = texture2D(Texture, _c0028); + _adjacent_texel_10014 = vec4(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z), float(_TMP1.w)); + _c0030 = vec2(float(_TMP21.x), float(_TMP21.y)); + _TMP2 = texture2D(Texture, _c0030); + _adjacent_texel_20014 = vec4(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z), float(_TMP2.w)); + _c0032 = vec2(float(_TMP15.x), float(_TMP15.y)); + _TMP3 = texture2D(Pass1Texture, _c0032); + _adjacent_texel_30014 = vec4(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z), float(_TMP3.w)); + _c0034 = vec2(float(_TMP21.x), float(_TMP21.y)); + _TMP4 = texture2D(Pass1Texture, _c0034); + _adjacent_texel_40014 = vec4(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z), float(_TMP4.w)); + _LCD_color0014 = ((_out_color.xyz - _adjacent_texel_10014.xyz) + (_out_color.xyz - _adjacent_texel_20014.xyz))*2.50000000E-01; + _original_color0014 = ((_out_color.xyz - _adjacent_texel_30014.xyz) + (_out_color.xyz - _adjacent_texel_40014.xyz))*2.50000000E-01; + _COLOR0014.xyz = _out_color.xyz - (_original_color0014 + _LCD_color0014); + _COLOR0014.w = 1.00000000E+00; + _out_color = _COLOR0014; + } + _ret_0 = vec4(float(_out_color.x), float(_out_color.y), float(_out_color.z), float(_out_color.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_shader.glslp b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_shader.glslp new file mode 100644 index 0000000000..f53e7cb092 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/backup_3/lcd_shader.glslp @@ -0,0 +1,22 @@ +shaders = 4 +shader0 = lcd_pass_0.glsl +shader1 = lcd_pass_1.glsl +shader2 = lcd_pass_2.glsl +shader3 = lcd_pass_3.glsl + +scale_type0 = viewport +scale0 = 1 + +scale_type1 = source +scale1 = 1 + +scale_type2 = source +scale2 = 1 + +scale_type3 = source +scale3 = 1 + +filter_linear0 = false +filter_linear1 = false +filter_linear2 = false +filter_linear3 = false \ No newline at end of file diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_0.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_0.glsl new file mode 100644 index 0000000000..0c45ab7e4c --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_0.glsl @@ -0,0 +1,226 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _texel_height; +varying float _cell_height; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder31; +}; +struct prev_0 { +float _placeholder35; +}; +struct prev_1 { +float _placeholder39; +}; +struct prev_2 { +float _placeholder43; +}; +struct prev_3 { +float _placeholder47; +}; +struct prev_4 { +float _placeholder51; +}; +struct prev_5 { +float _placeholder55; +}; +struct prev_6 { +float _placeholder59; +}; +struct line_data { + float _cell_height; + float _texel_height; +}; +vec4 _oPosition1; +float _TMP2; +line_data _oLineData1; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0008; +float _x0018; +float _x0020; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + line_data _TMP5; + vec2 _TMP6; + _r0008.x = dot(MVPMatrix_[0], VertexCoord); + _r0008.y = dot(MVPMatrix_[1], VertexCoord); + _r0008.z = dot(MVPMatrix_[2], VertexCoord); + _r0008.w = dot(MVPMatrix_[3], VertexCoord); + _x0018 = OutputSize.y/InputSize.y; + _TMP1 = floor(_x0018); + _TMP6 = OutputSize/(InputSize*_TMP1); + _oPosition1 = _r0008/vec4(_TMP6.x, _TMP6.y, 1.00000000E+00, 1.00000000E+00); + _oTexCoord = TexCoord.xy + 5.00000000E-01/OutputSize; + _x0020 = OutputSize.y/InputSize.y; + _TMP2 = floor(_x0020); + _TMP5._cell_height = float((1.00000000E+00/TextureSize.y)); + _TMP5._texel_height = float((1.00000000E+00/(TextureSize.y*_TMP2))); + _oLineData1._cell_height = _TMP5._cell_height; + _oLineData1._texel_height = _TMP5._texel_height; + gl_Position = _oPosition1; + TEX0.xy = _oTexCoord; + TEX1.x = _TMP5._cell_height; + TEX2.x = _TMP5._texel_height; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _texel_height; +varying float _cell_height; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder41; +}; +struct prev_0 { +float _placeholder45; +}; +struct prev_1 { +float _placeholder49; +}; +struct prev_2 { +float _placeholder53; +}; +struct prev_3 { +float _placeholder57; +}; +struct prev_4 { +float _placeholder61; +}; +struct prev_5 { +float _placeholder65; +}; +struct prev_6 { +float _placeholder69; +}; +struct line_data { + float _cell_height; + float _texel_height; +}; +vec4 _ret_0; +float _TMP18; +float _TMP17; +float _TMP16; +float _TMP15; +vec4 _TMP12; +vec4 _TMP10; +vec4 _TMP8; +vec4 _TMP6; +vec4 _TMP4; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +input_dummy _IN1; +prev_0 _PREV7; +prev_1 _PREV11; +prev_2 _PREV21; +prev_3 _PREV31; +prev_4 _PREV41; +prev_5 _PREV51; +prev_6 _PREV61; +float _b0047; +float _c0047; +float _a0049; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + +uniform sampler2D Texture; +uniform sampler2D Prev6Texture; +uniform sampler2D Prev5Texture; +uniform sampler2D Prev4Texture; +uniform sampler2D Prev3Texture; +uniform sampler2D Prev2Texture; +uniform sampler2D Prev1Texture; +uniform sampler2D PrevTexture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _input_dummy_rgb; + vec4 _out_color; + float _is_on_line; + vec3 _TMP28; + _TMP0 = texture2D(Texture, TEX0.xy); + _input_dummy_rgb = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(PrevTexture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP1.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.33000004E-01).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP1.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.33000004E-01).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP1.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.33000004E-01).z)); + _TMP2 = texture2D(Prev1Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP2.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.10889003E-01).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP2.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.10889003E-01).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP2.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.10889003E-01).z)); + _TMP4 = texture2D(Prev2Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP4.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.69260386E-02).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP4.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.69260386E-02).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP4.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*3.69260386E-02).z)); + _TMP6 = texture2D(Prev3Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP6.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.22963712E-02).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP6.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.22963712E-02).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP6.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.22963712E-02).z)); + _TMP8 = texture2D(Prev4Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP8.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.09469148E-03).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP8.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.09469148E-03).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP8.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.09469148E-03).z)); + _TMP10 = texture2D(Prev5Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP10.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.36353227E-03).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP10.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.36353227E-03).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP10.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*1.36353227E-03).z)); + _TMP12 = texture2D(Prev6Texture, TEX0.xy); + _input_dummy_rgb = vec3(float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP12.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.54056280E-04).x), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP12.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.54056280E-04).y), float((vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)) + (_TMP12.xyz - vec3(float(_input_dummy_rgb.x), float(_input_dummy_rgb.y), float(_input_dummy_rgb.z)))*4.54056280E-04).z)); + _out_color = vec4(_input_dummy_rgb.x, _input_dummy_rgb.y, _input_dummy_rgb.z, 1.00000000E+00); + _b0047 = float(TEX1.x); + _a0049 = TEX0.y/_b0047; + _TMP15 = abs(_a0049); + _TMP16 = fract(_TMP15); + _TMP17 = abs(_b0047); + _c0047 = _TMP16*_TMP17; + if (TEX0.y < 0.00000000E+00) { + _TMP18 = -_c0047; + } else { + _TMP18 = _c0047; + } + _is_on_line = float(int((_TMP18 > float(TEX2.x)))); + _TMP28 = _out_color.xyz*_is_on_line; + _out_color = vec4(_TMP28.x, _TMP28.y, _TMP28.z, _out_color.w - 5.00000000E-01*float(!bool(_is_on_line))); + _ret_0 = vec4(float(_out_color.x), float(_out_color.y), float(_out_color.z), float(_out_color.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_1.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_1.glsl new file mode 100644 index 0000000000..1eb3959629 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_1.glsl @@ -0,0 +1,163 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _threeVARtwo_dX; +varying float _twoVARtwo_dX; +varying float VARtwo_dX; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder32; +}; +struct texture_data { + float VARtwo_dX; + float _twoVARtwo_dX; + float _threeVARtwo_dX; +}; +vec4 _oPosition1; +texture_data _oTexData1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + float _texel_width; + texture_data _TMP2; + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + _oTexCoord = TexCoord.xy; + _texel_width = 1.00000000E+00/TextureSize.x; + _TMP2._twoVARtwo_dX = 2.00000000E+00*_texel_width; + _TMP2._threeVARtwo_dX = 3.00000000E+00*_texel_width; + _oTexData1.VARtwo_dX = _texel_width; + _oTexData1._twoVARtwo_dX = _TMP2._twoVARtwo_dX; + _oTexData1._threeVARtwo_dX = _TMP2._threeVARtwo_dX; + gl_Position = _r0004; + TEX0.xy = TexCoord.xy; + TEX1.x = _texel_width; + TEX2.x = _TMP2._twoVARtwo_dX; + TEX3.x = _TMP2._threeVARtwo_dX; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _threeVARtwo_dX; +varying float _twoVARtwo_dX; +varying float VARtwo_dX; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder28; +}; +struct texture_data { + float VARtwo_dX; + float _twoVARtwo_dX; + float _threeVARtwo_dX; +}; +vec4 _ret_0; +float _TMP5; +float _TMP4; +float _TMP3; +float _TMP10; +vec4 _TMP2; +vec3 _TMP0; +vec3 _TMP1; +float _TMP9; +float _TMP8; +float _TMP7; +float _TMP6; +input_dummy _IN1; +float _c0014; +float _a0016; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; + +uniform sampler2D Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _out_color; + _a0016 = TEX0.x/TEX3.x; + _TMP6 = abs(_a0016); + _TMP7 = fract(_TMP6); + _TMP8 = abs(TEX3.x); + _c0014 = _TMP7*_TMP8; + if (TEX0.x < 0.00000000E+00) { + _TMP9 = -_c0014; + } else { + _TMP9 = _c0014; + } + if (_TMP9 < TEX1.x) { + _TMP0 = vec3( 1.00000000E+00, 0.00000000E+00, 1.00000000E+00); + } else { + if (_TMP9 < TEX2.x) { + _TMP1 = vec3( 1.00000000E+00, 1.00000000E+00, 0.00000000E+00); + } else { + _TMP1 = vec3( 0.00000000E+00, 1.00000000E+00, 1.00000000E+00); + } + _TMP0 = _TMP1; + } + _TMP2 = texture2D(Texture, TEX0.xy); + _out_color = vec4(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z), float(_TMP2.w)); + _TMP10 = min(float(_out_color.x), float(_TMP0.x)); + _TMP3 = float(_TMP10); + _TMP10 = min(float(_out_color.y), float(_TMP0.y)); + _TMP4 = float(_TMP10); + _TMP10 = min(float(_out_color.z), float(_TMP0.z)); + _TMP5 = float(_TMP10); + _out_color.xyz = vec3(_TMP3, _TMP4, _TMP5); + _ret_0 = vec4(float(_out_color.x), float(_out_color.y), float(_out_color.z), float(_out_color.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_2.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_2.glsl new file mode 100644 index 0000000000..9cd0c572e1 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_2.glsl @@ -0,0 +1,127 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder24; +}; +struct pass_1 { +float _placeholder28; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oTexCoord = TexCoord.xy; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder29; +}; +struct pass_1 { +float _placeholder33; +}; +vec4 _ret_0; +float _TMP5; +float _TMP4; +float _TMP3; +vec3 _TMP6; +vec3 _TMP8; +vec3 _TMP7; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +pass_1 _PASS11; +input_dummy _IN1; +uniform sampler2D BACKGROUND; +vec3 _x0026; +vec3 _TMP27; +varying vec4 TEX0; + +uniform sampler2D Texture; +uniform sampler2D Pass1Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _lcd_color; + vec4 _input_dummy_color; + vec4 _bg_color; + vec4 _out_color; + vec3 _TMP12; + _TMP0 = texture2D(Texture, TEX0.xy); + _lcd_color = vec4(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z), float(_TMP0.w)); + _TMP1 = texture2D(Pass1Texture, TEX0.xy); + _input_dummy_color = vec4(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z), float(_TMP1.w)); + _TMP2 = texture2D(BACKGROUND, TEX0.xy); + _bg_color = vec4(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z), float(_TMP2.w)); + _TMP12 = _lcd_color.xyz*9.00390625E-01 + _input_dummy_color.xyz*9.96093750E-02; + _out_color = vec4(_TMP12.x, _TMP12.y, _TMP12.z, _input_dummy_color.w); + _TMP3 = -1.00000000E+00 + _bg_color.x*1.99902344E+00; + _TMP4 = -1.00000000E+00 + _bg_color.y*1.99902344E+00; + _TMP5 = -1.00000000E+00 + _bg_color.z*1.99902344E+00; + _x0026 = vec3(_TMP3, _TMP4, _TMP5); + _TMP7 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), vec3(float(_x0026.x), float(_x0026.y), float(_x0026.z))); + _TMP6 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z))); + _TMP27 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _out_color.xyz = _TMP27*float((_out_color.w == 0.00000000E+00)) + _out_color.xyz*float(!bool(float((_out_color.w == 0.00000000E+00)))); + _ret_0 = vec4(float(_out_color.x), float(_out_color.y), float(_out_color.z), float(_out_color.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_3.glsl b/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_3.glsl new file mode 100644 index 0000000000..8d280a1121 --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_pass_3.glsl @@ -0,0 +1,194 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _upper_bound; +varying vec2 _lower_bound; +varying vec2 _tex_coord_2; +varying vec2 _tex_coord_1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder33; +}; +struct pass_1 { +float _placeholder37; +}; +struct blur_coords { + vec2 _tex_coord_1; + vec2 _tex_coord_2; + vec2 _lower_bound; + vec2 _upper_bound; +}; +vec4 _oPosition1; +blur_coords _oBlurCoords1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTexCoord; + vec2 _texel; + blur_coords _TMP2; + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + _oTexCoord = TexCoord.xy; + _texel = vec2(float((1.00000000E+00/TextureSize).x), float((1.00000000E+00/TextureSize).y)); + _TMP2._tex_coord_1 = vec2(float((TexCoord.xy + vec2(0.00000000E+00, float(_texel.y))).x), float((TexCoord.xy + vec2(0.00000000E+00, float(_texel.y))).y)); + _TMP2._tex_coord_2 = vec2(float((TexCoord.xy + vec2(0.00000000E+00, float(-_texel.y))).x), float((TexCoord.xy + vec2(0.00000000E+00, float(-_texel.y))).y)); + _TMP2._upper_bound = vec2(float((vec2(float(_texel.x), float(_texel.y))*(OutputSize - 2.00000000E+00)).x), float((vec2(float(_texel.x), float(_texel.y))*(OutputSize - 2.00000000E+00)).y)); + _oBlurCoords1._tex_coord_1 = _TMP2._tex_coord_1; + _oBlurCoords1._tex_coord_2 = _TMP2._tex_coord_2; + _oBlurCoords1._lower_bound = vec2( 0.00000000E+00, 0.00000000E+00); + _oBlurCoords1._upper_bound = _TMP2._upper_bound; + gl_Position = _r0004; + TEX0.xy = TexCoord.xy; + TEX1.xy = _TMP2._tex_coord_1; + TEX2.xy = _TMP2._tex_coord_2; + TEX3.xy = vec2( 0.00000000E+00, 0.00000000E+00); + TEX4.xy = _TMP2._upper_bound; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _upper_bound; +varying vec2 _lower_bound; +varying vec2 _tex_coord_2; +varying vec2 _tex_coord_1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +float _placeholder31; +}; +struct pass_1 { +float _placeholder35; +}; +struct blur_coords { + vec2 _tex_coord_1; + vec2 _tex_coord_2; + vec2 _lower_bound; + vec2 _upper_bound; +}; +vec4 _ret_0; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec2 _TMP8; +vec2 _TMP10; +vec2 _TMP9; +float _TMP1; +float _TMP3; +vec4 _TMP0; +pass_1 _PASS11; +input_dummy _IN2; +float _a0017; +vec4 _adjacent_texel_10019; +vec4 _adjacent_texel_20019; +vec4 _adjacent_texel_30019; +vec4 _adjacent_texel_40019; +vec3 _LCD_color0019; +vec4 _COLOR0019; +vec3 _original_color0019; +vec2 _TMP20; +vec2 _TMP26; +vec2 _c0033; +vec2 _c0035; +vec2 _c0037; +vec2 _c0039; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + +uniform sampler2D Texture; +uniform sampler2D Pass1Texture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _out_color; + float _is_on_line; + _TMP0 = texture2D(Texture, TEX0.xy); + _out_color = vec4(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z), float(_TMP0.w)); + _a0017 = _out_color.w - 5.00000000E-01; + _TMP3 = abs(float(_a0017)); + _TMP1 = float(_TMP3); + _is_on_line = float((_TMP1 < 9.96093750E-02)); + _COLOR0019 = _out_color; + _TMP9 = min(vec2(float(TEX4.x), float(TEX4.y)), vec2(float(TEX1.x), float(TEX1.y))); + _TMP8 = vec2(float(_TMP9.x), float(_TMP9.y)); + _TMP10 = max(vec2(float(TEX3.x), float(TEX3.y)), vec2(float(_TMP8.x), float(_TMP8.y))); + _TMP20 = vec2(float(_TMP10.x), float(_TMP10.y)); + _TMP9 = min(vec2(float(TEX4.x), float(TEX4.y)), vec2(float(TEX2.x), float(TEX2.y))); + _TMP8 = vec2(float(_TMP9.x), float(_TMP9.y)); + _TMP10 = max(vec2(float(TEX3.x), float(TEX3.y)), vec2(float(_TMP8.x), float(_TMP8.y))); + _TMP26 = vec2(float(_TMP10.x), float(_TMP10.y)); + _c0033 = vec2(float(_TMP20.x), float(_TMP20.y)); + _TMP4 = texture2D(Texture, _c0033); + _adjacent_texel_10019 = vec4(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z), float(_TMP4.w)); + _c0035 = vec2(float(_TMP26.x), float(_TMP26.y)); + _TMP5 = texture2D(Texture, _c0035); + _adjacent_texel_20019 = vec4(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z), float(_TMP5.w)); + _c0037 = vec2(float(_TMP20.x), float(_TMP20.y)); + _TMP6 = texture2D(Pass1Texture, _c0037); + _adjacent_texel_30019 = vec4(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z), float(_TMP6.w)); + _c0039 = vec2(float(_TMP26.x), float(_TMP26.y)); + _TMP7 = texture2D(Pass1Texture, _c0039); + _adjacent_texel_40019 = vec4(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z), float(_TMP7.w)); + _LCD_color0019 = ((_out_color.xyz - _adjacent_texel_10019.xyz) + (_out_color.xyz - _adjacent_texel_20019.xyz))*2.00195312E-01; + _original_color0019 = ((_out_color.xyz - _adjacent_texel_30019.xyz) + (_out_color.xyz - _adjacent_texel_40019.xyz))*2.00195312E-01; + _COLOR0019.xyz = _out_color.xyz - (_original_color0019 + _LCD_color0019); + _out_color = _COLOR0019*_is_on_line + _out_color*float(!bool(_is_on_line)); + _ret_0 = vec4(float(_out_color.x), float(_out_color.y), float(_out_color.z), float(_out_color.w)); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_shader.glslp b/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_shader.glslp new file mode 100644 index 0000000000..78c58e863f --- /dev/null +++ b/ios/Assets/shaders_glsl/Handheld/lcd_shader/lcd_shader.glslp @@ -0,0 +1,26 @@ +shaders = 4 +shader0 = lcd_pass_0.glsl +shader1 = lcd_pass_1.glsl +shader2 = lcd_pass_2.glsl +shader3 = lcd_pass_3.glsl + +scale_type0 = viewport +scale0 = 1 + +scale_type1 = source +scale1 = 1 + +scale_type2 = source +scale2 = 1 + +scale_type3 = source +scale3 = 1 + +filter_linear0 = false +filter_linear1 = false +filter_linear2 = false +filter_linear3 = false + +textures = BACKGROUND +BACKGROUND = background.png +BACKGROUND_linear = true \ No newline at end of file diff --git a/ios/Assets/shaders_glsl/Lanczos/Lanczos12.glsl b/ios/Assets/shaders_glsl/Lanczos/Lanczos12.glsl new file mode 100644 index 0000000000..b71e340fce --- /dev/null +++ b/ios/Assets/shaders_glsl/Lanczos/Lanczos12.glsl @@ -0,0 +1,306 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0004; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +float _TMP13; +float _TMP12; +input_dummy _IN1; +uniform sampler2D Texture; +float _TMP21; +float _x0022; +float _a0024; +float _a0026; +float _TMP27; +float _a0030; +float _a0032; +float _TMP33; +float _x0034; +float _a0036; +float _a0038; +float _TMP39; +float _x0040; +float _a0042; +float _a0044; +float _TMP45; +float _x0046; +float _a0048; +float _a0050; +float _TMP51; +float _a0054; +float _a0056; +float _TMP57; +float _x0058; +float _a0060; +float _a0062; +float _TMP63; +float _x0064; +float _a0066; +float _a0068; +vec2 _c0070; +vec2 _c0072; +vec2 _c0074; +vec2 _c0076; +vec2 _c0078; +vec2 _c0080; +vec2 _c0082; +vec2 _c0084; +vec2 _c0086; +vec2 _c0088; +vec2 _c0090; +vec2 _c0092; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _ps; + vec2 _crd[16]; + vec3 _pix[16]; + vec2 _dx; + vec2 _dy; + vec2 _pixcoord; + vec2 _fract; + vec2 _coord0; + output_dummy _OUT; + vec3 _TMP18; + _ps = vec2(9.99000013E-01/TextureSize.x, 9.99000013E-01/TextureSize.y); + _dx = vec2(float(_ps.x), 0.00000000E+00); + _dy = vec2(0.00000000E+00, float(_ps.y)); + _pixcoord = TEX0.xy/_ps; + _fract = fract(_pixcoord); + _coord0 = TEX0.xy - _fract*_ps; + _crd[(4*0 + 0)] = vec2(float((_coord0 - _ps).x), float((_coord0 - _ps).y)); + _crd[(4*1 + 0)] = _crd[(4*0 + 0)] + _dx; + _crd[(4*2 + 0)] = _crd[(4*1 + 0)] + _dx; + _crd[(4*0 + 1)] = _crd[(4*0 + 0)] + _dy; + _crd[(4*1 + 1)] = _crd[(4*0 + 1)] + _dx; + _crd[(4*2 + 1)] = _crd[(4*1 + 1)] + _dx; + _crd[(4*3 + 1)] = _crd[(4*2 + 1)] + _dx; + _crd[(4*0 + 2)] = _crd[(4*0 + 1)] + _dy; + _crd[(4*1 + 2)] = _crd[(4*0 + 2)] + _dx; + _crd[(4*2 + 2)] = _crd[(4*1 + 2)] + _dx; + _crd[(4*3 + 2)] = _crd[(4*2 + 2)] + _dx; + _crd[(4*0 + 3)] = _crd[(4*0 + 2)] + _dy; + _crd[(4*1 + 3)] = _crd[(4*0 + 3)] + _dx; + _crd[(4*2 + 3)] = _crd[(4*1 + 3)] + _dx; + _x0022 = 1.00000000E+00 + _fract.x; + if (_x0022 == 0.00000000E+00) { + _TMP21 = 4.93359375E+00; + } else { + _a0024 = _x0022*1.57031250E+00; + _TMP12 = sin(_a0024); + _a0026 = _x0022*3.14062500E+00; + _TMP13 = sin(_a0026); + _TMP21 = (_TMP12*_TMP13)/(_x0022*_x0022); + } + if (_fract.x == 0.00000000E+00) { + _TMP27 = 4.93359375E+00; + } else { + _a0030 = _fract.x*1.57031250E+00; + _TMP12 = sin(_a0030); + _a0032 = _fract.x*3.14062500E+00; + _TMP13 = sin(_a0032); + _TMP27 = (_TMP12*_TMP13)/(_fract.x*_fract.x); + } + _x0034 = 1.00000000E+00 - _fract.x; + if (_x0034 == 0.00000000E+00) { + _TMP33 = 4.93359375E+00; + } else { + _a0036 = _x0034*1.57031250E+00; + _TMP12 = sin(_a0036); + _a0038 = _x0034*3.14062500E+00; + _TMP13 = sin(_a0038); + _TMP33 = (_TMP12*_TMP13)/(_x0034*_x0034); + } + _x0040 = 2.00000000E+00 - _fract.x; + if (_x0040 == 0.00000000E+00) { + _TMP39 = 4.93359375E+00; + } else { + _a0042 = _x0040*1.57031250E+00; + _TMP12 = sin(_a0042); + _a0044 = _x0040*3.14062500E+00; + _TMP13 = sin(_a0044); + _TMP39 = (_TMP12*_TMP13)/(_x0040*_x0040); + } + _x0046 = 1.00000000E+00 + _fract.y; + if (_x0046 == 0.00000000E+00) { + _TMP45 = 4.93359375E+00; + } else { + _a0048 = _x0046*1.57031250E+00; + _TMP12 = sin(_a0048); + _a0050 = _x0046*3.14062500E+00; + _TMP13 = sin(_a0050); + _TMP45 = (_TMP12*_TMP13)/(_x0046*_x0046); + } + if (_fract.y == 0.00000000E+00) { + _TMP51 = 4.93359375E+00; + } else { + _a0054 = _fract.y*1.57031250E+00; + _TMP12 = sin(_a0054); + _a0056 = _fract.y*3.14062500E+00; + _TMP13 = sin(_a0056); + _TMP51 = (_TMP12*_TMP13)/(_fract.y*_fract.y); + } + _x0058 = 1.00000000E+00 - _fract.y; + if (_x0058 == 0.00000000E+00) { + _TMP57 = 4.93359375E+00; + } else { + _a0060 = _x0058*1.57031250E+00; + _TMP12 = sin(_a0060); + _a0062 = _x0058*3.14062500E+00; + _TMP13 = sin(_a0062); + _TMP57 = (_TMP12*_TMP13)/(_x0058*_x0058); + } + _x0064 = 2.00000000E+00 - _fract.y; + if (_x0064 == 0.00000000E+00) { + _TMP63 = 4.93359375E+00; + } else { + _a0066 = _x0064*1.57031250E+00; + _TMP12 = sin(_a0066); + _a0068 = _x0064*3.14062500E+00; + _TMP13 = sin(_a0068); + _TMP63 = (_TMP12*_TMP13)/(_x0064*_x0064); + } + _c0070 = vec2(float(_crd[(4*1 + 0)].x), float(_crd[(4*1 + 0)].y)); + _TMP0 = texture2D(Texture, _c0070); + _pix[(4*1 + 0)] = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0072 = vec2(float(_crd[(4*2 + 0)].x), float(_crd[(4*2 + 0)].y)); + _TMP1 = texture2D(Texture, _c0072); + _pix[(4*2 + 0)] = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0074 = vec2(float(_crd[(4*0 + 1)].x), float(_crd[(4*0 + 1)].y)); + _TMP2 = texture2D(Texture, _c0074); + _pix[(4*0 + 1)] = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0076 = vec2(float(_crd[(4*1 + 1)].x), float(_crd[(4*1 + 1)].y)); + _TMP3 = texture2D(Texture, _c0076); + _pix[(4*1 + 1)] = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0078 = vec2(float(_crd[(4*2 + 1)].x), float(_crd[(4*2 + 1)].y)); + _TMP4 = texture2D(Texture, _c0078); + _pix[(4*2 + 1)] = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0080 = vec2(float(_crd[(4*3 + 1)].x), float(_crd[(4*3 + 1)].y)); + _TMP5 = texture2D(Texture, _c0080); + _pix[(4*3 + 1)] = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0082 = vec2(float(_crd[(4*0 + 2)].x), float(_crd[(4*0 + 2)].y)); + _TMP6 = texture2D(Texture, _c0082); + _pix[(4*0 + 2)] = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0084 = vec2(float(_crd[(4*1 + 2)].x), float(_crd[(4*1 + 2)].y)); + _TMP7 = texture2D(Texture, _c0084); + _pix[(4*1 + 2)] = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0086 = vec2(float(_crd[(4*2 + 2)].x), float(_crd[(4*2 + 2)].y)); + _TMP8 = texture2D(Texture, _c0086); + _pix[(4*2 + 2)] = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0088 = vec2(float(_crd[(4*3 + 2)].x), float(_crd[(4*3 + 2)].y)); + _TMP9 = texture2D(Texture, _c0088); + _pix[(4*3 + 2)] = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0090 = vec2(float(_crd[(4*1 + 3)].x), float(_crd[(4*1 + 3)].y)); + _TMP10 = texture2D(Texture, _c0090); + _pix[(4*1 + 3)] = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0092 = vec2(float(_crd[(4*2 + 3)].x), float(_crd[(4*2 + 3)].y)); + _TMP11 = texture2D(Texture, _c0092); + _pix[(4*2 + 3)] = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _pix[(4*1 + 0)] = vec3(float(((vec3(float(_pix[(4*1 + 0)].x), float(_pix[(4*1 + 0)].y), float(_pix[(4*1 + 0)].z))*_TMP27 + vec3(float(_pix[(4*2 + 0)].x), float(_pix[(4*2 + 0)].y), float(_pix[(4*2 + 0)].z))*_TMP33)*_TMP45).x), float(((vec3(float(_pix[(4*1 + 0)].x), float(_pix[(4*1 + 0)].y), float(_pix[(4*1 + 0)].z))*_TMP27 + vec3(float(_pix[(4*2 + 0)].x), float(_pix[(4*2 + 0)].y), float(_pix[(4*2 + 0)].z))*_TMP33)*_TMP45).y), float(((vec3(float(_pix[(4*1 + 0)].x), float(_pix[(4*1 + 0)].y), float(_pix[(4*1 + 0)].z))*_TMP27 + vec3(float(_pix[(4*2 + 0)].x), float(_pix[(4*2 + 0)].y), float(_pix[(4*2 + 0)].z))*_TMP33)*_TMP45).z)); + _pix[(4*0 + 1)] = vec3(float(((vec3(float(_pix[(4*0 + 1)].x), float(_pix[(4*0 + 1)].y), float(_pix[(4*0 + 1)].z))*_TMP21 + vec3(float(_pix[(4*1 + 1)].x), float(_pix[(4*1 + 1)].y), float(_pix[(4*1 + 1)].z))*_TMP27 + vec3(float(_pix[(4*2 + 1)].x), float(_pix[(4*2 + 1)].y), float(_pix[(4*2 + 1)].z))*_TMP33 + vec3(float(_pix[(4*3 + 1)].x), float(_pix[(4*3 + 1)].y), float(_pix[(4*3 + 1)].z))*_TMP39)*_TMP51).x), float(((vec3(float(_pix[(4*0 + 1)].x), float(_pix[(4*0 + 1)].y), float(_pix[(4*0 + 1)].z))*_TMP21 + vec3(float(_pix[(4*1 + 1)].x), float(_pix[(4*1 + 1)].y), float(_pix[(4*1 + 1)].z))*_TMP27 + vec3(float(_pix[(4*2 + 1)].x), float(_pix[(4*2 + 1)].y), float(_pix[(4*2 + 1)].z))*_TMP33 + vec3(float(_pix[(4*3 + 1)].x), float(_pix[(4*3 + 1)].y), float(_pix[(4*3 + 1)].z))*_TMP39)*_TMP51).y), float(((vec3(float(_pix[(4*0 + 1)].x), float(_pix[(4*0 + 1)].y), float(_pix[(4*0 + 1)].z))*_TMP21 + vec3(float(_pix[(4*1 + 1)].x), float(_pix[(4*1 + 1)].y), float(_pix[(4*1 + 1)].z))*_TMP27 + vec3(float(_pix[(4*2 + 1)].x), float(_pix[(4*2 + 1)].y), float(_pix[(4*2 + 1)].z))*_TMP33 + vec3(float(_pix[(4*3 + 1)].x), float(_pix[(4*3 + 1)].y), float(_pix[(4*3 + 1)].z))*_TMP39)*_TMP51).z)); + _pix[(4*0 + 2)] = vec3(float(((vec3(float(_pix[(4*0 + 2)].x), float(_pix[(4*0 + 2)].y), float(_pix[(4*0 + 2)].z))*_TMP21 + vec3(float(_pix[(4*1 + 2)].x), float(_pix[(4*1 + 2)].y), float(_pix[(4*1 + 2)].z))*_TMP27 + vec3(float(_pix[(4*2 + 2)].x), float(_pix[(4*2 + 2)].y), float(_pix[(4*2 + 2)].z))*_TMP33 + vec3(float(_pix[(4*3 + 2)].x), float(_pix[(4*3 + 2)].y), float(_pix[(4*3 + 2)].z))*_TMP39)*_TMP57).x), float(((vec3(float(_pix[(4*0 + 2)].x), float(_pix[(4*0 + 2)].y), float(_pix[(4*0 + 2)].z))*_TMP21 + vec3(float(_pix[(4*1 + 2)].x), float(_pix[(4*1 + 2)].y), float(_pix[(4*1 + 2)].z))*_TMP27 + vec3(float(_pix[(4*2 + 2)].x), float(_pix[(4*2 + 2)].y), float(_pix[(4*2 + 2)].z))*_TMP33 + vec3(float(_pix[(4*3 + 2)].x), float(_pix[(4*3 + 2)].y), float(_pix[(4*3 + 2)].z))*_TMP39)*_TMP57).y), float(((vec3(float(_pix[(4*0 + 2)].x), float(_pix[(4*0 + 2)].y), float(_pix[(4*0 + 2)].z))*_TMP21 + vec3(float(_pix[(4*1 + 2)].x), float(_pix[(4*1 + 2)].y), float(_pix[(4*1 + 2)].z))*_TMP27 + vec3(float(_pix[(4*2 + 2)].x), float(_pix[(4*2 + 2)].y), float(_pix[(4*2 + 2)].z))*_TMP33 + vec3(float(_pix[(4*3 + 2)].x), float(_pix[(4*3 + 2)].y), float(_pix[(4*3 + 2)].z))*_TMP39)*_TMP57).z)); + _pix[(4*1 + 3)] = vec3(float(((vec3(float(_pix[(4*1 + 3)].x), float(_pix[(4*1 + 3)].y), float(_pix[(4*1 + 3)].z))*_TMP27 + vec3(float(_pix[(4*2 + 3)].x), float(_pix[(4*2 + 3)].y), float(_pix[(4*2 + 3)].z))*_TMP33)*_TMP63).x), float(((vec3(float(_pix[(4*1 + 3)].x), float(_pix[(4*1 + 3)].y), float(_pix[(4*1 + 3)].z))*_TMP27 + vec3(float(_pix[(4*2 + 3)].x), float(_pix[(4*2 + 3)].y), float(_pix[(4*2 + 3)].z))*_TMP33)*_TMP63).y), float(((vec3(float(_pix[(4*1 + 3)].x), float(_pix[(4*1 + 3)].y), float(_pix[(4*1 + 3)].z))*_TMP27 + vec3(float(_pix[(4*2 + 3)].x), float(_pix[(4*2 + 3)].y), float(_pix[(4*2 + 3)].z))*_TMP33)*_TMP63).z)); + _TMP18 = vec3(float((_pix[(4*1 + 0)] + _pix[(4*0 + 1)] + _pix[(4*0 + 2)] + _pix[(4*1 + 3)]).x), float((_pix[(4*1 + 0)] + _pix[(4*0 + 1)] + _pix[(4*0 + 2)] + _pix[(4*1 + 3)]).y), float((_pix[(4*1 + 0)] + _pix[(4*0 + 1)] + _pix[(4*0 + 2)] + _pix[(4*1 + 3)]).z))/((_TMP21 + _TMP27 + _TMP33 + _TMP39)*(_TMP45 + _TMP51 + _TMP57 + _TMP63) - (_TMP21 + _TMP39)*(_TMP45 + _TMP63)); + _OUT._color = vec4(_TMP18.x, _TMP18.y, _TMP18.z, 1.00000000E+00); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Lanczos/Lanczos16.glsl b/ios/Assets/shaders_glsl/Lanczos/Lanczos16.glsl new file mode 100644 index 0000000000..0a4367b5ee --- /dev/null +++ b/ios/Assets/shaders_glsl/Lanczos/Lanczos16.glsl @@ -0,0 +1,328 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0004; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +float _TMP17; +float _TMP16; +input_dummy _IN1; +uniform sampler2D Texture; +float _TMP25; +float _x0026; +float _a0028; +float _a0030; +float _TMP31; +float _a0034; +float _a0036; +float _TMP37; +float _x0038; +float _a0040; +float _a0042; +float _TMP43; +float _x0044; +float _a0046; +float _a0048; +float _TMP49; +float _x0050; +float _a0052; +float _a0054; +float _TMP55; +float _a0058; +float _a0060; +float _TMP61; +float _x0062; +float _a0064; +float _a0066; +float _TMP67; +float _x0068; +float _a0070; +float _a0072; +vec2 _c0074; +vec2 _c0076; +vec2 _c0078; +vec2 _c0080; +vec2 _c0082; +vec2 _c0084; +vec2 _c0086; +vec2 _c0088; +vec2 _c0090; +vec2 _c0092; +vec2 _c0094; +vec2 _c0096; +vec2 _c0098; +vec2 _c0100; +vec2 _c0102; +vec2 _c0104; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _ps; + vec2 _crd[16]; + vec3 _pix[16]; + vec2 _dx; + vec2 _dy; + vec2 _pixcoord; + vec2 _fract; + vec2 _coord0; + output_dummy _OUT; + vec3 _TMP22; + _ps = vec2(9.99000013E-01/TextureSize.x, 9.99000013E-01/TextureSize.y); + _dx = vec2(float(_ps.x), 0.00000000E+00); + _dy = vec2(0.00000000E+00, float(_ps.y)); + _pixcoord = TEX0.xy/_ps; + _fract = fract(_pixcoord); + _coord0 = TEX0.xy - _fract*_ps; + _crd[(4*0 + 0)] = vec2(float((_coord0 - _ps).x), float((_coord0 - _ps).y)); + _crd[(4*1 + 0)] = _crd[(4*0 + 0)] + _dx; + _crd[(4*2 + 0)] = _crd[(4*1 + 0)] + _dx; + _crd[(4*3 + 0)] = _crd[(4*2 + 0)] + _dx; + _crd[(4*0 + 1)] = _crd[(4*0 + 0)] + _dy; + _crd[(4*1 + 1)] = _crd[(4*0 + 1)] + _dx; + _crd[(4*2 + 1)] = _crd[(4*1 + 1)] + _dx; + _crd[(4*3 + 1)] = _crd[(4*2 + 1)] + _dx; + _crd[(4*0 + 2)] = _crd[(4*0 + 1)] + _dy; + _crd[(4*1 + 2)] = _crd[(4*0 + 2)] + _dx; + _crd[(4*2 + 2)] = _crd[(4*1 + 2)] + _dx; + _crd[(4*3 + 2)] = _crd[(4*2 + 2)] + _dx; + _crd[(4*0 + 3)] = _crd[(4*0 + 2)] + _dy; + _crd[(4*1 + 3)] = _crd[(4*0 + 3)] + _dx; + _crd[(4*2 + 3)] = _crd[(4*1 + 3)] + _dx; + _crd[(4*3 + 3)] = _crd[(4*2 + 3)] + _dx; + _x0026 = 1.00000000E+00 + _fract.x; + if (_x0026 == 0.00000000E+00) { + _TMP25 = 4.93359375E+00; + } else { + _a0028 = _x0026*1.57031250E+00; + _TMP16 = sin(_a0028); + _a0030 = _x0026*3.14062500E+00; + _TMP17 = sin(_a0030); + _TMP25 = (_TMP16*_TMP17)/(_x0026*_x0026); + } + if (_fract.x == 0.00000000E+00) { + _TMP31 = 4.93359375E+00; + } else { + _a0034 = _fract.x*1.57031250E+00; + _TMP16 = sin(_a0034); + _a0036 = _fract.x*3.14062500E+00; + _TMP17 = sin(_a0036); + _TMP31 = (_TMP16*_TMP17)/(_fract.x*_fract.x); + } + _x0038 = 1.00000000E+00 - _fract.x; + if (_x0038 == 0.00000000E+00) { + _TMP37 = 4.93359375E+00; + } else { + _a0040 = _x0038*1.57031250E+00; + _TMP16 = sin(_a0040); + _a0042 = _x0038*3.14062500E+00; + _TMP17 = sin(_a0042); + _TMP37 = (_TMP16*_TMP17)/(_x0038*_x0038); + } + _x0044 = 2.00000000E+00 - _fract.x; + if (_x0044 == 0.00000000E+00) { + _TMP43 = 4.93359375E+00; + } else { + _a0046 = _x0044*1.57031250E+00; + _TMP16 = sin(_a0046); + _a0048 = _x0044*3.14062500E+00; + _TMP17 = sin(_a0048); + _TMP43 = (_TMP16*_TMP17)/(_x0044*_x0044); + } + _x0050 = 1.00000000E+00 + _fract.y; + if (_x0050 == 0.00000000E+00) { + _TMP49 = 4.93359375E+00; + } else { + _a0052 = _x0050*1.57031250E+00; + _TMP16 = sin(_a0052); + _a0054 = _x0050*3.14062500E+00; + _TMP17 = sin(_a0054); + _TMP49 = (_TMP16*_TMP17)/(_x0050*_x0050); + } + if (_fract.y == 0.00000000E+00) { + _TMP55 = 4.93359375E+00; + } else { + _a0058 = _fract.y*1.57031250E+00; + _TMP16 = sin(_a0058); + _a0060 = _fract.y*3.14062500E+00; + _TMP17 = sin(_a0060); + _TMP55 = (_TMP16*_TMP17)/(_fract.y*_fract.y); + } + _x0062 = 1.00000000E+00 - _fract.y; + if (_x0062 == 0.00000000E+00) { + _TMP61 = 4.93359375E+00; + } else { + _a0064 = _x0062*1.57031250E+00; + _TMP16 = sin(_a0064); + _a0066 = _x0062*3.14062500E+00; + _TMP17 = sin(_a0066); + _TMP61 = (_TMP16*_TMP17)/(_x0062*_x0062); + } + _x0068 = 2.00000000E+00 - _fract.y; + if (_x0068 == 0.00000000E+00) { + _TMP67 = 4.93359375E+00; + } else { + _a0070 = _x0068*1.57031250E+00; + _TMP16 = sin(_a0070); + _a0072 = _x0068*3.14062500E+00; + _TMP17 = sin(_a0072); + _TMP67 = (_TMP16*_TMP17)/(_x0068*_x0068); + } + _c0074 = vec2(float(_crd[(4*0 + 0)].x), float(_crd[(4*0 + 0)].y)); + _TMP0 = texture2D(Texture, _c0074); + _pix[(4*0 + 0)] = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0076 = vec2(float(_crd[(4*1 + 0)].x), float(_crd[(4*1 + 0)].y)); + _TMP1 = texture2D(Texture, _c0076); + _pix[(4*1 + 0)] = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0078 = vec2(float(_crd[(4*2 + 0)].x), float(_crd[(4*2 + 0)].y)); + _TMP2 = texture2D(Texture, _c0078); + _pix[(4*2 + 0)] = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0080 = vec2(float(_crd[(4*3 + 0)].x), float(_crd[(4*3 + 0)].y)); + _TMP3 = texture2D(Texture, _c0080); + _pix[(4*3 + 0)] = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0082 = vec2(float(_crd[(4*0 + 1)].x), float(_crd[(4*0 + 1)].y)); + _TMP4 = texture2D(Texture, _c0082); + _pix[(4*0 + 1)] = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0084 = vec2(float(_crd[(4*1 + 1)].x), float(_crd[(4*1 + 1)].y)); + _TMP5 = texture2D(Texture, _c0084); + _pix[(4*1 + 1)] = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0086 = vec2(float(_crd[(4*2 + 1)].x), float(_crd[(4*2 + 1)].y)); + _TMP6 = texture2D(Texture, _c0086); + _pix[(4*2 + 1)] = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0088 = vec2(float(_crd[(4*3 + 1)].x), float(_crd[(4*3 + 1)].y)); + _TMP7 = texture2D(Texture, _c0088); + _pix[(4*3 + 1)] = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0090 = vec2(float(_crd[(4*0 + 2)].x), float(_crd[(4*0 + 2)].y)); + _TMP8 = texture2D(Texture, _c0090); + _pix[(4*0 + 2)] = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0092 = vec2(float(_crd[(4*1 + 2)].x), float(_crd[(4*1 + 2)].y)); + _TMP9 = texture2D(Texture, _c0092); + _pix[(4*1 + 2)] = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0094 = vec2(float(_crd[(4*2 + 2)].x), float(_crd[(4*2 + 2)].y)); + _TMP10 = texture2D(Texture, _c0094); + _pix[(4*2 + 2)] = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0096 = vec2(float(_crd[(4*3 + 2)].x), float(_crd[(4*3 + 2)].y)); + _TMP11 = texture2D(Texture, _c0096); + _pix[(4*3 + 2)] = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0098 = vec2(float(_crd[(4*0 + 3)].x), float(_crd[(4*0 + 3)].y)); + _TMP12 = texture2D(Texture, _c0098); + _pix[(4*0 + 3)] = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0100 = vec2(float(_crd[(4*1 + 3)].x), float(_crd[(4*1 + 3)].y)); + _TMP13 = texture2D(Texture, _c0100); + _pix[(4*1 + 3)] = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0102 = vec2(float(_crd[(4*2 + 3)].x), float(_crd[(4*2 + 3)].y)); + _TMP14 = texture2D(Texture, _c0102); + _pix[(4*2 + 3)] = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0104 = vec2(float(_crd[(4*3 + 3)].x), float(_crd[(4*3 + 3)].y)); + _TMP15 = texture2D(Texture, _c0104); + _pix[(4*3 + 3)] = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _pix[(4*0 + 0)] = vec3(float((((vec3(float((-_pix[(4*0 + 0)]).x), float((-_pix[(4*0 + 0)]).y), float((-_pix[(4*0 + 0)]).z))*_TMP25 + vec3(float(_pix[(4*1 + 0)].x), float(_pix[(4*1 + 0)].y), float(_pix[(4*1 + 0)].z))*_TMP31 + vec3(float(_pix[(4*2 + 0)].x), float(_pix[(4*2 + 0)].y), float(_pix[(4*2 + 0)].z))*_TMP37) - vec3(float(_pix[(4*3 + 0)].x), float(_pix[(4*3 + 0)].y), float(_pix[(4*3 + 0)].z))*_TMP43)*_TMP49).x), float((((vec3(float((-_pix[(4*0 + 0)]).x), float((-_pix[(4*0 + 0)]).y), float((-_pix[(4*0 + 0)]).z))*_TMP25 + vec3(float(_pix[(4*1 + 0)].x), float(_pix[(4*1 + 0)].y), float(_pix[(4*1 + 0)].z))*_TMP31 + vec3(float(_pix[(4*2 + 0)].x), float(_pix[(4*2 + 0)].y), float(_pix[(4*2 + 0)].z))*_TMP37) - vec3(float(_pix[(4*3 + 0)].x), float(_pix[(4*3 + 0)].y), float(_pix[(4*3 + 0)].z))*_TMP43)*_TMP49).y), float((((vec3(float((-_pix[(4*0 + 0)]).x), float((-_pix[(4*0 + 0)]).y), float((-_pix[(4*0 + 0)]).z))*_TMP25 + vec3(float(_pix[(4*1 + 0)].x), float(_pix[(4*1 + 0)].y), float(_pix[(4*1 + 0)].z))*_TMP31 + vec3(float(_pix[(4*2 + 0)].x), float(_pix[(4*2 + 0)].y), float(_pix[(4*2 + 0)].z))*_TMP37) - vec3(float(_pix[(4*3 + 0)].x), float(_pix[(4*3 + 0)].y), float(_pix[(4*3 + 0)].z))*_TMP43)*_TMP49).z)); + _pix[(4*0 + 1)] = vec3(float(((vec3(float(_pix[(4*0 + 1)].x), float(_pix[(4*0 + 1)].y), float(_pix[(4*0 + 1)].z))*_TMP25 + vec3(float(_pix[(4*1 + 1)].x), float(_pix[(4*1 + 1)].y), float(_pix[(4*1 + 1)].z))*_TMP31 + vec3(float(_pix[(4*2 + 1)].x), float(_pix[(4*2 + 1)].y), float(_pix[(4*2 + 1)].z))*_TMP37 + vec3(float(_pix[(4*3 + 1)].x), float(_pix[(4*3 + 1)].y), float(_pix[(4*3 + 1)].z))*_TMP43)*_TMP55).x), float(((vec3(float(_pix[(4*0 + 1)].x), float(_pix[(4*0 + 1)].y), float(_pix[(4*0 + 1)].z))*_TMP25 + vec3(float(_pix[(4*1 + 1)].x), float(_pix[(4*1 + 1)].y), float(_pix[(4*1 + 1)].z))*_TMP31 + vec3(float(_pix[(4*2 + 1)].x), float(_pix[(4*2 + 1)].y), float(_pix[(4*2 + 1)].z))*_TMP37 + vec3(float(_pix[(4*3 + 1)].x), float(_pix[(4*3 + 1)].y), float(_pix[(4*3 + 1)].z))*_TMP43)*_TMP55).y), float(((vec3(float(_pix[(4*0 + 1)].x), float(_pix[(4*0 + 1)].y), float(_pix[(4*0 + 1)].z))*_TMP25 + vec3(float(_pix[(4*1 + 1)].x), float(_pix[(4*1 + 1)].y), float(_pix[(4*1 + 1)].z))*_TMP31 + vec3(float(_pix[(4*2 + 1)].x), float(_pix[(4*2 + 1)].y), float(_pix[(4*2 + 1)].z))*_TMP37 + vec3(float(_pix[(4*3 + 1)].x), float(_pix[(4*3 + 1)].y), float(_pix[(4*3 + 1)].z))*_TMP43)*_TMP55).z)); + _pix[(4*0 + 2)] = vec3(float(((vec3(float(_pix[(4*0 + 2)].x), float(_pix[(4*0 + 2)].y), float(_pix[(4*0 + 2)].z))*_TMP25 + vec3(float(_pix[(4*1 + 2)].x), float(_pix[(4*1 + 2)].y), float(_pix[(4*1 + 2)].z))*_TMP31 + vec3(float(_pix[(4*2 + 2)].x), float(_pix[(4*2 + 2)].y), float(_pix[(4*2 + 2)].z))*_TMP37 + vec3(float(_pix[(4*3 + 2)].x), float(_pix[(4*3 + 2)].y), float(_pix[(4*3 + 2)].z))*_TMP43)*_TMP61).x), float(((vec3(float(_pix[(4*0 + 2)].x), float(_pix[(4*0 + 2)].y), float(_pix[(4*0 + 2)].z))*_TMP25 + vec3(float(_pix[(4*1 + 2)].x), float(_pix[(4*1 + 2)].y), float(_pix[(4*1 + 2)].z))*_TMP31 + vec3(float(_pix[(4*2 + 2)].x), float(_pix[(4*2 + 2)].y), float(_pix[(4*2 + 2)].z))*_TMP37 + vec3(float(_pix[(4*3 + 2)].x), float(_pix[(4*3 + 2)].y), float(_pix[(4*3 + 2)].z))*_TMP43)*_TMP61).y), float(((vec3(float(_pix[(4*0 + 2)].x), float(_pix[(4*0 + 2)].y), float(_pix[(4*0 + 2)].z))*_TMP25 + vec3(float(_pix[(4*1 + 2)].x), float(_pix[(4*1 + 2)].y), float(_pix[(4*1 + 2)].z))*_TMP31 + vec3(float(_pix[(4*2 + 2)].x), float(_pix[(4*2 + 2)].y), float(_pix[(4*2 + 2)].z))*_TMP37 + vec3(float(_pix[(4*3 + 2)].x), float(_pix[(4*3 + 2)].y), float(_pix[(4*3 + 2)].z))*_TMP43)*_TMP61).z)); + _pix[(4*0 + 3)] = vec3(float((((vec3(float((-_pix[(4*0 + 3)]).x), float((-_pix[(4*0 + 3)]).y), float((-_pix[(4*0 + 3)]).z))*_TMP25 + vec3(float(_pix[(4*1 + 3)].x), float(_pix[(4*1 + 3)].y), float(_pix[(4*1 + 3)].z))*_TMP31 + vec3(float(_pix[(4*2 + 3)].x), float(_pix[(4*2 + 3)].y), float(_pix[(4*2 + 3)].z))*_TMP37) - vec3(float(_pix[(4*3 + 3)].x), float(_pix[(4*3 + 3)].y), float(_pix[(4*3 + 3)].z))*_TMP43)*_TMP67).x), float((((vec3(float((-_pix[(4*0 + 3)]).x), float((-_pix[(4*0 + 3)]).y), float((-_pix[(4*0 + 3)]).z))*_TMP25 + vec3(float(_pix[(4*1 + 3)].x), float(_pix[(4*1 + 3)].y), float(_pix[(4*1 + 3)].z))*_TMP31 + vec3(float(_pix[(4*2 + 3)].x), float(_pix[(4*2 + 3)].y), float(_pix[(4*2 + 3)].z))*_TMP37) - vec3(float(_pix[(4*3 + 3)].x), float(_pix[(4*3 + 3)].y), float(_pix[(4*3 + 3)].z))*_TMP43)*_TMP67).y), float((((vec3(float((-_pix[(4*0 + 3)]).x), float((-_pix[(4*0 + 3)]).y), float((-_pix[(4*0 + 3)]).z))*_TMP25 + vec3(float(_pix[(4*1 + 3)].x), float(_pix[(4*1 + 3)].y), float(_pix[(4*1 + 3)].z))*_TMP31 + vec3(float(_pix[(4*2 + 3)].x), float(_pix[(4*2 + 3)].y), float(_pix[(4*2 + 3)].z))*_TMP37) - vec3(float(_pix[(4*3 + 3)].x), float(_pix[(4*3 + 3)].y), float(_pix[(4*3 + 3)].z))*_TMP43)*_TMP67).z)); + _TMP22 = vec3(float((_pix[(4*0 + 0)] + _pix[(4*0 + 1)] + _pix[(4*0 + 2)] + _pix[(4*0 + 3)]).x), float((_pix[(4*0 + 0)] + _pix[(4*0 + 1)] + _pix[(4*0 + 2)] + _pix[(4*0 + 3)]).y), float((_pix[(4*0 + 0)] + _pix[(4*0 + 1)] + _pix[(4*0 + 2)] + _pix[(4*0 + 3)]).z))/((_TMP25 + _TMP31 + _TMP37 + _TMP43)*(_TMP49 + _TMP55 + _TMP61 + _TMP67) - 2.00000000E+00*(_TMP25 + _TMP43)*(_TMP49 + _TMP67)); + _OUT._color = vec4(_TMP22.x, _TMP22.y, _TMP22.z, 1.00000000E+00); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Lanczos/Lanczos4.glsl b/ios/Assets/shaders_glsl/Lanczos/Lanczos4.glsl new file mode 100644 index 0000000000..af8d0c793a --- /dev/null +++ b/ios/Assets/shaders_glsl/Lanczos/Lanczos4.glsl @@ -0,0 +1,263 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0004; +vec4 _v0004; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _v0004 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _r0004.x = dot(MVPMatrix_[0], _v0004); + _r0004.y = dot(MVPMatrix_[1], _v0004); + _r0004.z = dot(MVPMatrix_[2], _v0004); + _r0004.w = dot(MVPMatrix_[3], _v0004); + _oPosition1 = vec4(float(_r0004.x), float(_r0004.y), float(_r0004.z), float(_r0004.w)); + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = vec4(float(_oPosition1.x), float(_oPosition1.y), float(_oPosition1.z), float(_oPosition1.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec3 _TMP11; +vec3 _TMP10; +vec3 _TMP9; +vec4 _TMP17; +float _TMP8; +vec4 _TMP7; +vec4 _TMP6; +float _TMP16; +float _TMP15; +float _TMP14; +float _TMP13; +vec4 _TMP5; +input_dummy _IN1; +uniform sampler2D Texture; +vec2 _x0025; +vec4 _ret0027; +vec4 _a0029; +vec4 _TMP30; +vec4 _x0045; +vec4 _ret0057; +vec4 _a0059; +vec4 _TMP60; +vec4 _x0075; +vec2 _c0091; +vec2 _c0095; +vec2 _c0099; +vec2 _c0103; +vec3 _r0105; +float _ypos0107; +vec2 _c0111; +vec2 _c0115; +vec2 _c0119; +vec2 _c0123; +vec3 _r0125; +float _ypos0127; +vec2 _c0131; +vec2 _c0135; +vec2 _c0139; +vec2 _c0143; +vec3 _r0145; +float _ypos0147; +vec2 _c0151; +vec2 _c0155; +vec2 _c0159; +vec2 _c0163; +vec3 _r0165; +vec3 _r0167; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _stepxy; + vec2 _pos; + vec2 _f; + vec2 _xystart; + vec4 _xpos2; + vec4 _linetaps1; + vec4 _columntaps; + output_dummy _OUT; + _stepxy = vec2(float((1.00000000E+00/TextureSize.xy).x), float((1.00000000E+00/TextureSize.xy).y)); + _pos = vec2(float(TEX0.x), float(TEX0.y)) + _stepxy*5.00000000E-01; + _x0025 = _pos/_stepxy; + _f = fract(_x0025); + _xystart = (-1.50000000E+00 - _f)*_stepxy + _pos; + _xpos2 = vec4(_xystart.x, _xystart.x + _stepxy.x, _xystart.x + _stepxy.x*2.00000000E+00, _xystart.x + _stepxy.x*3.00000000E+00); + _a0029 = 3.14159274E+00*vec4(1.00000000E+00 + _f.x, _f.x, 1.00000000E+00 - _f.x, 2.00000000E+00 - _f.x); + _TMP5 = abs(_a0029); + _TMP30 = max(_TMP5, vec4( 9.99999975E-06, 9.99999975E-06, 9.99999975E-06, 9.99999975E-06)); + _TMP13 = sin(_TMP30.x); + _TMP14 = sin(_TMP30.y); + _TMP15 = sin(_TMP30.z); + _TMP16 = sin(_TMP30.w); + _TMP6 = vec4(_TMP13, _TMP14, _TMP15, _TMP16); + _x0045 = _TMP30/2.00000000E+00; + _TMP13 = sin(_x0045.x); + _TMP14 = sin(_x0045.y); + _TMP15 = sin(_x0045.z); + _TMP16 = sin(_x0045.w); + _TMP7 = vec4(_TMP13, _TMP14, _TMP15, _TMP16); + _ret0027 = (_TMP6*_TMP7)/(_TMP30*_TMP30); + _TMP8 = dot(_ret0027, vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _linetaps1 = _ret0027/_TMP8; + _a0059 = 3.14159274E+00*vec4(1.00000000E+00 + _f.y, _f.y, 1.00000000E+00 - _f.y, 2.00000000E+00 - _f.y); + _TMP5 = abs(_a0059); + _TMP60 = max(_TMP5, vec4( 9.99999975E-06, 9.99999975E-06, 9.99999975E-06, 9.99999975E-06)); + _TMP13 = sin(_TMP60.x); + _TMP14 = sin(_TMP60.y); + _TMP15 = sin(_TMP60.z); + _TMP16 = sin(_TMP60.w); + _TMP6 = vec4(_TMP13, _TMP14, _TMP15, _TMP16); + _x0075 = _TMP60/2.00000000E+00; + _TMP13 = sin(_x0075.x); + _TMP14 = sin(_x0075.y); + _TMP15 = sin(_x0075.z); + _TMP16 = sin(_x0075.w); + _TMP7 = vec4(_TMP13, _TMP14, _TMP15, _TMP16); + _ret0057 = (_TMP6*_TMP7)/(_TMP60*_TMP60); + _TMP8 = dot(_ret0057, vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _columntaps = _ret0057/_TMP8; + _c0091 = vec2(_xpos2.x, _xystart.y); + _TMP17 = texture2D(Texture, _c0091); + _TMP9 = _TMP17.xyz; + _c0095 = vec2(_xpos2.y, _xystart.y); + _TMP17 = texture2D(Texture, _c0095); + _TMP10 = _TMP17.xyz; + _c0099 = vec2(_xpos2.z, _xystart.y); + _TMP17 = texture2D(Texture, _c0099); + _TMP11 = _TMP17.xyz; + _c0103 = vec2(_xpos2.w, _xystart.y); + _TMP17 = texture2D(Texture, _c0103); + _r0105 = _linetaps1.x*_TMP9; + _r0105 = _r0105 + _linetaps1.y*_TMP10; + _r0105 = _r0105 + _linetaps1.z*_TMP11; + _r0105 = _r0105 + _linetaps1.w*_TMP17.xyz; + _ypos0107 = _xystart.y + _stepxy.y; + _c0111 = vec2(_xpos2.x, _ypos0107); + _TMP17 = texture2D(Texture, _c0111); + _TMP9 = _TMP17.xyz; + _c0115 = vec2(_xpos2.y, _ypos0107); + _TMP17 = texture2D(Texture, _c0115); + _TMP10 = _TMP17.xyz; + _c0119 = vec2(_xpos2.z, _ypos0107); + _TMP17 = texture2D(Texture, _c0119); + _TMP11 = _TMP17.xyz; + _c0123 = vec2(_xpos2.w, _ypos0107); + _TMP17 = texture2D(Texture, _c0123); + _r0125 = _linetaps1.x*_TMP9; + _r0125 = _r0125 + _linetaps1.y*_TMP10; + _r0125 = _r0125 + _linetaps1.z*_TMP11; + _r0125 = _r0125 + _linetaps1.w*_TMP17.xyz; + _ypos0127 = _xystart.y + _stepxy.y*2.00000000E+00; + _c0131 = vec2(_xpos2.x, _ypos0127); + _TMP17 = texture2D(Texture, _c0131); + _TMP9 = _TMP17.xyz; + _c0135 = vec2(_xpos2.y, _ypos0127); + _TMP17 = texture2D(Texture, _c0135); + _TMP10 = _TMP17.xyz; + _c0139 = vec2(_xpos2.z, _ypos0127); + _TMP17 = texture2D(Texture, _c0139); + _TMP11 = _TMP17.xyz; + _c0143 = vec2(_xpos2.w, _ypos0127); + _TMP17 = texture2D(Texture, _c0143); + _r0145 = _linetaps1.x*_TMP9; + _r0145 = _r0145 + _linetaps1.y*_TMP10; + _r0145 = _r0145 + _linetaps1.z*_TMP11; + _r0145 = _r0145 + _linetaps1.w*_TMP17.xyz; + _ypos0147 = _xystart.y + _stepxy.y*3.00000000E+00; + _c0151 = vec2(_xpos2.x, _ypos0147); + _TMP17 = texture2D(Texture, _c0151); + _TMP9 = _TMP17.xyz; + _c0155 = vec2(_xpos2.y, _ypos0147); + _TMP17 = texture2D(Texture, _c0155); + _TMP10 = _TMP17.xyz; + _c0159 = vec2(_xpos2.z, _ypos0147); + _TMP17 = texture2D(Texture, _c0159); + _TMP11 = _TMP17.xyz; + _c0163 = vec2(_xpos2.w, _ypos0147); + _TMP17 = texture2D(Texture, _c0163); + _r0165 = _linetaps1.x*_TMP9; + _r0165 = _r0165 + _linetaps1.y*_TMP10; + _r0165 = _r0165 + _linetaps1.z*_TMP11; + _r0165 = _r0165 + _linetaps1.w*_TMP17.xyz; + _r0167 = _columntaps.x*_r0105; + _r0167 = _r0167 + _columntaps.y*_r0125; + _r0167 = _r0167 + _columntaps.z*_r0145; + _r0167 = _r0167 + _columntaps.w*_r0165; + _OUT._color = vec4(float(_r0167.x), float(_r0167.y), float(_r0167.z), 1.00000000E+00); + gl_FragColor = vec4(float(_OUT._color.x), float(_OUT._color.y), float(_OUT._color.z), float(_OUT._color.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Lanczos/Lanczos6.glsl b/ios/Assets/shaders_glsl/Lanczos/Lanczos6.glsl new file mode 100644 index 0000000000..2d0e6e0ba1 --- /dev/null +++ b/ios/Assets/shaders_glsl/Lanczos/Lanczos6.glsl @@ -0,0 +1,384 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0004; +vec4 _v0004; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _v0004 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _r0004.x = dot(MVPMatrix_[0], _v0004); + _r0004.y = dot(MVPMatrix_[1], _v0004); + _r0004.z = dot(MVPMatrix_[2], _v0004); + _r0004.w = dot(MVPMatrix_[3], _v0004); + _oPosition1 = vec4(float(_r0004.x), float(_r0004.y), float(_r0004.z), float(_r0004.w)); + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = vec4(float(_oPosition1.x), float(_oPosition1.y), float(_oPosition1.z), float(_oPosition1.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec3 _TMP9; +vec3 _TMP8; +vec3 _TMP7; +vec3 _TMP6; +vec3 _TMP5; +vec3 _TMP4; +vec3 _TMP17; +vec3 _TMP16; +vec3 _TMP15; +vec3 _TMP14; +vec3 _TMP13; +vec4 _TMP22; +float _TMP3; +float _TMP2; +float _TMP1; +float _TMP0; +vec3 _TMP12; +vec3 _TMP11; +float _TMP21; +float _TMP20; +float _TMP19; +vec3 _TMP10; +input_dummy _IN1; +uniform sampler2D Texture; +vec2 _x0028; +float _x0030; +vec3 _a0032; +vec3 _TMP33; +vec3 _x0046; +float _x0054; +vec3 _a0056; +vec3 _TMP57; +vec3 _x0070; +float _x0078; +vec3 _a0080; +vec3 _TMP81; +vec3 _x0094; +float _x0102; +vec3 _a0104; +vec3 _TMP105; +vec3 _x0118; +vec2 _c0138; +vec2 _c0142; +vec2 _c0146; +vec2 _c0150; +vec2 _c0154; +vec2 _c0158; +float _ypos0160; +vec2 _c0164; +vec2 _c0168; +vec2 _c0172; +vec2 _c0176; +vec2 _c0180; +vec2 _c0184; +float _ypos0186; +vec2 _c0190; +vec2 _c0194; +vec2 _c0198; +vec2 _c0202; +vec2 _c0206; +vec2 _c0210; +float _ypos0212; +vec2 _c0216; +vec2 _c0220; +vec2 _c0224; +vec2 _c0228; +vec2 _c0232; +vec2 _c0236; +float _ypos0238; +vec2 _c0242; +vec2 _c0246; +vec2 _c0250; +vec2 _c0254; +vec2 _c0258; +vec2 _c0262; +float _ypos0264; +vec2 _c0268; +vec2 _c0272; +vec2 _c0276; +vec2 _c0280; +vec2 _c0284; +vec2 _c0288; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _stepxy; + vec2 _pos; + vec2 _f; + vec3 _linetaps11; + vec3 _linetaps21; + vec3 _columntaps1; + vec3 _columntaps2; + float _suml; + float _sumc; + vec2 _xystart; + vec3 _xpos11; + vec3 _xpos21; + output_dummy _OUT; + vec3 _TMP26; + _stepxy = vec2(float((1.00000000E+00/TextureSize.xy).x), float((1.00000000E+00/TextureSize.xy).y)); + _pos = vec2(float(TEX0.x), float(TEX0.y)) + _stepxy*5.00000000E-01; + _x0028 = _pos/_stepxy; + _f = fract(_x0028); + _x0030 = 5.00000000E-01 - _f.x*5.00000000E-01; + _a0032 = 6.28318548E+00*vec3(_x0030 - 1.50000000E+00, _x0030 - 5.00000000E-01, _x0030 + 5.00000000E-01); + _TMP10 = abs(_a0032); + _TMP33 = max(_TMP10, vec3( 9.99999975E-06, 9.99999975E-06, 9.99999975E-06)); + _TMP19 = sin(_TMP33.x); + _TMP20 = sin(_TMP33.y); + _TMP21 = sin(_TMP33.z); + _TMP11 = vec3(_TMP19, _TMP20, _TMP21); + _x0046 = _TMP33/3.00000000E+00; + _TMP19 = sin(_x0046.x); + _TMP20 = sin(_x0046.y); + _TMP21 = sin(_x0046.z); + _TMP12 = vec3(_TMP19, _TMP20, _TMP21); + _linetaps11 = (_TMP11*_TMP12)/(_TMP33*_TMP33); + _x0054 = 1.00000000E+00 - _f.x*5.00000000E-01; + _a0056 = 6.28318548E+00*vec3(_x0054 - 1.50000000E+00, _x0054 - 5.00000000E-01, _x0054 + 5.00000000E-01); + _TMP10 = abs(_a0056); + _TMP57 = max(_TMP10, vec3( 9.99999975E-06, 9.99999975E-06, 9.99999975E-06)); + _TMP19 = sin(_TMP57.x); + _TMP20 = sin(_TMP57.y); + _TMP21 = sin(_TMP57.z); + _TMP11 = vec3(_TMP19, _TMP20, _TMP21); + _x0070 = _TMP57/3.00000000E+00; + _TMP19 = sin(_x0070.x); + _TMP20 = sin(_x0070.y); + _TMP21 = sin(_x0070.z); + _TMP12 = vec3(_TMP19, _TMP20, _TMP21); + _linetaps21 = (_TMP11*_TMP12)/(_TMP57*_TMP57); + _x0078 = 5.00000000E-01 - _f.y*5.00000000E-01; + _a0080 = 6.28318548E+00*vec3(_x0078 - 1.50000000E+00, _x0078 - 5.00000000E-01, _x0078 + 5.00000000E-01); + _TMP10 = abs(_a0080); + _TMP81 = max(_TMP10, vec3( 9.99999975E-06, 9.99999975E-06, 9.99999975E-06)); + _TMP19 = sin(_TMP81.x); + _TMP20 = sin(_TMP81.y); + _TMP21 = sin(_TMP81.z); + _TMP11 = vec3(_TMP19, _TMP20, _TMP21); + _x0094 = _TMP81/3.00000000E+00; + _TMP19 = sin(_x0094.x); + _TMP20 = sin(_x0094.y); + _TMP21 = sin(_x0094.z); + _TMP12 = vec3(_TMP19, _TMP20, _TMP21); + _columntaps1 = (_TMP11*_TMP12)/(_TMP81*_TMP81); + _x0102 = 1.00000000E+00 - _f.y*5.00000000E-01; + _a0104 = 6.28318548E+00*vec3(_x0102 - 1.50000000E+00, _x0102 - 5.00000000E-01, _x0102 + 5.00000000E-01); + _TMP10 = abs(_a0104); + _TMP105 = max(_TMP10, vec3( 9.99999975E-06, 9.99999975E-06, 9.99999975E-06)); + _TMP19 = sin(_TMP105.x); + _TMP20 = sin(_TMP105.y); + _TMP21 = sin(_TMP105.z); + _TMP11 = vec3(_TMP19, _TMP20, _TMP21); + _x0118 = _TMP105/3.00000000E+00; + _TMP19 = sin(_x0118.x); + _TMP20 = sin(_x0118.y); + _TMP21 = sin(_x0118.z); + _TMP12 = vec3(_TMP19, _TMP20, _TMP21); + _columntaps2 = (_TMP11*_TMP12)/(_TMP105*_TMP105); + _TMP0 = dot(_linetaps11, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP1 = dot(_linetaps21, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _suml = _TMP0 + _TMP1; + _TMP2 = dot(_columntaps1, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP3 = dot(_columntaps2, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _sumc = _TMP2 + _TMP3; + _linetaps11 = _linetaps11/_suml; + _linetaps21 = _linetaps21/_suml; + _columntaps1 = _columntaps1/_sumc; + _columntaps2 = _columntaps2/_sumc; + _xystart = (-2.50000000E+00 - _f)*_stepxy + _pos; + _xpos11 = vec3(_xystart.x, _xystart.x + _stepxy.x, _xystart.x + _stepxy.x*2.00000000E+00); + _xpos21 = vec3(_xystart.x + _stepxy.x*3.00000000E+00, _xystart.x + _stepxy.x*4.00000000E+00, _xystart.x + _stepxy.x*5.00000000E+00); + _c0138 = vec2(_xpos11.x, _xystart.y); + _TMP22 = texture2D(Texture, _c0138); + _TMP13 = _TMP22.xyz; + _c0142 = vec2(_xpos11.y, _xystart.y); + _TMP22 = texture2D(Texture, _c0142); + _TMP14 = _TMP22.xyz; + _c0146 = vec2(_xpos11.z, _xystart.y); + _TMP22 = texture2D(Texture, _c0146); + _TMP15 = _TMP22.xyz; + _c0150 = vec2(_xpos21.x, _xystart.y); + _TMP22 = texture2D(Texture, _c0150); + _TMP16 = _TMP22.xyz; + _c0154 = vec2(_xpos21.y, _xystart.y); + _TMP22 = texture2D(Texture, _c0154); + _TMP17 = _TMP22.xyz; + _c0158 = vec2(_xpos21.z, _xystart.y); + _TMP22 = texture2D(Texture, _c0158); + _TMP4 = _TMP13*_linetaps11.x + _TMP14*_linetaps21.x + _TMP15*_linetaps11.y + _TMP16*_linetaps21.y + _TMP17*_linetaps11.z + _TMP22.xyz*_linetaps21.z; + _ypos0160 = _xystart.y + _stepxy.y; + _c0164 = vec2(_xpos11.x, _ypos0160); + _TMP22 = texture2D(Texture, _c0164); + _TMP13 = _TMP22.xyz; + _c0168 = vec2(_xpos11.y, _ypos0160); + _TMP22 = texture2D(Texture, _c0168); + _TMP14 = _TMP22.xyz; + _c0172 = vec2(_xpos11.z, _ypos0160); + _TMP22 = texture2D(Texture, _c0172); + _TMP15 = _TMP22.xyz; + _c0176 = vec2(_xpos21.x, _ypos0160); + _TMP22 = texture2D(Texture, _c0176); + _TMP16 = _TMP22.xyz; + _c0180 = vec2(_xpos21.y, _ypos0160); + _TMP22 = texture2D(Texture, _c0180); + _TMP17 = _TMP22.xyz; + _c0184 = vec2(_xpos21.z, _ypos0160); + _TMP22 = texture2D(Texture, _c0184); + _TMP5 = _TMP13*_linetaps11.x + _TMP14*_linetaps21.x + _TMP15*_linetaps11.y + _TMP16*_linetaps21.y + _TMP17*_linetaps11.z + _TMP22.xyz*_linetaps21.z; + _ypos0186 = _xystart.y + _stepxy.y*2.00000000E+00; + _c0190 = vec2(_xpos11.x, _ypos0186); + _TMP22 = texture2D(Texture, _c0190); + _TMP13 = _TMP22.xyz; + _c0194 = vec2(_xpos11.y, _ypos0186); + _TMP22 = texture2D(Texture, _c0194); + _TMP14 = _TMP22.xyz; + _c0198 = vec2(_xpos11.z, _ypos0186); + _TMP22 = texture2D(Texture, _c0198); + _TMP15 = _TMP22.xyz; + _c0202 = vec2(_xpos21.x, _ypos0186); + _TMP22 = texture2D(Texture, _c0202); + _TMP16 = _TMP22.xyz; + _c0206 = vec2(_xpos21.y, _ypos0186); + _TMP22 = texture2D(Texture, _c0206); + _TMP17 = _TMP22.xyz; + _c0210 = vec2(_xpos21.z, _ypos0186); + _TMP22 = texture2D(Texture, _c0210); + _TMP6 = _TMP13*_linetaps11.x + _TMP14*_linetaps21.x + _TMP15*_linetaps11.y + _TMP16*_linetaps21.y + _TMP17*_linetaps11.z + _TMP22.xyz*_linetaps21.z; + _ypos0212 = _xystart.y + _stepxy.y*3.00000000E+00; + _c0216 = vec2(_xpos11.x, _ypos0212); + _TMP22 = texture2D(Texture, _c0216); + _TMP13 = _TMP22.xyz; + _c0220 = vec2(_xpos11.y, _ypos0212); + _TMP22 = texture2D(Texture, _c0220); + _TMP14 = _TMP22.xyz; + _c0224 = vec2(_xpos11.z, _ypos0212); + _TMP22 = texture2D(Texture, _c0224); + _TMP15 = _TMP22.xyz; + _c0228 = vec2(_xpos21.x, _ypos0212); + _TMP22 = texture2D(Texture, _c0228); + _TMP16 = _TMP22.xyz; + _c0232 = vec2(_xpos21.y, _ypos0212); + _TMP22 = texture2D(Texture, _c0232); + _TMP17 = _TMP22.xyz; + _c0236 = vec2(_xpos21.z, _ypos0212); + _TMP22 = texture2D(Texture, _c0236); + _TMP7 = _TMP13*_linetaps11.x + _TMP14*_linetaps21.x + _TMP15*_linetaps11.y + _TMP16*_linetaps21.y + _TMP17*_linetaps11.z + _TMP22.xyz*_linetaps21.z; + _ypos0238 = _xystart.y + _stepxy.y*4.00000000E+00; + _c0242 = vec2(_xpos11.x, _ypos0238); + _TMP22 = texture2D(Texture, _c0242); + _TMP13 = _TMP22.xyz; + _c0246 = vec2(_xpos11.y, _ypos0238); + _TMP22 = texture2D(Texture, _c0246); + _TMP14 = _TMP22.xyz; + _c0250 = vec2(_xpos11.z, _ypos0238); + _TMP22 = texture2D(Texture, _c0250); + _TMP15 = _TMP22.xyz; + _c0254 = vec2(_xpos21.x, _ypos0238); + _TMP22 = texture2D(Texture, _c0254); + _TMP16 = _TMP22.xyz; + _c0258 = vec2(_xpos21.y, _ypos0238); + _TMP22 = texture2D(Texture, _c0258); + _TMP17 = _TMP22.xyz; + _c0262 = vec2(_xpos21.z, _ypos0238); + _TMP22 = texture2D(Texture, _c0262); + _TMP8 = _TMP13*_linetaps11.x + _TMP14*_linetaps21.x + _TMP15*_linetaps11.y + _TMP16*_linetaps21.y + _TMP17*_linetaps11.z + _TMP22.xyz*_linetaps21.z; + _ypos0264 = _xystart.y + _stepxy.y*5.00000000E+00; + _c0268 = vec2(_xpos11.x, _ypos0264); + _TMP22 = texture2D(Texture, _c0268); + _TMP13 = _TMP22.xyz; + _c0272 = vec2(_xpos11.y, _ypos0264); + _TMP22 = texture2D(Texture, _c0272); + _TMP14 = _TMP22.xyz; + _c0276 = vec2(_xpos11.z, _ypos0264); + _TMP22 = texture2D(Texture, _c0276); + _TMP15 = _TMP22.xyz; + _c0280 = vec2(_xpos21.x, _ypos0264); + _TMP22 = texture2D(Texture, _c0280); + _TMP16 = _TMP22.xyz; + _c0284 = vec2(_xpos21.y, _ypos0264); + _TMP22 = texture2D(Texture, _c0284); + _TMP17 = _TMP22.xyz; + _c0288 = vec2(_xpos21.z, _ypos0264); + _TMP22 = texture2D(Texture, _c0288); + _TMP9 = _TMP13*_linetaps11.x + _TMP14*_linetaps21.x + _TMP15*_linetaps11.y + _TMP16*_linetaps21.y + _TMP17*_linetaps11.z + _TMP22.xyz*_linetaps21.z; + _TMP26 = _TMP4*_columntaps1.x + _TMP5*_columntaps2.x + _TMP6*_columntaps1.y + _TMP7*_columntaps2.y + _TMP8*_columntaps1.z + _TMP9*_columntaps2.z; + _OUT._color = vec4(float(_TMP26.x), float(_TMP26.y), float(_TMP26.z), 1.00000000E+00); + gl_FragColor = vec4(float(_OUT._color.x), float(_OUT._color.y), float(_OUT._color.z), float(_OUT._color.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Misc/MCGreen.glsl b/ios/Assets/shaders_glsl/Misc/MCGreen.glsl new file mode 100644 index 0000000000..9b0c647c35 --- /dev/null +++ b/ios/Assets/shaders_glsl/Misc/MCGreen.glsl @@ -0,0 +1,115 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0003; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +float _TMP2; +float _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +float _x0012; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c11; + float _lct; + output_dummy _OUT; + vec3 _TMP6; + _TMP0 = texture2D(Texture, TEX0.xy); + _c11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = length(_c11); + _x0012 = 2.56000000E+02*float(_TMP1); + _TMP2 = floor(_x0012); + _lct = float((_TMP2/2.56000000E+02)); + _TMP6 = _lct*vec3( 3.20068359E-01, 5.00000000E-01, 0.00000000E+00); + _OUT._color = vec4(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z), 1.00000000E+00); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Misc/Nohalo.glsl b/ios/Assets/shaders_glsl/Misc/Nohalo.glsl new file mode 100644 index 0000000000..c6ce822a82 --- /dev/null +++ b/ios/Assets/shaders_glsl/Misc/Nohalo.glsl @@ -0,0 +1,354 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec2 _t6; +}; +out_vertex _ret_0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0015; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _ps; + out_vertex _TMP13; + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _r0015.x = dot(MVPMatrix_[0], VertexCoord); + _r0015.y = dot(MVPMatrix_[1], VertexCoord); + _r0015.z = dot(MVPMatrix_[2], VertexCoord); + _r0015.w = dot(MVPMatrix_[3], VertexCoord); + _TMP13._t1 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(0.00000000E+00, -_ps.y, _ps.x, -_ps.y); + _TMP13._t2 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(-_ps.x, 0.00000000E+00, _ps.x, 0.00000000E+00); + _TMP13._t3 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(2.00000000E+00*_ps.x, 0.00000000E+00, -_ps.x, _ps.y); + _TMP13._t4 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(0.00000000E+00, _ps.y, _ps.x, _ps.y); + _TMP13._t5 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(2.00000000E+00*_ps.x, _ps.y, 0.00000000E+00, 2.00000000E+00*_ps.y); + _TMP13._t6 = TexCoord.xy + vec2(_ps.x, 2.00000000E+00*_ps.y); + _ret_0._position1 = _r0015; + _ret_0._texCoord = TexCoord.xy; + _ret_0._t1 = _TMP13._t1; + _ret_0._t2 = _TMP13._t2; + _ret_0._t3 = _TMP13._t3; + _ret_0._t4 = _TMP13._t4; + _ret_0._t5 = _TMP13._t5; + _ret_0._t6 = _TMP13._t6; + gl_Position = _r0015; + TEX0.xy = TexCoord.xy; + TEX1 = _TMP13._t1; + TEX2 = _TMP13._t2; + TEX3 = _TMP13._t3; + TEX4 = _TMP13._t4; + TEX5 = _TMP13._t5; + TEX6.xy = _TMP13._t6; + return; + TEX0.xy = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6.xy = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec2 _t6; +}; +vec4 _ret_0; +vec3 _TMP20; +vec3 _TMP19; +vec3 _TMP18; +vec3 _TMP24; +vec3 _TMP23; +vec3 _TMP22; +vec3 _TMP21; +vec3 _TMP17; +vec3 _TMP16; +vec3 _TMP15; +vec3 _TMP14; +vec3 _TMP13; +vec3 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0030; +vec3 _a10056; +vec3 _a20056; +vec3 _a30056; +vec3 _a40056; +vec3 _val0064; +vec3 _val0066; +vec3 _a10068; +vec3 _a20068; +vec3 _a30068; +vec3 _a40068; +vec3 _val0076; +vec3 _val0078; +vec3 _a10080; +vec3 _a20080; +vec3 _a30080; +vec3 _a40080; +vec3 _val0088; +vec3 _val0090; +vec3 _a10092; +vec3 _a20092; +vec3 _a30092; +vec3 _a40092; +vec3 _val0100; +vec3 _val0102; +vec3 _a10104; +vec3 _a20104; +vec3 _a30104; +vec3 _a40104; +vec3 _val0112; +vec3 _val0114; +vec3 _a10116; +vec3 _a20116; +vec3 _a30116; +vec3 _a40116; +vec3 _val0124; +vec3 _val0126; +vec3 _a10128; +vec3 _a20128; +vec3 _a30128; +vec3 _a40128; +vec3 _val0136; +vec3 _val0138; +vec3 _a10140; +vec3 _a20140; +vec3 _a30140; +vec3 _a40140; +vec3 _val0148; +vec3 _val0150; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _coord; + vec3 _Varc3; + vec3 _Varc4; + vec3 _Varc7; + vec3 _Varc8; + vec3 _Varc34; + vec3 _Varc78; + _x0030 = TEX0.xy*TextureSize; + _coord = fract(_x0030); + _TMP0 = texture2D(Texture, TEX1.xy); + _TMP1 = texture2D(Texture, TEX1.zw); + _TMP2 = texture2D(Texture, TEX2.xy); + _TMP3 = texture2D(Texture, TEX0.xy); + _TMP4 = texture2D(Texture, TEX2.zw); + _TMP5 = texture2D(Texture, TEX3.xy); + _TMP6 = texture2D(Texture, TEX3.zw); + _TMP7 = texture2D(Texture, TEX4.xy); + _TMP8 = texture2D(Texture, TEX4.zw); + _TMP9 = texture2D(Texture, TEX5.xy); + _TMP10 = texture2D(Texture, TEX5.zw); + _TMP11 = texture2D(Texture, TEX6.xy); + _a10056 = _TMP3.xyz - _TMP2.xyz; + _a20056 = _TMP4.xyz - _TMP3.xyz; + _TMP21 = abs(_a10056); + _TMP22 = abs(_a20056); + _a30056 = min(_TMP21, _TMP22); + _val0064 = vec3(float((_a10056.x > 0.00000000E+00)), float((_a10056.y > 0.00000000E+00)), float((_a10056.z > 0.00000000E+00))); + _TMP23 = _val0064 - vec3(float((_a10056.x < 0.00000000E+00)), float((_a10056.y < 0.00000000E+00)), float((_a10056.z < 0.00000000E+00))); + _val0066 = vec3(float((_a20056.x > 0.00000000E+00)), float((_a20056.y > 0.00000000E+00)), float((_a20056.z > 0.00000000E+00))); + _TMP24 = _val0066 - vec3(float((_a20056.x < 0.00000000E+00)), float((_a20056.y < 0.00000000E+00)), float((_a20056.z < 0.00000000E+00))); + _a40056 = (_TMP23 + _TMP24)*5.00000000E-01; + _TMP12 = _a30056*_a40056; + _a10068 = _TMP3.xyz - _TMP0.xyz; + _a20068 = _TMP7.xyz - _TMP3.xyz; + _TMP21 = abs(_a10068); + _TMP22 = abs(_a20068); + _a30068 = min(_TMP21, _TMP22); + _val0076 = vec3(float((_a10068.x > 0.00000000E+00)), float((_a10068.y > 0.00000000E+00)), float((_a10068.z > 0.00000000E+00))); + _TMP23 = _val0076 - vec3(float((_a10068.x < 0.00000000E+00)), float((_a10068.y < 0.00000000E+00)), float((_a10068.z < 0.00000000E+00))); + _val0078 = vec3(float((_a20068.x > 0.00000000E+00)), float((_a20068.y > 0.00000000E+00)), float((_a20068.z > 0.00000000E+00))); + _TMP24 = _val0078 - vec3(float((_a20068.x < 0.00000000E+00)), float((_a20068.y < 0.00000000E+00)), float((_a20068.z < 0.00000000E+00))); + _a40068 = (_TMP23 + _TMP24)*5.00000000E-01; + _TMP13 = _a30068*_a40068; + _Varc3 = _TMP3.xyz + _TMP12*_coord.x + _TMP13*_coord.y; + _a10080 = _TMP4.xyz - _TMP3.xyz; + _a20080 = _TMP5.xyz - _TMP4.xyz; + _TMP21 = abs(_a10080); + _TMP22 = abs(_a20080); + _a30080 = min(_TMP21, _TMP22); + _val0088 = vec3(float((_a10080.x > 0.00000000E+00)), float((_a10080.y > 0.00000000E+00)), float((_a10080.z > 0.00000000E+00))); + _TMP23 = _val0088 - vec3(float((_a10080.x < 0.00000000E+00)), float((_a10080.y < 0.00000000E+00)), float((_a10080.z < 0.00000000E+00))); + _val0090 = vec3(float((_a20080.x > 0.00000000E+00)), float((_a20080.y > 0.00000000E+00)), float((_a20080.z > 0.00000000E+00))); + _TMP24 = _val0090 - vec3(float((_a20080.x < 0.00000000E+00)), float((_a20080.y < 0.00000000E+00)), float((_a20080.z < 0.00000000E+00))); + _a40080 = (_TMP23 + _TMP24)*5.00000000E-01; + _TMP14 = _a30080*_a40080; + _a10092 = _TMP4.xyz - _TMP1.xyz; + _a20092 = _TMP8.xyz - _TMP4.xyz; + _TMP21 = abs(_a10092); + _TMP22 = abs(_a20092); + _a30092 = min(_TMP21, _TMP22); + _val0100 = vec3(float((_a10092.x > 0.00000000E+00)), float((_a10092.y > 0.00000000E+00)), float((_a10092.z > 0.00000000E+00))); + _TMP23 = _val0100 - vec3(float((_a10092.x < 0.00000000E+00)), float((_a10092.y < 0.00000000E+00)), float((_a10092.z < 0.00000000E+00))); + _val0102 = vec3(float((_a20092.x > 0.00000000E+00)), float((_a20092.y > 0.00000000E+00)), float((_a20092.z > 0.00000000E+00))); + _TMP24 = _val0102 - vec3(float((_a20092.x < 0.00000000E+00)), float((_a20092.y < 0.00000000E+00)), float((_a20092.z < 0.00000000E+00))); + _a40092 = (_TMP23 + _TMP24)*5.00000000E-01; + _TMP15 = _a30092*_a40092; + _Varc4 = _TMP4.xyz + _TMP14*(_coord.x - 1.00000000E+00) + _TMP15*_coord.y; + _a10104 = _TMP7.xyz - _TMP6.xyz; + _a20104 = _TMP8.xyz - _TMP7.xyz; + _TMP21 = abs(_a10104); + _TMP22 = abs(_a20104); + _a30104 = min(_TMP21, _TMP22); + _val0112 = vec3(float((_a10104.x > 0.00000000E+00)), float((_a10104.y > 0.00000000E+00)), float((_a10104.z > 0.00000000E+00))); + _TMP23 = _val0112 - vec3(float((_a10104.x < 0.00000000E+00)), float((_a10104.y < 0.00000000E+00)), float((_a10104.z < 0.00000000E+00))); + _val0114 = vec3(float((_a20104.x > 0.00000000E+00)), float((_a20104.y > 0.00000000E+00)), float((_a20104.z > 0.00000000E+00))); + _TMP24 = _val0114 - vec3(float((_a20104.x < 0.00000000E+00)), float((_a20104.y < 0.00000000E+00)), float((_a20104.z < 0.00000000E+00))); + _a40104 = (_TMP23 + _TMP24)*5.00000000E-01; + _TMP16 = _a30104*_a40104; + _a10116 = _TMP7.xyz - _TMP3.xyz; + _a20116 = _TMP10.xyz - _TMP7.xyz; + _TMP21 = abs(_a10116); + _TMP22 = abs(_a20116); + _a30116 = min(_TMP21, _TMP22); + _val0124 = vec3(float((_a10116.x > 0.00000000E+00)), float((_a10116.y > 0.00000000E+00)), float((_a10116.z > 0.00000000E+00))); + _TMP23 = _val0124 - vec3(float((_a10116.x < 0.00000000E+00)), float((_a10116.y < 0.00000000E+00)), float((_a10116.z < 0.00000000E+00))); + _val0126 = vec3(float((_a20116.x > 0.00000000E+00)), float((_a20116.y > 0.00000000E+00)), float((_a20116.z > 0.00000000E+00))); + _TMP24 = _val0126 - vec3(float((_a20116.x < 0.00000000E+00)), float((_a20116.y < 0.00000000E+00)), float((_a20116.z < 0.00000000E+00))); + _a40116 = (_TMP23 + _TMP24)*5.00000000E-01; + _TMP17 = _a30116*_a40116; + _Varc7 = _TMP7.xyz + _TMP16*_coord.x + _TMP17*(_coord.y - 1.00000000E+00); + _a10128 = _TMP8.xyz - _TMP7.xyz; + _a20128 = _TMP9.xyz - _TMP8.xyz; + _TMP21 = abs(_a10128); + _TMP22 = abs(_a20128); + _a30128 = min(_TMP21, _TMP22); + _val0136 = vec3(float((_a10128.x > 0.00000000E+00)), float((_a10128.y > 0.00000000E+00)), float((_a10128.z > 0.00000000E+00))); + _TMP23 = _val0136 - vec3(float((_a10128.x < 0.00000000E+00)), float((_a10128.y < 0.00000000E+00)), float((_a10128.z < 0.00000000E+00))); + _val0138 = vec3(float((_a20128.x > 0.00000000E+00)), float((_a20128.y > 0.00000000E+00)), float((_a20128.z > 0.00000000E+00))); + _TMP24 = _val0138 - vec3(float((_a20128.x < 0.00000000E+00)), float((_a20128.y < 0.00000000E+00)), float((_a20128.z < 0.00000000E+00))); + _a40128 = (_TMP23 + _TMP24)*5.00000000E-01; + _TMP18 = _a30128*_a40128; + _a10140 = _TMP8.xyz - _TMP4.xyz; + _a20140 = _TMP11.xyz - _TMP8.xyz; + _TMP21 = abs(_a10140); + _TMP22 = abs(_a20140); + _a30140 = min(_TMP21, _TMP22); + _val0148 = vec3(float((_a10140.x > 0.00000000E+00)), float((_a10140.y > 0.00000000E+00)), float((_a10140.z > 0.00000000E+00))); + _TMP23 = _val0148 - vec3(float((_a10140.x < 0.00000000E+00)), float((_a10140.y < 0.00000000E+00)), float((_a10140.z < 0.00000000E+00))); + _val0150 = vec3(float((_a20140.x > 0.00000000E+00)), float((_a20140.y > 0.00000000E+00)), float((_a20140.z > 0.00000000E+00))); + _TMP24 = _val0150 - vec3(float((_a20140.x < 0.00000000E+00)), float((_a20140.y < 0.00000000E+00)), float((_a20140.z < 0.00000000E+00))); + _a40140 = (_TMP23 + _TMP24)*5.00000000E-01; + _TMP19 = _a30140*_a40140; + _Varc8 = _TMP8.xyz + _TMP18*(_coord.x - 1.00000000E+00) + _TMP19*(_coord.y - 1.00000000E+00); + _Varc34 = _Varc3 + _coord.x*(_Varc4 - _Varc3); + _Varc78 = _Varc7 + _coord.x*(_Varc8 - _Varc7); + _TMP20 = _Varc34 + _coord.y*(_Varc78 - _Varc34); + _ret_0 = vec4(_TMP20.x, _TMP20.y, _TMP20.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Motionblur/Braid-rewind.glsl b/ios/Assets/shaders_glsl/Motionblur/Braid-rewind.glsl new file mode 100644 index 0000000000..15d9e792c7 --- /dev/null +++ b/ios/Assets/shaders_glsl/Motionblur/Braid-rewind.glsl @@ -0,0 +1,206 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _col; +varying vec2 VARprev6; +varying vec2 VARprev5; +varying vec2 VARprev4; +varying vec2 VARprev3; +varying vec2 VARprev2; +varying vec2 VARprev1; +varying vec2 VARprev; +varying vec2 VARtex; +varying float _frame_rotation; +varying vec2 VARtex_coord; +struct previous { +float _placeholder61; + vec2 VARtex_coord; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +float _placeholder72; +}; +struct tex_coords { + vec2 VARtex; + vec2 VARprev; + vec2 VARprev1; + vec2 VARprev2; + vec2 VARprev3; + vec2 VARprev4; + vec2 VARprev5; + vec2 VARprev6; +}; +struct output_dummy { + vec4 _col; +}; +vec4 _oPosition1; +tex_coords _coords1; +uniform mat4 MVPMatrix; +previous _PREV7; +previous _PREV11; +previous _PREV21; +previous _PREV31; +previous _PREV41; +previous _PREV51; +previous _PREV61; +vec4 _r0010; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +attribute vec2 Prev6TexCoord; +attribute vec2 Prev5TexCoord; +attribute vec2 Prev4TexCoord; +attribute vec2 Prev3TexCoord; +attribute vec2 Prev2TexCoord; +attribute vec2 Prev1TexCoord; +attribute vec2 PrevTexCoord; +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0010.x = dot(MVPMatrix_[0], VertexCoord); + _r0010.y = dot(MVPMatrix_[1], VertexCoord); + _r0010.z = dot(MVPMatrix_[2], VertexCoord); + _r0010.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0010; + VARtex = TexCoord.xy; + VARprev = PrevTexCoord; + VARprev1 = Prev1TexCoord; + VARprev2 = Prev2TexCoord; + VARprev3 = Prev3TexCoord; + VARprev4 = Prev4TexCoord; + VARprev5 = Prev5TexCoord; + VARprev6 = Prev6TexCoord; + gl_Position = _r0010; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _col; +varying vec2 _prev6; +varying vec2 _prev5; +varying vec2 _prev4; +varying vec2 _prev3; +varying vec2 _prev2; +varying vec2 _prev1; +varying vec2 _prev; +varying vec2 _tex; +varying float _frame_rotation; +varying vec2 _tex_coord; +struct previous { +float _placeholder58; + vec2 _tex_coord; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +float _placeholder69; +}; +struct tex_coords { + vec2 _tex; + vec2 _prev; + vec2 _prev1; + vec2 _prev2; + vec2 _prev3; + vec2 _prev4; + vec2 _prev5; + vec2 _prev6; +}; +struct output_dummy { + vec4 _col; +}; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +input_dummy _IN1; +previous _PREV7; +previous _PREV11; +previous _PREV21; +previous _PREV31; +previous _PREV41; +previous _PREV51; +previous _PREV61; +varying vec4 TEX0; + +uniform sampler2D Texture; +uniform sampler2D Prev6Texture; +uniform sampler2D Prev5Texture; +uniform sampler2D Prev4Texture; +uniform sampler2D Prev3Texture; +uniform sampler2D Prev2Texture; +uniform sampler2D Prev1Texture; +uniform sampler2D PrevTexture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _color; + vec4 _final; + _color = texture2D(Prev6Texture, TEX0.xy); + _TMP0 = texture2D(Prev5Texture, TEX0.xy); + _color = _color + _TMP0; + _TMP1 = texture2D(Prev4Texture, TEX0.xy); + _color = _color + _TMP1; + _TMP2 = texture2D(Prev3Texture, TEX0.xy); + _color = _color + _TMP2; + _TMP3 = texture2D(Prev2Texture, TEX0.xy); + _color = _color + _TMP3; + _TMP4 = texture2D(Prev1Texture, TEX0.xy); + _color = _color + _TMP4; + _TMP5 = texture2D(PrevTexture, TEX0.xy); + _color = _color + _TMP5; + _TMP6 = texture2D(Texture, TEX0.xy); + _color = _color + _TMP6; + _final = texture2D(Texture, TEX0.xy); + if (FrameDirection < 0.00000000E+00) { + _final = (_final + (_color*vec4( 1.00000000E+00, 8.00000012E-01, 6.00000024E-01, 5.00000000E-01))/7.00000000E+00)/2.00000000E+00; + } else { + _final = texture2D(Texture, TEX0.xy); + } + gl_FragColor = _final; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Motionblur/Motionblur-blue.glsl b/ios/Assets/shaders_glsl/Motionblur/Motionblur-blue.glsl new file mode 100644 index 0000000000..0521b6a631 --- /dev/null +++ b/ios/Assets/shaders_glsl/Motionblur/Motionblur-blue.glsl @@ -0,0 +1,197 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 VARprev6; +varying vec2 VARprev5; +varying vec2 VARprev4; +varying vec2 VARprev3; +varying vec2 VARprev2; +varying vec2 VARprev1; +varying vec2 VARprev; +varying vec2 VARtex; +varying float _frame_rotation; +varying vec2 VARtex_coord; +struct previous { +float _placeholder61; + vec2 VARtex_coord; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct tex_coords { + vec2 VARtex; + vec2 VARprev; + vec2 VARprev1; + vec2 VARprev2; + vec2 VARprev3; + vec2 VARprev4; + vec2 VARprev5; + vec2 VARprev6; +}; +vec4 _oPosition1; +tex_coords _coords1; +uniform mat4 MVPMatrix; +previous _PREV7; +previous _PREV11; +previous _PREV21; +previous _PREV31; +previous _PREV41; +previous _PREV51; +previous _PREV61; +vec4 _r0010; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +attribute vec2 Prev6TexCoord; +attribute vec2 Prev5TexCoord; +attribute vec2 Prev4TexCoord; +attribute vec2 Prev3TexCoord; +attribute vec2 Prev2TexCoord; +attribute vec2 Prev1TexCoord; +attribute vec2 PrevTexCoord; +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0010.x = dot(MVPMatrix_[0], VertexCoord); + _r0010.y = dot(MVPMatrix_[1], VertexCoord); + _r0010.z = dot(MVPMatrix_[2], VertexCoord); + _r0010.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0010; + VARtex = TexCoord.xy; + VARprev = PrevTexCoord; + VARprev1 = Prev1TexCoord; + VARprev2 = Prev2TexCoord; + VARprev3 = Prev3TexCoord; + VARprev4 = Prev4TexCoord; + VARprev5 = Prev5TexCoord; + VARprev6 = Prev6TexCoord; + gl_Position = _r0010; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 VARprev6; +varying vec2 VARprev5; +varying vec2 VARprev4; +varying vec2 VARprev3; +varying vec2 VARprev2; +varying vec2 VARprev1; +varying vec2 VARprev; +varying vec2 VARtex; +varying float _frame_rotation; +varying vec2 VARtex_coord; +struct previous { +float _placeholder60; + vec2 VARtex_coord; +}; +struct input_dummy { + vec2 _video_size; + vec2 VARtexture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct tex_coords { + vec2 VARtex; + vec2 VARprev; + vec2 VARprev1; + vec2 VARprev2; + vec2 VARprev3; + vec2 VARprev4; + vec2 VARprev5; + vec2 VARprev6; +}; +vec4 _TMP7; +vec4 _TMP11; +vec4 _TMP8; +float _TMP10; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +tex_coords _coords1; +previous _PREV7; +previous _PREV11; +previous _PREV21; +previous _PREV31; +previous _PREV41; +previous _PREV51; +previous _PREV61; +float _x0041; +float _TMP42; +vec4 _x0049; +vec4 _TMP50; + +uniform sampler2D Prev6Texture; +uniform sampler2D Prev5Texture; +uniform sampler2D Prev4Texture; +uniform sampler2D Prev3Texture; +uniform sampler2D Prev2Texture; +uniform sampler2D Prev1Texture; +uniform sampler2D PrevTexture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + float _blue_result; + _TMP0 = texture2D(PrevTexture, VARprev); + _TMP1 = texture2D(Prev1Texture, VARprev1); + _TMP2 = texture2D(Prev2Texture, VARprev2); + _TMP3 = texture2D(Prev3Texture, VARprev3); + _TMP4 = texture2D(Prev4Texture, VARprev4); + _TMP5 = texture2D(Prev5Texture, VARprev5); + _TMP6 = texture2D(Prev6Texture, VARprev6); + _blue_result = _TMP0.z + _TMP1.z + _TMP2.z + _TMP3.z + _TMP4.z + _TMP5.z + _TMP6.z; + _TMP7 = texture2D(Texture, VARtex); + _TMP8 = texture2D(Texture, VARtex); + _x0041 = _blue_result - 7.00000000E+00*_TMP8.z; + _TMP10 = min(1.00000000E+00, _x0041); + _TMP42 = max(0.00000000E+00, _TMP10); + _x0049 = _TMP7 + 4.00000006E-01*vec4(0.00000000E+00, 0.00000000E+00, _TMP42, 1.00000000E+00); + _TMP11 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0049); + _TMP50 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP11); + gl_FragColor = _TMP50; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Motionblur/Motionblur-simple.glsl b/ios/Assets/shaders_glsl/Motionblur/Motionblur-simple.glsl new file mode 100644 index 0000000000..f3cffe0358 --- /dev/null +++ b/ios/Assets/shaders_glsl/Motionblur/Motionblur-simple.glsl @@ -0,0 +1,199 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _col; +varying vec2 VARprev6; +varying vec2 VARprev5; +varying vec2 VARprev4; +varying vec2 VARprev3; +varying vec2 VARprev2; +varying vec2 VARprev1; +varying vec2 VARprev; +varying vec2 VARtex; +varying float _frame_rotation; +varying vec2 VARtex_coord; +struct previous { +float _placeholder61; + vec2 VARtex_coord; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +float _placeholder72; +}; +struct tex_coords { + vec2 VARtex; + vec2 VARprev; + vec2 VARprev1; + vec2 VARprev2; + vec2 VARprev3; + vec2 VARprev4; + vec2 VARprev5; + vec2 VARprev6; +}; +struct output_dummy { + vec4 _col; +}; +vec4 _oPosition1; +tex_coords _coords1; +uniform mat4 MVPMatrix; +previous _PREV7; +previous _PREV11; +previous _PREV21; +previous _PREV31; +previous _PREV41; +previous _PREV51; +previous _PREV61; +vec4 _r0010; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +attribute vec2 Prev6TexCoord; +attribute vec2 Prev5TexCoord; +attribute vec2 Prev4TexCoord; +attribute vec2 Prev3TexCoord; +attribute vec2 Prev2TexCoord; +attribute vec2 Prev1TexCoord; +attribute vec2 PrevTexCoord; +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0010.x = dot(MVPMatrix_[0], VertexCoord); + _r0010.y = dot(MVPMatrix_[1], VertexCoord); + _r0010.z = dot(MVPMatrix_[2], VertexCoord); + _r0010.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0010; + VARtex = TexCoord.xy; + VARprev = PrevTexCoord; + VARprev1 = Prev1TexCoord; + VARprev2 = Prev2TexCoord; + VARprev3 = Prev3TexCoord; + VARprev4 = Prev4TexCoord; + VARprev5 = Prev5TexCoord; + VARprev6 = Prev6TexCoord; + gl_Position = _r0010; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _col; +varying vec2 _prev6; +varying vec2 _prev5; +varying vec2 _prev4; +varying vec2 _prev3; +varying vec2 _prev2; +varying vec2 _prev1; +varying vec2 _prev; +varying vec2 _tex; +varying float _frame_rotation; +varying vec2 _tex_coord; +struct previous { +float _placeholder58; + vec2 _tex_coord; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +float _placeholder69; +}; +struct tex_coords { + vec2 _tex; + vec2 _prev; + vec2 _prev1; + vec2 _prev2; + vec2 _prev3; + vec2 _prev4; + vec2 _prev5; + vec2 _prev6; +}; +struct output_dummy { + vec4 _col; +}; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +input_dummy _IN1; +previous _PREV7; +previous _PREV11; +previous _PREV21; +previous _PREV31; +previous _PREV41; +previous _PREV51; +previous _PREV61; +varying vec4 TEX0; + +uniform sampler2D Texture; +uniform sampler2D Prev6Texture; +uniform sampler2D Prev5Texture; +uniform sampler2D Prev4Texture; +uniform sampler2D Prev3Texture; +uniform sampler2D Prev2Texture; +uniform sampler2D Prev1Texture; +uniform sampler2D PrevTexture; +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _color; + _color = texture2D(Prev6Texture, TEX0.xy); + _TMP0 = texture2D(Prev5Texture, TEX0.xy); + _color = (_color + _TMP0)/2.00000000E+00; + _TMP1 = texture2D(Prev4Texture, TEX0.xy); + _color = (_color + _TMP1)/2.00000000E+00; + _TMP2 = texture2D(Prev3Texture, TEX0.xy); + _color = (_color + _TMP2)/2.00000000E+00; + _TMP3 = texture2D(Prev2Texture, TEX0.xy); + _color = (_color + _TMP3)/2.00000000E+00; + _TMP4 = texture2D(Prev1Texture, TEX0.xy); + _color = (_color + _TMP4)/2.00000000E+00; + _TMP5 = texture2D(PrevTexture, TEX0.xy); + _color = (_color + _TMP5)/2.00000000E+00; + _TMP6 = texture2D(Texture, TEX0.xy); + _color = (_color + _TMP6)/2.00000000E+00; + gl_FragColor = _color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/bloom.glsl b/ios/Assets/shaders_glsl/Mudlord/bloom.glsl new file mode 100644 index 0000000000..bef0ef7189 --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/bloom.glsl @@ -0,0 +1,209 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0005; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +vec4 _TMP2; +vec4 _TMP1; +uniform sampler2D Texture; +vec2 _c0009; +vec3 _TMP10; +varying vec4 TEX0; +uniform float _Luminance; +uniform vec2 _PixelOffsets[13]; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _pixel; + vec3 _Color; + output_dummy _OUT; + _c0009 = TEX0.xy + _PixelOffsets[0]*5.00000000E+00; + _TMP1 = texture2D(Texture, _c0009); + _pixel = (_TMP1 + 3.00000012E-01).xyz; + _pixel = _pixel*(1.80000007E-01/(_Luminance + 1.00000005E-03)); + _pixel = _pixel*(1.00000000E+00 + _pixel/6.40000045E-01); + _pixel = _pixel - 5.00000000E+00; + _TMP10 = max(_pixel, vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00)); + _pixel = _TMP10/(1.00000000E+01 + _TMP10); + _Color = _pixel*2.21600011E-03; + _c0009 = TEX0.xy + _PixelOffsets[1]*5.00000000E+00; + _TMP1 = texture2D(Texture, _c0009); + _pixel = (_TMP1 + 3.00000012E-01).xyz; + _pixel = _pixel*(1.80000007E-01/(_Luminance + 1.00000005E-03)); + _pixel = _pixel*(1.00000000E+00 + _pixel/6.40000045E-01); + _pixel = _pixel - 5.00000000E+00; + _TMP10 = max(_pixel, vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00)); + _pixel = _TMP10/(1.00000000E+01 + _TMP10); + _Color = _Color + _pixel*8.76399968E-03; + _c0009 = TEX0.xy + _PixelOffsets[2]*5.00000000E+00; + _TMP1 = texture2D(Texture, _c0009); + _pixel = (_TMP1 + 3.00000012E-01).xyz; + _pixel = _pixel*(1.80000007E-01/(_Luminance + 1.00000005E-03)); + _pixel = _pixel*(1.00000000E+00 + _pixel/6.40000045E-01); + _pixel = _pixel - 5.00000000E+00; + _TMP10 = max(_pixel, vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00)); + _pixel = _TMP10/(1.00000000E+01 + _TMP10); + _Color = _Color + _pixel*2.69949995E-02; + _c0009 = TEX0.xy + _PixelOffsets[3]*5.00000000E+00; + _TMP1 = texture2D(Texture, _c0009); + _pixel = (_TMP1 + 3.00000012E-01).xyz; + _pixel = _pixel*(1.80000007E-01/(_Luminance + 1.00000005E-03)); + _pixel = _pixel*(1.00000000E+00 + _pixel/6.40000045E-01); + _pixel = _pixel - 5.00000000E+00; + _TMP10 = max(_pixel, vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00)); + _pixel = _TMP10/(1.00000000E+01 + _TMP10); + _Color = _Color + _pixel*6.47590011E-02; + _c0009 = TEX0.xy + _PixelOffsets[4]*5.00000000E+00; + _TMP1 = texture2D(Texture, _c0009); + _pixel = (_TMP1 + 3.00000012E-01).xyz; + _pixel = _pixel*(1.80000007E-01/(_Luminance + 1.00000005E-03)); + _pixel = _pixel*(1.00000000E+00 + _pixel/6.40000045E-01); + _pixel = _pixel - 5.00000000E+00; + _TMP10 = max(_pixel, vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00)); + _pixel = _TMP10/(1.00000000E+01 + _TMP10); + _Color = _Color + _pixel*1.20985001E-01; + _c0009 = TEX0.xy + _PixelOffsets[5]*5.00000000E+00; + _TMP1 = texture2D(Texture, _c0009); + _pixel = (_TMP1 + 3.00000012E-01).xyz; + _pixel = _pixel*(1.80000007E-01/(_Luminance + 1.00000005E-03)); + _pixel = _pixel*(1.00000000E+00 + _pixel/6.40000045E-01); + _pixel = _pixel - 5.00000000E+00; + _TMP10 = max(_pixel, vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00)); + _pixel = _TMP10/(1.00000000E+01 + _TMP10); + _Color = _Color + _pixel*1.76033005E-01; + _c0009 = TEX0.xy + _PixelOffsets[6]*5.00000000E+00; + _TMP1 = texture2D(Texture, _c0009); + _pixel = (_TMP1 + 3.00000012E-01).xyz; + _pixel = _pixel*(1.80000007E-01/(_Luminance + 1.00000005E-03)); + _pixel = _pixel*(1.00000000E+00 + _pixel/6.40000045E-01); + _pixel = _pixel - 5.00000000E+00; + _TMP10 = max(_pixel, vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00)); + _pixel = _TMP10/(1.00000000E+01 + _TMP10); + _Color = _Color + _pixel*1.99470997E-01; + _c0009 = TEX0.xy + _PixelOffsets[7]*5.00000000E+00; + _TMP1 = texture2D(Texture, _c0009); + _pixel = (_TMP1 + 3.00000012E-01).xyz; + _pixel = _pixel*(1.80000007E-01/(_Luminance + 1.00000005E-03)); + _pixel = _pixel*(1.00000000E+00 + _pixel/6.40000045E-01); + _pixel = _pixel - 5.00000000E+00; + _TMP10 = max(_pixel, vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00)); + _pixel = _TMP10/(1.00000000E+01 + _TMP10); + _Color = _Color + _pixel*1.76033005E-01; + _c0009 = TEX0.xy + _PixelOffsets[8]*5.00000000E+00; + _TMP1 = texture2D(Texture, _c0009); + _pixel = (_TMP1 + 3.00000012E-01).xyz; + _pixel = _pixel*(1.80000007E-01/(_Luminance + 1.00000005E-03)); + _pixel = _pixel*(1.00000000E+00 + _pixel/6.40000045E-01); + _pixel = _pixel - 5.00000000E+00; + _TMP10 = max(_pixel, vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00)); + _pixel = _TMP10/(1.00000000E+01 + _TMP10); + _Color = _Color + _pixel*1.20985001E-01; + _c0009 = TEX0.xy + _PixelOffsets[9]*5.00000000E+00; + _TMP1 = texture2D(Texture, _c0009); + _pixel = (_TMP1 + 3.00000012E-01).xyz; + _pixel = _pixel*(1.80000007E-01/(_Luminance + 1.00000005E-03)); + _pixel = _pixel*(1.00000000E+00 + _pixel/6.40000045E-01); + _pixel = _pixel - 5.00000000E+00; + _TMP10 = max(_pixel, vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00)); + _pixel = _TMP10/(1.00000000E+01 + _TMP10); + _Color = _Color + _pixel*6.47590011E-02; + _c0009 = TEX0.xy + _PixelOffsets[10]*5.00000000E+00; + _TMP1 = texture2D(Texture, _c0009); + _pixel = (_TMP1 + 3.00000012E-01).xyz; + _pixel = _pixel*(1.80000007E-01/(_Luminance + 1.00000005E-03)); + _pixel = _pixel*(1.00000000E+00 + _pixel/6.40000045E-01); + _pixel = _pixel - 5.00000000E+00; + _TMP10 = max(_pixel, vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00)); + _pixel = _TMP10/(1.00000000E+01 + _TMP10); + _Color = _Color + _pixel*2.69949995E-02; + _c0009 = TEX0.xy + _PixelOffsets[11]*5.00000000E+00; + _TMP1 = texture2D(Texture, _c0009); + _pixel = (_TMP1 + 3.00000012E-01).xyz; + _pixel = _pixel*(1.80000007E-01/(_Luminance + 1.00000005E-03)); + _pixel = _pixel*(1.00000000E+00 + _pixel/6.40000045E-01); + _pixel = _pixel - 5.00000000E+00; + _TMP10 = max(_pixel, vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00)); + _pixel = _TMP10/(1.00000000E+01 + _TMP10); + _Color = _Color + _pixel*8.76399968E-03; + _c0009 = TEX0.xy + _PixelOffsets[12]*5.00000000E+00; + _TMP1 = texture2D(Texture, _c0009); + _pixel = (_TMP1 + 3.00000012E-01).xyz; + _pixel = _pixel*(1.80000007E-01/(_Luminance + 1.00000005E-03)); + _pixel = _pixel*(1.00000000E+00 + _pixel/6.40000045E-01); + _pixel = _pixel - 5.00000000E+00; + _TMP10 = max(_pixel, vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00)); + _pixel = _TMP10/(1.00000000E+01 + _TMP10); + _Color = _Color + _pixel*2.21600011E-03; + _TMP2 = texture2D(Texture, TEX0.xy); + _OUT._color = vec4(_Color.x, _Color.y, _Color.z, 1.00000000E+00) + _TMP2; + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/blur-light.glsl b/ios/Assets/shaders_glsl/Mudlord/blur-light.glsl new file mode 100644 index 0000000000..ce4ed4ebe2 --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/blur-light.glsl @@ -0,0 +1,136 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _col; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _col; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _otexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _otexCoord = TexCoord.xy; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _col; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _col; +}; +vec4 _TMP1; +uniform sampler2D Texture; +vec2 _c0008; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _color; + output_dummy _OUT; + _color = texture2D(Texture, TEX0.xy); + _c0008 = TEX0.xy + vec2( -4.89317987E-04, -6.08707487E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( -1.26021600E-03, -1.10369998E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( -1.04387093E-03, 6.85705512E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( -3.05017515E-04, 9.31073970E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( 1.44351006E-03, -2.92474520E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( 7.10150984E-04, -7.20039010E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( 7.79184047E-04, 1.15053297E-03); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( 2.78191495E-04, -1.33968599E-03); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( 7.61146483E-04, 9.66375010E-05); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( 1.34463003E-03, 6.18687016E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( -4.82910022E-04, -1.39892253E-03); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( -1.18733849E-03, -8.96557525E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _OUT._col = _color/1.30000000E+01; + gl_FragColor = _OUT._col; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/blur-lighter.glsl b/ios/Assets/shaders_glsl/Mudlord/blur-lighter.glsl new file mode 100644 index 0000000000..7a80204d30 --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/blur-lighter.glsl @@ -0,0 +1,136 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _col; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _col; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _otexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _otexCoord = TexCoord.xy; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _col; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _col; +}; +vec4 _TMP1; +uniform sampler2D Texture; +vec2 _c0008; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _color; + output_dummy _OUT; + _color = texture2D(Texture, TEX0.xy); + _c0008 = TEX0.xy + vec2( -3.26212001E-04, -4.05805011E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( -8.40143999E-04, -7.35799986E-05); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( -6.95914030E-04, 4.57137008E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( -2.03345015E-04, 6.20716019E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( 9.62340040E-04, -1.94983018E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( 4.73434018E-04, -4.80026036E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( 5.19456051E-04, 7.67022022E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( 1.85461002E-04, -8.93124030E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( 5.07430988E-04, 6.44250031E-05); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( 8.96420039E-04, 4.12458030E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( -3.21940024E-04, -9.32615018E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _c0008 = TEX0.xy + vec2( -7.91558996E-04, -5.97705017E-04); + _TMP1 = texture2D(Texture, _c0008); + _color = _color + _TMP1; + _OUT._col = _color/1.30000000E+01; + gl_FragColor = _OUT._col; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/blur.glsl b/ios/Assets/shaders_glsl/Mudlord/blur.glsl new file mode 100644 index 0000000000..cf47dd0800 --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/blur.glsl @@ -0,0 +1,199 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec4 _texCoord; +varying vec4 _position1; +struct out_vertex { + vec4 _position1; + vec4 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +out_vertex _ret_0; +uniform mat4 MVPMatrix; +vec4 _r0030; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _TMP28; + _r0030.x = dot(MVPMatrix_[0], VertexCoord); + _r0030.y = dot(MVPMatrix_[1], VertexCoord); + _r0030.z = dot(MVPMatrix_[2], VertexCoord); + _r0030.w = dot(MVPMatrix_[3], VertexCoord); + _TMP28._texCoord = vec4(TexCoord.x, TexCoord.y, 0.00000000E+00, 0.00000000E+00); + _TMP28._t1 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -8.15529958E-04, -1.01451250E-03, -2.10035988E-03, -1.83949989E-04); + _TMP28._t2 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -1.73978484E-03, 1.14284246E-03, -5.08362486E-04, 1.55178993E-03); + _TMP28._t3 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 2.40584998E-03, -4.87457495E-04, 1.18358503E-03, -1.20006502E-03); + _TMP28._t4 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 1.29864004E-03, 1.91755500E-03, 4.63652483E-04, -2.23281002E-03); + _TMP28._t5 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 1.26857741E-03, 1.61062489E-04, 2.24104989E-03, 1.03114499E-03); + _TMP28._t6 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -8.04850017E-04, -2.33153743E-03, -1.97889749E-03, -1.49426248E-03); + _ret_0._position1 = _r0030; + _ret_0._texCoord = _TMP28._texCoord; + _ret_0._t1 = _TMP28._t1; + _ret_0._t2 = _TMP28._t2; + _ret_0._t3 = _TMP28._t3; + _ret_0._t4 = _TMP28._t4; + _ret_0._t5 = _TMP28._t5; + _ret_0._t6 = _TMP28._t6; + gl_Position = _r0030; + TEX0 = _TMP28._texCoord; + TEX1 = _TMP28._t1; + TEX2 = _TMP28._t2; + TEX3 = _TMP28._t3; + TEX4 = _TMP28._t4; + TEX5 = _TMP28._t5; + TEX6 = _TMP28._t6; + return; + TEX0 = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec4 _texCoord; +struct out_vertex { + vec4 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _color; + _color = texture2D(Texture, TEX0.xy); + _TMP0 = texture2D(Texture, TEX1.xy); + _color = _color + _TMP0; + _TMP1 = texture2D(Texture, TEX1.zw); + _color = _color + _TMP1; + _TMP2 = texture2D(Texture, TEX2.xy); + _color = _color + _TMP2; + _TMP3 = texture2D(Texture, TEX2.zw); + _color = _color + _TMP3; + _TMP4 = texture2D(Texture, TEX3.xy); + _color = _color + _TMP4; + _TMP5 = texture2D(Texture, TEX3.zw); + _color = _color + _TMP5; + _TMP6 = texture2D(Texture, TEX4.xy); + _color = _color + _TMP6; + _TMP7 = texture2D(Texture, TEX4.zw); + _color = _color + _TMP7; + _TMP8 = texture2D(Texture, TEX5.xy); + _color = _color + _TMP8; + _TMP9 = texture2D(Texture, TEX5.zw); + _color = _color + _TMP9; + _TMP10 = texture2D(Texture, TEX6.xy); + _color = _color + _TMP10; + _TMP11 = texture2D(Texture, TEX6.zw); + _color = _color + _TMP11; + _ret_0 = _color/1.30000000E+01; + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/emboss.glsl b/ios/Assets/shaders_glsl/Mudlord/emboss.glsl new file mode 100644 index 0000000000..461bdada64 --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/emboss.glsl @@ -0,0 +1,127 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _CT; +varying vec4 _position2; +varying vec4 _color; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _position1; + vec2 _texCoord1; +}; +struct output_dummy { + vec4 _color; +}; +struct VERTEX_INPUT { + vec4 _position2; + vec2 _CT; +}; +VERTEX_OUTPUT _ret_0; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _ret_0._position1 = _r0002; + _ret_0._texCoord1 = TexCoord.xy; + gl_Position = _r0002; + TEX0.xy = TexCoord.xy; + return; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _CT; +varying vec4 _color; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec2 _texCoord; +}; +struct output_dummy { + vec4 _color; +}; +struct VERTEX_INPUT { + vec2 _CT; +}; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0008; +vec2 _c0010; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _Color; + _c0008 = TEX0.xy - 1.00000005E-03; + _TMP0 = texture2D(Texture, _c0008); + _Color = vec4( 5.00000000E-01, 5.00000000E-01, 5.00000000E-01, 1.00000000E+00) - _TMP0*2.00000000E+00; + _c0010 = TEX0.xy + 1.00000005E-03; + _TMP1 = texture2D(Texture, _c0010); + _Color = _Color + _TMP1*2.00000000E+00; + _Color.xyz = vec3((_Color.x + _Color.y + _Color.z)/3.00000000E+00, (_Color.x + _Color.y + _Color.z)/3.00000000E+00, (_Color.x + _Color.y + _Color.z)/3.00000000E+00); + gl_FragColor = _Color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/mud-mudlord.glsl b/ios/Assets/shaders_glsl/Mudlord/mud-mudlord.glsl new file mode 100644 index 0000000000..fb3ed9f988 --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/mud-mudlord.glsl @@ -0,0 +1,116 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oColor = COLOR; + _oTex = TexCoord.xy; + gl_Position = _r0002; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +float _TMP2; +float _TMP3; +float _TMP1; +float _TMP0; +uniform sampler2D Texture; +float _frame_cnt0007; +vec2 _constant10007; +float _constant20007; +float _x0015; +float _x0017; +float _TMP18; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _color; + _frame_cnt0007 = cos(0.00000000E+00); + _constant10007 = _frame_cnt0007*vec2( 1.29090910E+01, 7.82307663E+01); + _constant20007 = (_frame_cnt0007*4.81344000E+05)/1.10000000E+01; + _TMP0 = dot(TEX0.xy, _constant10007); + _TMP1 = sin(_TMP0); + _x0015 = _TMP1*_constant20007; + _TMP2 = fract(_x0015); + _x0017 = _TMP2 + 2.00000003E-01; + _TMP3 = min(1.00000000E+00, _x0017); + _TMP18 = max(0.00000000E+00, _TMP3); + _color = texture2D(Texture, TEX0.xy); + _color = (_color - 6.27451017E-02)*1.16438353E+00; + _ret_0 = _color*_TMP18; + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/noise-mudlord.glsl b/ios/Assets/shaders_glsl/Mudlord/noise-mudlord.glsl new file mode 100644 index 0000000000..f716845e28 --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/noise-mudlord.glsl @@ -0,0 +1,117 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oColor = COLOR; + _oTex = TexCoord.xy; + gl_Position = _r0002; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +float _TMP2; +float _TMP3; +float _TMP1; +float _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +float _frame_cnt0007; +vec2 _constant10007; +float _constant20007; +float _x0015; +float _x0017; +float _TMP18; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _color; + _frame_cnt0007 = cos(float(FrameCount)); + _constant10007 = _frame_cnt0007*vec2( 1.29090910E+01, 7.82307663E+01); + _constant20007 = (_frame_cnt0007*4.81344000E+05)/1.10000000E+01; + _TMP0 = dot(TEX0.xy, _constant10007); + _TMP1 = sin(_TMP0); + _x0015 = _TMP1*_constant20007; + _TMP2 = fract(_x0015); + _x0017 = _TMP2 + 2.00000003E-01; + _TMP3 = min(1.00000000E+00, _x0017); + _TMP18 = max(0.00000000E+00, _TMP3); + _color = texture2D(Texture, TEX0.xy); + _color = (_color - 6.27451017E-02)*1.16438353E+00; + _ret_0 = _color*_TMP18; + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/oldtvshader-configurable.glsl b/ios/Assets/shaders_glsl/Mudlord/oldtvshader-configurable.glsl new file mode 100644 index 0000000000..c1c0f0895a --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/oldtvshader-configurable.glsl @@ -0,0 +1,160 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color; +varying vec2 _texCoord1; +varying vec4 _vpos1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _position1; + vec4 _vpos1; + vec2 _texCoord1; +}; +struct output_dummy { + vec4 _color; +}; +VERTEX_OUTPUT _ret_0; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX1; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ret_0._position1 = _r0003; + _ret_0._vpos1 = _r0003; + _ret_0._texCoord1 = TexCoord.xy; + gl_Position = _r0003; + TEX1 = _r0003; + TEX0.xy = TexCoord.xy; + return; + TEX1 = _ret_0._vpos1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +varying vec2 _texCoord; +varying vec4 _vpos; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _vpos; + vec2 _texCoord; +}; +struct output_dummy { + vec4 _color; +}; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +float _TMP4; +float _TMP1; +float _TMP3; +float _TMP2; +float _TMP0; +VERTEX_OUTPUT _TMP8; +uniform sampler2D Texture; +input_dummy _IN1; +float _TMP13; +float _x0014; +float _frame_cnt0020; +vec2 _constant10020; +float _constant20020; +float _x0028; +float _TMP29; +float _x0030; +vec2 _c0038; +vec2 _c0042; +varying vec4 TEX1; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + float _f; + vec4 _distortion2; + _TMP8._vpos = TEX1/TEX1.w; + _f = (1.00000000E+00 - _TMP8._vpos.x*_TMP8._vpos.x)*(1.00000000E+00 - _TMP8._vpos.y*_TMP8._vpos.y); + _TMP0 = pow(_f, 4.39999998E-01); + _x0014 = 8.00000012E-01*(_TMP0 - 1.59999996E-01); + _TMP1 = min(1.00000000E+00, _x0014); + _TMP13 = max(0.00000000E+00, _TMP1); + _frame_cnt0020 = cos(float(FrameCount)); + _constant10020 = _frame_cnt0020*vec2( 1.29090910E+01, 7.82307663E+01); + _constant20020 = (_frame_cnt0020*4.81344000E+05)/1.10000000E+01; + _TMP2 = dot(TEX0.xy, _constant10020); + _TMP3 = sin(_TMP2); + _x0028 = _TMP3*_constant20020; + _TMP4 = fract(_x0028); + _x0030 = _TMP4 + 2.00000003E-01; + _TMP1 = min(1.00000000E+00, _x0030); + _TMP29 = max(0.00000000E+00, _TMP1); + _c0038 = TEX0.xy + 1.95312500E-03; + _TMP5 = texture2D(Texture, _c0038); + _TMP6 = texture2D(Texture, TEX0.xy); + _c0042 = TEX0.xy - 1.95312500E-03; + _TMP7 = texture2D(Texture, _c0042); + _distortion2 = vec4(_TMP5.x, _TMP6.y, _TMP7.z, 1.00000000E+00); + _OUT._color = _TMP13*(_distortion2*_TMP29); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant.glsl b/ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant.glsl new file mode 100644 index 0000000000..38a71b03fb --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant.glsl @@ -0,0 +1,166 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color; +varying vec2 _texCoord1; +varying vec4 _vpos1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _position1; + vec4 _vpos1; + vec2 _texCoord1; +}; +struct output_dummy { + vec4 _color; +}; +VERTEX_OUTPUT _ret_0; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX1; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ret_0._position1 = _r0003; + _ret_0._vpos1 = _r0003; + _ret_0._texCoord1 = TexCoord.xy; + gl_Position = _r0003; + TEX1 = _r0003; + TEX0.xy = TexCoord.xy; + return; + TEX1 = _ret_0._vpos1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +varying vec2 _texCoord; +varying vec4 _vpos; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _vpos; + vec2 _texCoord; +}; +struct output_dummy { + vec4 _color; +}; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +float _TMP4; +float _TMP1; +float _TMP3; +float _TMP2; +float _TMP0; +VERTEX_OUTPUT _TMP8; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _cc0012; +float _dist0012; +float _TMP17; +float _x0018; +float _frame_cnt0026; +vec2 _constant10026; +float _constant20026; +float _x0034; +float _TMP35; +float _x0036; +vec2 _c0046; +vec2 _c0050; +varying vec4 TEX1; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + vec2 _p; + float _f; + vec4 _distortion1; + _TMP8._vpos = TEX1/TEX1.w; + _cc0012 = TEX0.xy - 5.00000000E-01; + _dist0012 = dot(_cc0012, _cc0012); + _p = TEX0.xy + _cc0012*(_dist0012 + 7.00000003E-02*_dist0012*_dist0012)*7.00000003E-02; + _f = (1.00000000E+00 - _TMP8._vpos.x*_TMP8._vpos.x)*(1.00000000E+00 - _TMP8._vpos.y*_TMP8._vpos.y); + _TMP0 = pow(_f, 4.39999998E-01); + _x0018 = 4.80000019E+00*(_TMP0 - 1.59999996E-01); + _TMP1 = min(1.00000000E+00, _x0018); + _TMP17 = max(0.00000000E+00, _TMP1); + _frame_cnt0026 = cos(float(FrameCount)); + _constant10026 = _frame_cnt0026*vec2( 1.29090910E+01, 7.82307663E+01); + _constant20026 = (_frame_cnt0026*4.81344000E+05)/1.10000000E+01; + _TMP2 = dot(_p, _constant10026); + _TMP3 = sin(_TMP2); + _x0034 = _TMP3*_constant20026; + _TMP4 = fract(_x0034); + _x0036 = _TMP4 + 2.00000003E-01; + _TMP1 = min(1.00000000E+00, _x0036); + _TMP35 = max(0.00000000E+00, _TMP1); + _c0046 = _p + 7.81250000E-03; + _TMP5 = texture2D(Texture, _c0046); + _TMP6 = texture2D(Texture, _p); + _c0050 = _p - 7.81250000E-03; + _TMP7 = texture2D(Texture, _c0050); + _distortion1 = vec4(_TMP5.x, _TMP6.y, _TMP7.z, 1.00000000E+00); + _OUT._color = _TMP17*(_distortion1*_TMP35); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant2.glsl b/ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant2.glsl new file mode 100644 index 0000000000..09b8eeab69 --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant2.glsl @@ -0,0 +1,140 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color; +varying vec2 _texCoord1; +varying vec4 _vpos1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _position1; + vec4 _vpos1; + vec2 _texCoord1; +}; +struct output_dummy { + vec4 _color; +}; +VERTEX_OUTPUT _ret_0; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX1; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ret_0._position1 = _r0003; + _ret_0._vpos1 = _r0003; + _ret_0._texCoord1 = TexCoord.xy; + gl_Position = _r0003; + TEX1 = _r0003; + TEX0.xy = TexCoord.xy; + return; + TEX1 = _ret_0._vpos1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +varying vec2 _texCoord; +varying vec4 _vpos; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _vpos; + vec2 _texCoord; +}; +struct output_dummy { + vec4 _color; +}; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +float _TMP0; +float _TMP1; +VERTEX_OUTPUT _TMP5; +uniform sampler2D Texture; +float _TMP12; +float _x0013; +vec2 _c0025; +vec2 _c0029; +varying vec4 TEX1; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + float _f; + vec4 _distortion1; + _TMP5._vpos = TEX1/TEX1.w; + _f = (1.00000000E+00 - _TMP5._vpos.x*_TMP5._vpos.x)*(1.00000000E+00 - _TMP5._vpos.y*_TMP5._vpos.y); + _TMP0 = pow(_f, 4.39999998E-01); + _x0013 = 8.80000019E+00*(_TMP0 - 1.00000001E-01); + _TMP1 = min(1.00000000E+00, _x0013); + _TMP12 = max(0.00000000E+00, _TMP1); + _c0025 = TEX0.xy + 1.95312500E-03; + _TMP2 = texture2D(Texture, _c0025); + _TMP3 = texture2D(Texture, TEX0.xy); + _c0029 = TEX0.xy - 1.95312500E-03; + _TMP4 = texture2D(Texture, _c0029); + _distortion1 = vec4(_TMP2.x, _TMP3.y, _TMP4.z, 1.00000000E+00); + _OUT._color = _TMP12*_distortion1; + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant3.glsl b/ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant3.glsl new file mode 100644 index 0000000000..996b06cc77 --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant3.glsl @@ -0,0 +1,137 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color; +varying vec2 _texCoord1; +varying vec4 VARvpos; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _position1; + vec4 VARvpos; + vec2 _texCoord1; +}; +struct output_dummy { + vec4 _color; +}; +VERTEX_OUTPUT _ret_0; +uniform mat4 MVPMatrix; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _ret_0._position1 = _r0004; + VARvpos = _r0004; + _ret_0._texCoord1 = TexCoord.xy; + gl_Position = _r0004; + TEX0.xy = TexCoord.xy; + return; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +varying vec2 _texCoord; +varying vec4 VARvpos; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 VARvpos; + vec2 _texCoord; +}; +struct output_dummy { + vec4 _color; +}; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +float _TMP0; +float _TMP1; +VERTEX_OUTPUT _TMP5; +VERTEX_OUTPUT _VAR1; +uniform sampler2D Texture; +float _TMP12; +float _x0013; +vec2 _c0025; +vec2 _c0029; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + float _f; + vec4 _distortion1; + _TMP5.VARvpos = VARvpos/VARvpos.w; + _f = (1.00000000E+00 - _TMP5.VARvpos.x*_TMP5.VARvpos.x)*(1.00000000E+00 - _TMP5.VARvpos.y*_TMP5.VARvpos.y); + _TMP0 = pow(_f, 4.39999998E-01); + _x0013 = 8.80000019E+00*(_TMP0 - 1.00000001E-01); + _TMP1 = min(1.00000000E+00, _x0013); + _TMP12 = max(0.00000000E+00, _TMP1); + _c0025 = TEX0.xy + 1.95312500E-03; + _TMP2 = texture2D(Texture, _c0025); + _TMP3 = texture2D(Texture, TEX0.xy); + _c0029 = TEX0.xy - 1.95312500E-03; + _TMP4 = texture2D(Texture, _c0029); + _distortion1 = vec4(_TMP2.x, _TMP3.y, _TMP4.z, 1.00000000E+00); + _OUT._color = _TMP12*_distortion1; + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant4.glsl b/ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant4.glsl new file mode 100644 index 0000000000..8bcd0fef28 --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/oldtvshader-variant4.glsl @@ -0,0 +1,140 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color; +varying vec2 _texCoord1; +varying vec4 _vpos1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _position1; + vec4 _vpos1; + vec2 _texCoord1; +}; +struct output_dummy { + vec4 _color; +}; +VERTEX_OUTPUT _ret_0; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX1; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ret_0._position1 = _r0003; + _ret_0._vpos1 = _r0003; + _ret_0._texCoord1 = TexCoord.xy; + gl_Position = _r0003; + TEX1 = _r0003; + TEX0.xy = TexCoord.xy; + return; + TEX1 = _ret_0._vpos1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +varying vec2 _texCoord; +varying vec4 _vpos; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _vpos; + vec2 _texCoord; +}; +struct output_dummy { + vec4 _color; +}; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +float _TMP0; +float _TMP1; +VERTEX_OUTPUT _TMP5; +uniform sampler2D Texture; +float _TMP12; +float _x0013; +vec2 _c0025; +vec2 _c0029; +varying vec4 TEX1; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + float _f; + vec4 _distortion1; + _TMP5._vpos = TEX1/TEX1.w; + _f = (1.00000000E+00 - _TMP5._vpos.x*_TMP5._vpos.x)*(1.00000000E+00 - _TMP5._vpos.y*_TMP5._vpos.y); + _TMP0 = pow(_f, 4.39999998E-01); + _x0013 = 8.80000019E+00*(_TMP0 - 1.00000001E-01); + _TMP1 = min(1.00000000E+00, _x0013); + _TMP12 = max(0.00000000E+00, _TMP1); + _c0025 = TEX0.xy + 9.76562500E-04; + _TMP2 = texture2D(Texture, _c0025); + _TMP3 = texture2D(Texture, TEX0.xy); + _c0029 = TEX0.xy - 9.76562500E-04; + _TMP4 = texture2D(Texture, _c0029); + _distortion1 = vec4(_TMP2.x, _TMP3.y, _TMP4.z, 1.00000000E+00); + _OUT._color = _TMP12*_distortion1; + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/oldtvshader.glsl b/ios/Assets/shaders_glsl/Mudlord/oldtvshader.glsl new file mode 100644 index 0000000000..5726cc6097 --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/oldtvshader.glsl @@ -0,0 +1,166 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color; +varying vec2 _texCoord1; +varying vec4 _vpos1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _position1; + vec4 _vpos1; + vec2 _texCoord1; +}; +struct output_dummy { + vec4 _color; +}; +VERTEX_OUTPUT _ret_0; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX1; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ret_0._position1 = _r0003; + _ret_0._vpos1 = _r0003; + _ret_0._texCoord1 = TexCoord.xy; + gl_Position = _r0003; + TEX1 = _r0003; + TEX0.xy = TexCoord.xy; + return; + TEX1 = _ret_0._vpos1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +varying vec2 _texCoord; +varying vec4 _vpos; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _vpos; + vec2 _texCoord; +}; +struct output_dummy { + vec4 _color; +}; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +float _TMP4; +float _TMP1; +float _TMP3; +float _TMP2; +float _TMP0; +VERTEX_OUTPUT _TMP8; +uniform sampler2D Texture; +input_dummy _IN1; +float _TMP13; +float _x0014; +float _frame_cnt0022; +vec2 _constant10022; +float _constant20022; +float _x0030; +float _TMP31; +float _x0032; +vec2 _c0042; +vec2 _c0046; +varying vec4 TEX1; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + float _f; + vec4 _image; + float _luminance; + vec4 _distortion; + _TMP8._vpos = TEX1/TEX1.w; + _f = (1.00000000E+00 - _TMP8._vpos.x*_TMP8._vpos.x)*(1.00000000E+00 - _TMP8._vpos.y*_TMP8._vpos.y); + _TMP0 = pow(_f, 4.39999998E-01); + _x0014 = 4.80000019E+00*(_TMP0 - 1.59999996E-01); + _TMP1 = min(1.00000000E+00, _x0014); + _TMP13 = max(0.00000000E+00, _TMP1); + _image = texture2D(Texture, TEX0.xy); + _image = (_image - 6.27451017E-02)*1.16438353E+00; + _frame_cnt0022 = cos(float(FrameCount)); + _constant10022 = _frame_cnt0022*vec2( 1.29090910E+01, 7.82307663E+01); + _constant20022 = (_frame_cnt0022*4.81344000E+05)/1.10000000E+01; + _TMP2 = dot(TEX0.xy, _constant10022); + _TMP3 = sin(_TMP2); + _x0030 = _TMP3*_constant20022; + _TMP4 = fract(_x0030); + _x0032 = _TMP4 + 2.00000003E-01; + _TMP1 = min(1.00000000E+00, _x0032); + _TMP31 = max(0.00000000E+00, _TMP1); + _luminance = dot(_image.xyz, vec3( 2.98999995E-01, 5.87000012E-01, 1.14000000E-01)); + _image.xyz = vec3(_luminance, _luminance, _luminance); + _c0042 = TEX0.xy + 1.56250000E-02; + _TMP5 = texture2D(Texture, _c0042); + _TMP6 = texture2D(Texture, TEX0.xy); + _c0046 = TEX0.xy - 1.56250000E-02; + _TMP7 = texture2D(Texture, _c0046); + _distortion = vec4(_TMP5.x, _TMP6.y, _TMP7.z, 1.00000000E+00); + _OUT._color = _TMP13*((4.30000007E-01*_distortion)*_TMP31 + _image); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/sharpen-light.glsl b/ios/Assets/shaders_glsl/Mudlord/sharpen-light.glsl new file mode 100644 index 0000000000..6e2fbf7684 --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/sharpen-light.glsl @@ -0,0 +1,112 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _color1; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _color; +}; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0007; +vec2 _c0009; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _Color; + _Color = texture2D(Texture, TEX0.xy); + _c0007 = TEX0.xy + 9.99999975E-05; + _TMP0 = texture2D(Texture, _c0007); + _Color = _Color - _TMP0*1.00000000E+01; + _c0009 = TEX0.xy - 9.99999975E-05; + _TMP1 = texture2D(Texture, _c0009); + _Color = _Color + _TMP1*1.00000000E+01; + _Color.w = 1.00000000E+00; + gl_FragColor = _Color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/sharpen-light2.glsl b/ios/Assets/shaders_glsl/Mudlord/sharpen-light2.glsl new file mode 100644 index 0000000000..cb1cf3724f --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/sharpen-light2.glsl @@ -0,0 +1,112 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _color1; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _color; +}; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0007; +vec2 _c0009; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _Color; + _Color = texture2D(Texture, TEX0.xy); + _c0007 = TEX0.xy + 9.99999975E-05; + _TMP0 = texture2D(Texture, _c0007); + _Color = _Color - _TMP0*1.50000000E+01; + _c0009 = TEX0.xy - 9.99999975E-05; + _TMP1 = texture2D(Texture, _c0009); + _Color = _Color + _TMP1*1.50000000E+01; + _Color.w = 1.00000000E+00; + gl_FragColor = _Color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/sharpen-lighter.glsl b/ios/Assets/shaders_glsl/Mudlord/sharpen-lighter.glsl new file mode 100644 index 0000000000..fc2641503c --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/sharpen-lighter.glsl @@ -0,0 +1,112 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _color1; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _color; +}; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0007; +vec2 _c0009; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _Color; + _Color = texture2D(Texture, TEX0.xy); + _c0007 = TEX0.xy + 9.99999975E-05; + _TMP0 = texture2D(Texture, _c0007); + _Color = _Color - _TMP0*8.00000000E+00; + _c0009 = TEX0.xy - 9.99999975E-05; + _TMP1 = texture2D(Texture, _c0009); + _Color = _Color + _TMP1*8.00000000E+00; + _Color.w = 1.00000000E+00; + gl_FragColor = _Color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/sharpen-medium.glsl b/ios/Assets/shaders_glsl/Mudlord/sharpen-medium.glsl new file mode 100644 index 0000000000..f3c1c4484e --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/sharpen-medium.glsl @@ -0,0 +1,112 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _color1; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _color; +}; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0007; +vec2 _c0009; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _Color; + _Color = texture2D(Texture, TEX0.xy); + _c0007 = TEX0.xy + 9.99999975E-05; + _TMP0 = texture2D(Texture, _c0007); + _Color = _Color - _TMP0*2.00000000E+01; + _c0009 = TEX0.xy - 9.99999975E-05; + _TMP1 = texture2D(Texture, _c0009); + _Color = _Color + _TMP1*2.00000000E+01; + _Color.w = 1.00000000E+00; + gl_FragColor = _Color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/sharpen.glsl b/ios/Assets/shaders_glsl/Mudlord/sharpen.glsl new file mode 100644 index 0000000000..4b1f08e1c0 --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/sharpen.glsl @@ -0,0 +1,112 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _color1; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _color; +}; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0007; +vec2 _c0009; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _Color; + _Color = texture2D(Texture, TEX0.xy); + _c0007 = TEX0.xy + 9.99999975E-05; + _TMP0 = texture2D(Texture, _c0007); + _Color = _Color - _TMP0*3.00000000E+01; + _c0009 = TEX0.xy - 9.99999975E-05; + _TMP1 = texture2D(Texture, _c0009); + _Color = _Color + _TMP1*3.00000000E+01; + _Color.w = 1.00000000E+00; + gl_FragColor = _Color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/toon.glsl b/ios/Assets/shaders_glsl/Mudlord/toon.glsl new file mode 100644 index 0000000000..bf98f61abd --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/toon.glsl @@ -0,0 +1,187 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _CT; +varying vec4 _position2; +varying vec4 _color; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec4 _position1; + vec2 _texCoord1; +}; +struct output_dummy { + vec4 _color; +}; +struct VERTEX_INPUT { + vec4 _position2; + vec2 _CT; +}; +VERTEX_OUTPUT _ret_0; +uniform mat4 MVPMatrix; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _ret_0._position1 = _r0005; + _ret_0._texCoord1 = TexCoord.xy; + gl_Position = _r0005; + TEX0.xy = TexCoord.xy; + return; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _CT; +varying vec4 _color; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct VERTEX_OUTPUT { + vec2 _texCoord; +}; +struct output_dummy { + vec4 _color; +}; +struct VERTEX_INPUT { + vec2 _CT; +}; +float _TMP6; +vec4 _TMP5; +uniform sampler2D Texture; +float _TMP15; +float _a0016; +float _x0018; +float _TMP19; +float _a0020; +float _x0022; +float _TMP23; +float _a0024; +float _x0026; +vec2 _c0028; +varying vec4 TEX0; +uniform float _threshold; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _Color; + vec3 _col[9]; + float _lum[9]; + float _x; + float _y; + float _edge; + _Color = texture2D(Texture, TEX0.xy); + _a0016 = _Color.x*4.00000000E+00; + _x0018 = _a0016 + 5.00000000E-01; + _TMP15 = floor(_x0018); + _Color.x = _TMP15/4.00000000E+00; + _a0020 = _Color.y*4.00000000E+00; + _x0022 = _a0020 + 5.00000000E-01; + _TMP19 = floor(_x0022); + _Color.y = _TMP19/4.00000000E+00; + _a0024 = _Color.z*4.00000000E+00; + _x0026 = _a0024 + 5.00000000E-01; + _TMP23 = floor(_x0026); + _Color.z = _TMP23/4.00000000E+00; + _c0028 = TEX0.xy + vec2( -1.56250002E-03, 1.56250002E-03); + _TMP5 = texture2D(Texture, _c0028); + _col[0] = _TMP5.xyz; + _c0028 = TEX0.xy + vec2( 0.00000000E+00, 1.56250002E-03); + _TMP5 = texture2D(Texture, _c0028); + _col[1] = _TMP5.xyz; + _c0028 = TEX0.xy + vec2( 1.56250002E-03, 1.56250002E-03); + _TMP5 = texture2D(Texture, _c0028); + _col[2] = _TMP5.xyz; + _c0028 = TEX0.xy + vec2( -1.56250002E-03, 0.00000000E+00); + _TMP5 = texture2D(Texture, _c0028); + _col[3] = _TMP5.xyz; + _c0028 = TEX0.xy + vec2( 1.56250002E-03, 1.40000007E-03); + _TMP5 = texture2D(Texture, _c0028); + _col[5] = _TMP5.xyz; + _c0028 = TEX0.xy + vec2( -1.56250002E-03, -1.56250002E-03); + _TMP5 = texture2D(Texture, _c0028); + _col[6] = _TMP5.xyz; + _c0028 = TEX0.xy + vec2( 0.00000000E+00, -1.56250002E-03); + _TMP5 = texture2D(Texture, _c0028); + _col[7] = _TMP5.xyz; + _c0028 = TEX0.xy + vec2( 1.56250002E-03, -1.56250002E-03); + _TMP5 = texture2D(Texture, _c0028); + _lum[0] = dot(_col[0].xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _lum[1] = dot(_col[1].xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _lum[2] = dot(_col[2].xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _lum[3] = dot(_col[3].xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _lum[5] = dot(_col[5].xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _lum[6] = dot(_col[6].xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _lum[7] = dot(_col[7].xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _lum[8] = dot(_TMP5.xyz, vec3( 3.00000012E-01, 5.89999974E-01, 1.09999999E-01)); + _x = (((_lum[2] + _lum[8] + 2.00000000E+00*_lum[5]) - _lum[0]) - 2.00000000E+00*_lum[3]) - _lum[6]; + _y = (((_lum[6] + 2.00000000E+00*_lum[7] + _lum[8]) - _lum[0]) - 2.00000000E+00*_lum[1]) - _lum[2]; + if (_x*_x + _y*_y < _threshold) { + _TMP6 = 1.00000000E+00; + } else { + _TMP6 = 0.00000000E+00; + } + _edge = float(_TMP6); + _Color.xyz = _Color.xyz*_edge; + gl_FragColor = _Color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Mudlord/waterpaint-mudlord.glsl b/ios/Assets/shaders_glsl/Mudlord/waterpaint-mudlord.glsl new file mode 100644 index 0000000000..3ff7c732fb --- /dev/null +++ b/ios/Assets/shaders_glsl/Mudlord/waterpaint-mudlord.glsl @@ -0,0 +1,261 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0003; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _TMP1; +float _TMP22; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP21; +float _TMP17; +float _TMP20; +float _TMP16; +float _TMP15; +float _TMP14; +float _TMP13; +float _TMP12; +float _TMP11; +float _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +input_dummy _IN1; +vec4 _g000027; +vec4 _g010027; +vec4 _g020027; +vec4 _g100027; +vec4 _g120027; +vec4 _g200027; +vec4 _g210027; +vec4 _g220027; +vec4 _Gx0027; +vec4 _Gy0027; +vec4 _color0027; +vec2 _c0029; +vec2 _c0031; +vec2 _c0033; +vec2 _c0035; +vec2 _c0037; +vec2 _c0039; +vec2 _c0041; +vec2 _c0043; +float _x0065; +float _TMP66; +vec2 _c0073; +varying vec4 TEX0; +sampler2D _TMP76; +uniform sampler2D Texture; +sampler2D _TMP78; +sampler2D _TMP79; +sampler2D _TMP80; +sampler2D _TMP81; +sampler2D _TMP82; +sampler2D _TMP83; +sampler2D _TMP84; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _outcolor; + vec2 _texelSize; + vec2 _offset; + float _gradient; + vec4 _sum; + vec4 _pixelColor; + output_dummy _OUT; + _texelSize = 1.00000000E+00/TextureSize; + _offset = vec2(_texelSize.x, _texelSize.y); + _TMP76 = sampler2D(sampler(Texture)); + _c0029 = TEX0.xy + vec2(float(float(-_offset.x)), float(float(-_offset.y))); + _TMP2 = texture2D(_TMP76, _c0029); + _g000027 = vec4(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z), float(_TMP2.w)); + _TMP78 = sampler2D(sampler(Texture)); + _c0031 = TEX0.xy + vec2(0.00000000E+00, float(float(-_offset.y))); + _TMP3 = texture2D(_TMP78, _c0031); + _g010027 = vec4(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z), float(_TMP3.w)); + _TMP79 = sampler2D(sampler(Texture)); + _c0033 = TEX0.xy + vec2(float(float(_offset.x)), float(float(-_offset.y))); + _TMP4 = texture2D(_TMP79, _c0033); + _g020027 = vec4(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z), float(_TMP4.w)); + _TMP80 = sampler2D(sampler(Texture)); + _c0035 = TEX0.xy + vec2(float(float(-_offset.x)), 0.00000000E+00); + _TMP5 = texture2D(_TMP80, _c0035); + _g100027 = vec4(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z), float(_TMP5.w)); + _TMP81 = sampler2D(sampler(Texture)); + _c0037 = TEX0.xy + vec2(float(float(_offset.x)), 0.00000000E+00); + _TMP6 = texture2D(_TMP81, _c0037); + _g120027 = vec4(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z), float(_TMP6.w)); + _TMP82 = sampler2D(sampler(Texture)); + _c0039 = TEX0.xy + vec2(float(float(-_offset.x)), float(float(_offset.y))); + _TMP7 = texture2D(_TMP82, _c0039); + _g200027 = vec4(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z), float(_TMP7.w)); + _TMP83 = sampler2D(sampler(Texture)); + _c0041 = TEX0.xy + vec2(0.00000000E+00, float(float(_offset.y))); + _TMP8 = texture2D(_TMP83, _c0041); + _g210027 = vec4(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z), float(_TMP8.w)); + _TMP84 = sampler2D(sampler(Texture)); + _c0043 = TEX0.xy + vec2(float(float(_offset.x)), float(float(_offset.y))); + _TMP9 = texture2D(_TMP84, _c0043); + _g220027 = vec4(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z), float(_TMP9.w)); + _TMP20 = dot(vec3(float(_g000027.x), float(_g000027.y), float(_g000027.z)), vec3( 3.00048828E-01, 5.89843750E-01, 1.09985352E-01)); + _TMP10 = float(_TMP20); + _TMP20 = dot(vec3(float(_g010027.x), float(_g010027.y), float(_g010027.z)), vec3( 3.00048828E-01, 5.89843750E-01, 1.09985352E-01)); + _TMP11 = float(_TMP20); + _TMP20 = dot(vec3(float(_g020027.x), float(_g020027.y), float(_g020027.z)), vec3( 3.00048828E-01, 5.89843750E-01, 1.09985352E-01)); + _TMP12 = float(_TMP20); + _TMP20 = dot(vec3(float(_g100027.x), float(_g100027.y), float(_g100027.z)), vec3( 3.00048828E-01, 5.89843750E-01, 1.09985352E-01)); + _TMP13 = float(_TMP20); + _TMP20 = dot(vec3(float(_g120027.x), float(_g120027.y), float(_g120027.z)), vec3( 3.00048828E-01, 5.89843750E-01, 1.09985352E-01)); + _TMP14 = float(_TMP20); + _TMP20 = dot(vec3(float(_g200027.x), float(_g200027.y), float(_g200027.z)), vec3( 3.00048828E-01, 5.89843750E-01, 1.09985352E-01)); + _TMP15 = float(_TMP20); + _TMP20 = dot(vec3(float(_g210027.x), float(_g210027.y), float(_g210027.z)), vec3( 3.00048828E-01, 5.89843750E-01, 1.09985352E-01)); + _TMP16 = float(_TMP20); + _TMP20 = dot(vec3(float(_g220027.x), float(_g220027.y), float(_g220027.z)), vec3( 3.00048828E-01, 5.89843750E-01, 1.09985352E-01)); + _TMP17 = float(_TMP20); + _Gx0027 = -(vec4(_TMP10, _TMP10, _TMP10, _TMP10) + 2.00000000E+00*vec4(_TMP13, _TMP13, _TMP13, _TMP13) + vec4(_TMP15, _TMP15, _TMP15, _TMP15)) + vec4(_TMP12, _TMP12, _TMP12, _TMP12) + 2.00000000E+00*vec4(_TMP14, _TMP14, _TMP14, _TMP14) + vec4(_TMP17, _TMP17, _TMP17, _TMP17); + _Gy0027 = -(vec4(_TMP10, _TMP10, _TMP10, _TMP10) + 2.00000000E+00*vec4(_TMP11, _TMP11, _TMP11, _TMP11) + vec4(_TMP12, _TMP12, _TMP12, _TMP12)) + vec4(_TMP15, _TMP15, _TMP15, _TMP15) + 2.00000000E+00*vec4(_TMP16, _TMP16, _TMP16, _TMP16) + vec4(_TMP17, _TMP17, _TMP17, _TMP17); + _TMP21 = abs(vec4(float(_Gx0027.x), float(_Gx0027.y), float(_Gx0027.z), float(_Gx0027.w))); + _TMP18 = vec4(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z), float(_TMP21.w)); + _TMP21 = abs(vec4(float(_Gy0027.x), float(_Gy0027.y), float(_Gy0027.z), float(_Gy0027.w))); + _TMP19 = vec4(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z), float(_TMP21.w)); + _color0027 = _TMP18 + _TMP19; + _gradient = float(_color0027.x); + _x0065 = _gradient*2.00000003E-01; + _TMP22 = min(1.00000000E+00, _x0065); + _TMP66 = max(0.00000000E+00, _TMP22); + _c0073 = TEX0.xy + -6.00000000E+00*_offset.xy; + _TMP1 = texture2D(Texture, _c0073); + _sum = _TMP1*2.21600011E-03; + _c0073 = TEX0.xy + -5.00000000E+00*_offset.xy; + _TMP1 = texture2D(Texture, _c0073); + _sum = _sum + _TMP1*8.76399968E-03; + _c0073 = TEX0.xy + -4.00000000E+00*_offset.xy; + _TMP1 = texture2D(Texture, _c0073); + _sum = _sum + _TMP1*2.69949995E-02; + _c0073 = TEX0.xy + -3.00000000E+00*_offset.xy; + _TMP1 = texture2D(Texture, _c0073); + _sum = _sum + _TMP1*6.47590011E-02; + _c0073 = TEX0.xy + -2.00000000E+00*_offset.xy; + _TMP1 = texture2D(Texture, _c0073); + _sum = _sum + _TMP1*1.20985001E-01; + _c0073 = TEX0.xy + -_offset.xy; + _TMP1 = texture2D(Texture, _c0073); + _sum = _sum + _TMP1*1.76033005E-01; + _TMP1 = texture2D(Texture, TEX0.xy); + _sum = _sum + _TMP1*1.99470997E-01; + _c0073 = TEX0.xy + _offset.xy; + _TMP1 = texture2D(Texture, _c0073); + _sum = _sum + _TMP1*1.76033005E-01; + _c0073 = TEX0.xy + 2.00000000E+00*_offset.xy; + _TMP1 = texture2D(Texture, _c0073); + _sum = _sum + _TMP1*1.20985001E-01; + _c0073 = TEX0.xy + 3.00000000E+00*_offset.xy; + _TMP1 = texture2D(Texture, _c0073); + _sum = _sum + _TMP1*6.47590011E-02; + _c0073 = TEX0.xy + 4.00000000E+00*_offset.xy; + _TMP1 = texture2D(Texture, _c0073); + _sum = _sum + _TMP1*2.69949995E-02; + _c0073 = TEX0.xy + 5.00000000E+00*_offset.xy; + _TMP1 = texture2D(Texture, _c0073); + _sum = _sum + _TMP1*8.76399968E-03; + _c0073 = TEX0.xy + 6.00000000E+00*_offset.xy; + _TMP1 = texture2D(Texture, _c0073); + _sum = _sum + _TMP1*2.21600011E-03; + _pixelColor = texture2D(Texture, TEX0.xy); + _outcolor = (-_TMP66 + (_TMP66*_pixelColor)*2.00000000E+00) + _sum; + _OUT._color1.xyz = _outcolor.xyz; + gl_FragColor = _OUT._color1; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/NTSC/ntsc-decimate.glslp b/ios/Assets/shaders_glsl/NTSC/ntsc-decimate.glslp new file mode 100644 index 0000000000..3635d4a011 --- /dev/null +++ b/ios/Assets/shaders_glsl/NTSC/ntsc-decimate.glslp @@ -0,0 +1,32 @@ +shaders = 5 +shader0 = ntsc-pass1.glsl +shader1 = ntsc-pass2.glsl +shader2 = ntsc-pass3.glsl +shader3 = ntsc-pass4.glsl +shader4 = ntsc-pass5.glsl + +filter_linear0 = false +filter_linear1 = false +filter_linear2 = false +filter_linear3 = false +filter_linear4 = true + +scale_type0 = source +scale_x0 = 4.0 +scale_y0 = 1.0 +frame_count_mod0 = 2 +float_framebuffer0 = true + +scale_type1 = source +scale1 = 1.0 +frame_count_mod1 = 2 +float_framebuffer1 = true + +scale_type2 = source +scale_x2 = 0.5 +scale_y2 = 1.0 + +scale_type_x3 = source +scale_type_y3 = viewport +scale3 = 1.0 + diff --git a/ios/Assets/shaders_glsl/NTSC/ntsc-pass1.glsl b/ios/Assets/shaders_glsl/NTSC/ntsc-pass1.glsl new file mode 100644 index 0000000000..b6a5877324 --- /dev/null +++ b/ios/Assets/shaders_glsl/NTSC/ntsc-pass1.glsl @@ -0,0 +1,117 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 VARpix_no; +varying vec2 VARtex; +struct data { + vec2 VARtex; + vec2 VARpix_no; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +}; +vec4 _oPosition1; +data _oData1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + VARtex = TexCoord.xy; + VARpix_no = TexCoord.xy*TextureSize*(OutputSize/InputSize); + gl_Position = _r0004; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 VARpix_no; +varying vec2 VARtex; +struct data { + vec2 VARtex; + vec2 VARpix_no; +}; +struct input_dummy { + vec2 _video_size; + vec2 VARtexture_size; + vec2 _output_dummy_size; + float _frame_count; +}; +vec4 _ret_0; +float _TMP3; +float _TMP2; +float _TMP1; +float _TMP4; +vec4 _TMP0; +input_dummy _IN1; +data _vertex1; +uniform sampler2D Texture; +vec3 _r0015; +float _x0025; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _yiq; + float _chroma_phase; + float _mod_phase; + _TMP0 = texture2D(Texture, VARtex); + _r0015.x = dot(vec3( 2.98900008E-01, 5.87000012E-01, 1.14000000E-01), _TMP0.xyz); + _r0015.y = dot(vec3( 5.95899999E-01, -2.74399996E-01, -3.21599990E-01), _TMP0.xyz); + _r0015.z = dot(vec3( 2.11500004E-01, -5.22899985E-01, 3.11399996E-01), _TMP0.xyz); + _x0025 = VARpix_no.y/3.00000000E+00; + _TMP4 = floor(_x0025); + _TMP1 = VARpix_no.y - 3.00000000E+00*_TMP4; + _chroma_phase = 3.14159274E+00*(6.66700006E-01*_TMP1 + float(FrameCount)); + _mod_phase = _chroma_phase + VARpix_no.x*1.04709280E+00; + _TMP2 = cos(_mod_phase); + _TMP3 = sin(_mod_phase); + _yiq = vec3(_r0015.x, _r0015.y*_TMP2, _r0015.z*_TMP3); + _ret_0 = vec4(_yiq.x, _yiq.y, _yiq.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/NTSC/ntsc-pass2.glsl b/ios/Assets/shaders_glsl/NTSC/ntsc-pass2.glsl new file mode 100644 index 0000000000..3f63d8f849 --- /dev/null +++ b/ios/Assets/shaders_glsl/NTSC/ntsc-pass2.glsl @@ -0,0 +1,226 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 VARpix_no; +varying vec2 VARtex; +struct data { + vec2 VARtex; + vec2 VARpix_no; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +}; +vec4 _oPosition1; +data _oData1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + VARtex = TexCoord.xy; + VARpix_no = TexCoord.xy*TextureSize; + gl_Position = _r0004; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 VARpix_no; +varying vec2 VARtex; +struct data { + vec2 VARtex; + vec2 VARpix_no; +}; +struct input_dummy { + vec2 _video_size; + vec2 VARtexture_size; + vec2 _output_dummy_size; + float _frame_count; +}; +vec4 _ret_0; +float _TMP9; +float _TMP8; +float _TMP7; +vec4 _TMP6; +float _TMP5; +float _TMP3; +vec4 _TMP4; +vec4 _TMP2; +float _TMP1; +float _TMP10; +input_dummy _IN1; +data _vertex1; +uniform sampler2D Texture; +float _x0019; +vec2 _c0021; +vec2 _c0025; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + float _one_x; + float _chroma_phase; + float _mod_phase; + float _signal; + float _sums1; + float _i_mod; + float _q_mod; + vec3 _out_color; + _one_x = 1.00000000E+00/TextureSize.x; + _x0019 = VARpix_no.y/3.00000000E+00; + _TMP10 = floor(_x0019); + _TMP1 = VARpix_no.y - 3.00000000E+00*_TMP10; + _chroma_phase = 3.14159274E+00*(6.66700006E-01*_TMP1 + float(FrameCount)); + _mod_phase = _chroma_phase + VARpix_no.x*1.04709280E+00; + _c0021 = VARtex + vec2(-1.40000000E+01*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0021); + _TMP3 = dot(_TMP2.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _c0025 = VARtex + vec2(1.40000000E+01*_one_x, 0.00000000E+00); + _TMP4 = texture2D(Texture, _c0025); + _TMP5 = dot(_TMP4.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _sums1 = _TMP3 + _TMP5; + _signal = _sums1*5.00000024E-04; + _c0021 = VARtex + vec2(-1.30000000E+01*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0021); + _TMP3 = dot(_TMP2.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _c0025 = VARtex + vec2(1.30000000E+01*_one_x, 0.00000000E+00); + _TMP4 = texture2D(Texture, _c0025); + _TMP5 = dot(_TMP4.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _sums1 = _TMP3 + _TMP5; + _signal = _signal + _sums1*-6.99999975E-04; + _c0021 = VARtex + vec2(-1.20000000E+01*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0021); + _TMP3 = dot(_TMP2.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _c0025 = VARtex + vec2(1.20000000E+01*_one_x, 0.00000000E+00); + _TMP4 = texture2D(Texture, _c0025); + _TMP5 = dot(_TMP4.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _sums1 = _TMP3 + _TMP5; + _signal = _signal + _sums1*-1.30000000E-03; + _c0021 = VARtex + vec2(-1.10000000E+01*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0021); + _TMP3 = dot(_TMP2.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _c0025 = VARtex + vec2(1.10000000E+01*_one_x, 0.00000000E+00); + _TMP4 = texture2D(Texture, _c0025); + _TMP5 = dot(_TMP4.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _sums1 = _TMP3 + _TMP5; + _signal = _signal + _sums1*3.59999994E-03; + _c0021 = VARtex + vec2(-9.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0021); + _TMP3 = dot(_TMP2.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _c0025 = VARtex + vec2(9.00000000E+00*_one_x, 0.00000000E+00); + _TMP4 = texture2D(Texture, _c0025); + _TMP5 = dot(_TMP4.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _sums1 = _TMP3 + _TMP5; + _signal = _signal + _sums1*-9.30000003E-03; + _c0021 = VARtex + vec2(-8.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0021); + _TMP3 = dot(_TMP2.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _c0025 = VARtex + vec2(8.00000000E+00*_one_x, 0.00000000E+00); + _TMP4 = texture2D(Texture, _c0025); + _TMP5 = dot(_TMP4.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _sums1 = _TMP3 + _TMP5; + _signal = _signal + _sums1*8.60000029E-03; + _c0021 = VARtex + vec2(-7.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0021); + _TMP3 = dot(_TMP2.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _c0025 = VARtex + vec2(7.00000000E+00*_one_x, 0.00000000E+00); + _TMP4 = texture2D(Texture, _c0025); + _TMP5 = dot(_TMP4.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _sums1 = _TMP3 + _TMP5; + _signal = _signal + _sums1*1.26000000E-02; + _c0021 = VARtex + vec2(-6.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0021); + _TMP3 = dot(_TMP2.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _c0025 = VARtex + vec2(6.00000000E+00*_one_x, 0.00000000E+00); + _TMP4 = texture2D(Texture, _c0025); + _TMP5 = dot(_TMP4.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _sums1 = _TMP3 + _TMP5; + _signal = _signal + _sums1*-2.93000005E-02; + _c0021 = VARtex + vec2(-4.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0021); + _TMP3 = dot(_TMP2.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _c0025 = VARtex + vec2(4.00000000E+00*_one_x, 0.00000000E+00); + _TMP4 = texture2D(Texture, _c0025); + _TMP5 = dot(_TMP4.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _sums1 = _TMP3 + _TMP5; + _signal = _signal + _sums1*5.97000010E-02; + _c0021 = VARtex + vec2(-3.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0021); + _TMP3 = dot(_TMP2.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _c0025 = VARtex + vec2(3.00000000E+00*_one_x, 0.00000000E+00); + _TMP4 = texture2D(Texture, _c0025); + _TMP5 = dot(_TMP4.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _sums1 = _TMP3 + _TMP5; + _signal = _signal + _sums1*-5.46000004E-02; + _c0021 = VARtex + vec2(-2.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0021); + _TMP3 = dot(_TMP2.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _c0025 = VARtex + vec2(2.00000000E+00*_one_x, 0.00000000E+00); + _TMP4 = texture2D(Texture, _c0025); + _TMP5 = dot(_TMP4.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _sums1 = _TMP3 + _TMP5; + _signal = _signal + _sums1*-8.82000029E-02; + _c0021 = VARtex + vec2(-_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0021); + _TMP3 = dot(_TMP2.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _c0025 = VARtex + vec2(_one_x, 0.00000000E+00); + _TMP4 = texture2D(Texture, _c0025); + _TMP5 = dot(_TMP4.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _sums1 = _TMP3 + _TMP5; + _signal = _signal + _sums1*2.98299998E-01; + _TMP6 = texture2D(Texture, VARtex); + _TMP7 = dot(_TMP6.xyz, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _signal = _signal + _TMP7*6.00000024E-01; + _TMP8 = cos(_mod_phase); + _i_mod = 2.00000000E+00*_TMP8; + _TMP9 = sin(_mod_phase); + _q_mod = 2.00000000E+00*_TMP9; + _out_color = vec3(_signal, _signal, _signal)*vec3(1.00000000E+00, _i_mod, _q_mod); + _ret_0 = vec4(_out_color.x, _out_color.y, _out_color.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/NTSC/ntsc-pass3.glsl b/ios/Assets/shaders_glsl/NTSC/ntsc-pass3.glsl new file mode 100644 index 0000000000..0747fb43bd --- /dev/null +++ b/ios/Assets/shaders_glsl/NTSC/ntsc-pass3.glsl @@ -0,0 +1,206 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 VARpix_no; +varying vec2 VARtex; +struct data { + vec2 VARtex; + vec2 VARpix_no; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +}; +vec4 _oPosition1; +data _oData1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0006.x = dot(MVPMatrix_[0], VertexCoord); + _r0006.y = dot(MVPMatrix_[1], VertexCoord); + _r0006.z = dot(MVPMatrix_[2], VertexCoord); + _r0006.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0006; + VARtex = TexCoord.xy; + VARpix_no = TexCoord.xy*TextureSize; + gl_Position = _r0006; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _pix_no; +varying vec2 VARtex; +struct data { + vec2 VARtex; + vec2 _pix_no; +}; +struct input_dummy { + vec2 _video_size; + vec2 VARtexture_size; + vec2 _output_dummy_size; + float _frame_count; +}; +vec4 _ret_0; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +input_dummy _IN1; +data _vertex1; +uniform sampler2D Texture; +vec2 _c0012; +vec2 _c0014; +vec3 _r0020; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + float _one_x; + vec3 _signal; + vec3 _sums1; + _one_x = 1.00000000E+00/TextureSize.x; + _c0012 = VARtex + vec2(-1.60000000E+01*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(1.60000000E+01*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _sums1*vec3( -1.99999995E-04, -9.99999975E-05, -9.99999975E-05); + _c0012 = VARtex + vec2(-1.50000000E+01*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(1.50000000E+01*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( 0.00000000E+00, -5.00000024E-04, -5.00000024E-04); + _c0012 = VARtex + vec2(-1.40000000E+01*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(1.40000000E+01*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( 8.99999985E-04, -1.30000000E-03, -1.30000000E-03); + _c0012 = VARtex + vec2(-1.30000000E+01*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(1.30000000E+01*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( 2.60000001E-03, -2.60000001E-03, -2.60000001E-03); + _c0012 = VARtex + vec2(-1.20000000E+01*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(1.20000000E+01*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( 4.10000002E-03, -4.30000015E-03, -4.30000015E-03); + _c0012 = VARtex + vec2(-1.10000000E+01*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(1.10000000E+01*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( 3.89999989E-03, -5.59999980E-03, -5.59999980E-03); + _c0012 = VARtex + vec2(-1.00000000E+01*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(1.00000000E+01*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( -0.00000000E+00, -5.70000010E-03, -5.70000010E-03); + _c0012 = VARtex + vec2(-9.00000000E+00*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(9.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( -8.10000021E-03, -3.40000005E-03, -3.40000005E-03); + _c0012 = VARtex + vec2(-8.00000000E+00*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(8.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( -1.83000006E-02, 2.40000011E-03, 2.40000011E-03); + _c0012 = VARtex + vec2(-7.00000000E+00*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(7.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( -2.50000004E-02, 1.26999998E-02, 1.26999998E-02); + _c0012 = VARtex + vec2(-6.00000000E+00*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(6.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( -2.08999999E-02, 2.74999999E-02, 2.74999999E-02); + _c0012 = VARtex + vec2(-5.00000000E+00*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(5.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( 0.00000000E+00, 4.61000018E-02, 4.61000018E-02); + _c0012 = VARtex + vec2(-4.00000000E+00*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(4.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( 3.92999984E-02, 6.69000000E-02, 6.69000000E-02); + _c0012 = VARtex + vec2(-3.00000000E+00*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(3.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( 9.16000009E-02, 8.73000026E-02, 8.73000026E-02); + _c0012 = VARtex + vec2(-2.00000000E+00*_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(2.00000000E+00*_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( 1.44999996E-01, 1.04500003E-01, 1.04500003E-01); + _c0012 = VARtex + vec2(-_one_x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0012); + _c0014 = VARtex + vec2(_one_x, 0.00000000E+00); + _TMP2 = texture2D(Texture, _c0014); + _sums1 = _TMP1.xyz + _TMP2.xyz; + _signal = _signal + _sums1*vec3( 1.85100004E-01, 1.16100004E-02, 1.16100004E-02); + _TMP3 = texture2D(Texture, VARtex); + _signal = _signal + _TMP3.xyz*vec3( 2.00000003E-01, 1.20200001E-01, 1.20200001E-01); + _r0020.x = dot(vec3( 1.00000000E+00, 9.55999970E-01, 6.20999992E-01), _signal); + _r0020.y = dot(vec3( 1.00000000E+00, -2.72000015E-01, -6.47400022E-01), _signal); + _r0020.z = dot(vec3( 1.00000000E+00, -1.10599995E+00, 1.70459998E+00), _signal); + _ret_0 = vec4(_r0020.x, _r0020.y, _r0020.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/NTSC/ntsc-pass4.glsl b/ios/Assets/shaders_glsl/NTSC/ntsc-pass4.glsl new file mode 100644 index 0000000000..7c5ba8426f --- /dev/null +++ b/ios/Assets/shaders_glsl/NTSC/ntsc-pass4.glsl @@ -0,0 +1,190 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 VARone; +varying vec2 VARpix_no; +varying vec2 VARtex; +struct data { + vec2 VARtex; + vec2 VARpix_no; + vec2 VARone; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; +}; +vec4 _oPosition1; +data _oData1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + VARtex = TexCoord.xy; + VARpix_no = TexCoord.xy*TextureSize; + VARone = 1.00000000E+00/TextureSize; + gl_Position = _r0003; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 VARone; +varying vec2 VARpix_no; +varying vec2 VARtex; +struct data { + vec2 VARtex; + vec2 VARpix_no; + vec2 VARone; +}; +struct input_dummy { + vec2 _video_size; + vec2 VARtexture_size; + vec2 _output_dummy_size; + float _frame_count; +}; +vec4 _ret_0; +vec3 _TMP11; +float _TMP14; +float _TMP13; +float _TMP12; +float _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +data _vertex1; +uniform sampler2D Texture; +vec2 _c0020; +vec2 _c0030; +vec2 _c0050; +vec2 _c0060; +float _TMP71; +float _x0072; +float _TMP75; +float _x0076; +float _TMP79; +float _x0080; +float _TMP83; +float _x0084; +float _TMP87; +float _x0088; +vec3 _a0092; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _frame0; + vec3 _frame1; + vec3 _frame2; + vec3 _frame3; + vec3 _frame4; + float _offset_dist; + float _dist0; + float _dist1; + float _dist3; + float _dist4; + vec3 _scanline; + _c0020 = VARtex + vec2(0.00000000E+00, -2.00000000E+00*VARone.y); + _TMP0 = texture2D(Texture, _c0020); + _TMP12 = pow(_TMP0.x, 2.50000000E+00); + _TMP13 = pow(_TMP0.y, 2.50000000E+00); + _TMP14 = pow(_TMP0.z, 2.50000000E+00); + _frame0 = vec3(_TMP12, _TMP13, _TMP14); + _c0030 = VARtex + vec2(0.00000000E+00, -VARone.y); + _TMP1 = texture2D(Texture, _c0030); + _TMP12 = pow(_TMP1.x, 2.50000000E+00); + _TMP13 = pow(_TMP1.y, 2.50000000E+00); + _TMP14 = pow(_TMP1.z, 2.50000000E+00); + _frame1 = vec3(_TMP12, _TMP13, _TMP14); + _TMP2 = texture2D(Texture, VARtex); + _TMP12 = pow(_TMP2.x, 2.50000000E+00); + _TMP13 = pow(_TMP2.y, 2.50000000E+00); + _TMP14 = pow(_TMP2.z, 2.50000000E+00); + _frame2 = vec3(_TMP12, _TMP13, _TMP14); + _c0050 = VARtex + vec2(0.00000000E+00, VARone.y); + _TMP3 = texture2D(Texture, _c0050); + _TMP12 = pow(_TMP3.x, 2.50000000E+00); + _TMP13 = pow(_TMP3.y, 2.50000000E+00); + _TMP14 = pow(_TMP3.z, 2.50000000E+00); + _frame3 = vec3(_TMP12, _TMP13, _TMP14); + _c0060 = VARtex + vec2(0.00000000E+00, 2.00000000E+00*VARone.y); + _TMP4 = texture2D(Texture, _c0060); + _TMP12 = pow(_TMP4.x, 2.50000000E+00); + _TMP13 = pow(_TMP4.y, 2.50000000E+00); + _TMP14 = pow(_TMP4.z, 2.50000000E+00); + _frame4 = vec3(_TMP12, _TMP13, _TMP14); + _TMP5 = fract(VARpix_no.y); + _offset_dist = _TMP5 - 5.00000000E-01; + _dist0 = 2.00000000E+00 + _offset_dist; + _dist1 = 1.00000000E+00 + _offset_dist; + _dist3 = -1.00000000E+00 + _offset_dist; + _dist4 = -2.00000000E+00 + _offset_dist; + _x0072 = -5.00000000E+00*_dist0*_dist0; + _TMP71 = pow(2.71828198E+00, _x0072); + _scanline = _frame0*_TMP71; + _x0076 = -5.00000000E+00*_dist1*_dist1; + _TMP75 = pow(2.71828198E+00, _x0076); + _scanline = _scanline + _frame1*_TMP75; + _x0080 = -5.00000000E+00*_offset_dist*_offset_dist; + _TMP79 = pow(2.71828198E+00, _x0080); + _scanline = _scanline + _frame2*_TMP79; + _x0084 = -5.00000000E+00*_dist3*_dist3; + _TMP83 = pow(2.71828198E+00, _x0084); + _scanline = _scanline + _frame3*_TMP83; + _x0088 = -5.00000000E+00*_dist4*_dist4; + _TMP87 = pow(2.71828198E+00, _x0088); + _scanline = _scanline + _frame4*_TMP87; + _a0092 = 1.14999998E+00*_scanline; + _TMP12 = pow(_a0092.x, 4.76190507E-01); + _TMP13 = pow(_a0092.y, 4.76190507E-01); + _TMP14 = pow(_a0092.z, 4.76190507E-01); + _TMP11 = vec3(_TMP12, _TMP13, _TMP14); + _ret_0 = vec4(_TMP11.x, _TMP11.y, _TMP11.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/NTSC/ntsc-pass5.glsl b/ios/Assets/shaders_glsl/NTSC/ntsc-pass5.glsl new file mode 100644 index 0000000000..1833f55adb --- /dev/null +++ b/ios/Assets/shaders_glsl/NTSC/ntsc-pass5.glsl @@ -0,0 +1,70 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTex; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oTex = TexCoord.xy; + gl_Position = _r0002; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +vec4 _ret_0; +uniform sampler2D Texture; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + _ret_0 = texture2D(Texture, TEX0.xy); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/NTSC/ntsc.glslp b/ios/Assets/shaders_glsl/NTSC/ntsc.glslp new file mode 100644 index 0000000000..3d94378787 --- /dev/null +++ b/ios/Assets/shaders_glsl/NTSC/ntsc.glslp @@ -0,0 +1,31 @@ +shaders = 5 +shader0 = ntsc-pass1.glsl +shader1 = ntsc-pass2.glsl +shader2 = ntsc-pass3.glsl +shader3 = ntsc-pass4.glsl +shader4 = ntsc-pass5.glsl + +filter_linear0 = false +filter_linear1 = false +filter_linear2 = false +filter_linear3 = false +filter_linear4 = true + +scale_type0 = source +scale_x0 = 4.0 +scale_y0 = 1.0 +frame_count_mod0 = 2 +float_framebuffer0 = true + +scale_type1 = source +scale1 = 1.0 +frame_count_mod1 = 2 +float_framebuffer1 = true + +scale_type2 = source +scale2 = 1.0 + +scale_type_x3 = source +scale_type_y3 = viewport +scale3 = 1.0 + diff --git a/ios/Assets/shaders_glsl/Neon/neon-variation-1.glsl b/ios/Assets/shaders_glsl/Neon/neon-variation-1.glsl new file mode 100644 index 0000000000..a7a90524d1 --- /dev/null +++ b/ios/Assets/shaders_glsl/Neon/neon-variation-1.glsl @@ -0,0 +1,169 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec3 _TMP15; +vec3 _TMP14; +float _TMP13; +float _TMP12; +float _TMP11; +float _TMP10; +float _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +input_dummy _IN1; +uniform sampler2D Texture; +vec2 _c0020; +vec2 _c0022; +vec2 _c0024; +vec2 _c0026; +vec2 _c0030; +vec2 _c0032; +vec2 _c0034; +vec2 _c0036; +float _x0038; +float _x0042; +float _x0046; +float _x0050; +float _x0054; +vec3 _a0060; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _delta; + output_dummy _OUT; + vec3 _first; + vec3 _second; + vec3 _mid_horiz; + vec3 _mid_vert; + vec3 _res; + vec3 _TMP18; + _delta = 5.00000000E-01/TextureSize; + _c0020 = TEX0.xy + vec2(-_delta.x, -_delta.y); + _TMP0 = texture2D(Texture, _c0020); + _c0022 = TEX0.xy + vec2(-_delta.x, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0022); + _c0024 = TEX0.xy + vec2(-_delta.x, _delta.y); + _TMP2 = texture2D(Texture, _c0024); + _c0026 = TEX0.xy + vec2(0.00000000E+00, -_delta.y); + _TMP3 = texture2D(Texture, _c0026); + _c0030 = TEX0.xy + vec2(0.00000000E+00, _delta.y); + _TMP5 = texture2D(Texture, _c0030); + _c0032 = TEX0.xy + vec2(_delta.x, -_delta.y); + _TMP6 = texture2D(Texture, _c0032); + _c0034 = TEX0.xy + vec2(_delta.x, 0.00000000E+00); + _TMP7 = texture2D(Texture, _c0034); + _c0036 = TEX0.xy + vec2(_delta.x, _delta.y); + _TMP8 = texture2D(Texture, _c0036); + _x0038 = TEX0.x*TextureSize.x + 5.00000000E-01; + _TMP9 = fract(_x0038); + _first = _TMP0.xyz + _TMP9*(_TMP6.xyz - _TMP0.xyz); + _x0042 = TEX0.x*TextureSize.x + 5.00000000E-01; + _TMP10 = fract(_x0042); + _second = _TMP2.xyz + _TMP10*(_TMP8.xyz - _TMP2.xyz); + _x0046 = TEX0.x*TextureSize.x + 5.00000000E-01; + _TMP11 = fract(_x0046); + _mid_horiz = _TMP1.xyz + _TMP11*(_TMP7.xyz - _TMP1.xyz); + _x0050 = TEX0.y*TextureSize.y + 5.00000000E-01; + _TMP12 = fract(_x0050); + _mid_vert = _TMP3.xyz + _TMP12*(_TMP5.xyz - _TMP3.xyz); + _x0054 = TEX0.y*TextureSize.y + 5.00000000E-01; + _TMP13 = fract(_x0054); + _res = _first + _TMP13*(_second - _first); + _TMP14 = _mid_horiz + 5.00000000E-01*(_mid_vert - _mid_horiz); + _a0060 = _res - _TMP14; + _TMP15 = abs(_a0060); + _TMP18 = 2.80000001E-01*(_res + _mid_horiz + _mid_vert) + 4.69999981E+00*_TMP15; + _OUT._color = vec4(_TMP18.x, _TMP18.y, _TMP18.z, 1.00000000E+00); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Quad/quad_interp-HD-768.glsl b/ios/Assets/shaders_glsl/Quad/quad_interp-HD-768.glsl new file mode 100644 index 0000000000..6527cdb14d --- /dev/null +++ b/ios/Assets/shaders_glsl/Quad/quad_interp-HD-768.glsl @@ -0,0 +1,186 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _DR; +varying vec2 _DL; +varying vec2 _UR; +varying vec2 _UL; +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct deltas { + vec2 _UL; + vec2 _UR; + vec2 _DL; + vec2 _DR; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _DR; +varying vec2 _DL; +varying vec2 _UR; +varying vec2 _UL; +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct deltas { + vec2 _UL; + vec2 _UR; + vec2 _DL; + vec2 _DR; +}; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0013; +vec2 _c0015; +vec2 _c0017; +vec2 _c0019; +vec2 _c0023; +vec2 _c0025; +vec2 _c0027; +vec2 _c0029; +float _x0031; +float _x0033; +vec3 _poly0035[3]; +float _x0035; +vec3 _poly0037[3]; +float _x0037; +vec3 _poly0039[3]; +float _x0039; +vec3 _poly0041[3]; +float _x0041; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + float _frac_amt_x; + float _frac_amt_y; + vec3 _loval; + vec3 _midval; + vec3 _hival; + vec3 _res; + output_dummy _OUT; + _c0013 = TEX0.xy + vec2( -6.47802663E-04, -1.03648426E-03); + _TMP0 = texture2D(Texture, _c0013); + _c0015 = TEX0.xy + vec2( -6.47802663E-04, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0015); + _c0017 = TEX0.xy + vec2( -6.47802663E-04, 1.03648426E-03); + _TMP2 = texture2D(Texture, _c0017); + _c0019 = TEX0.xy + vec2( 0.00000000E+00, -1.03648426E-03); + _TMP3 = texture2D(Texture, _c0019); + _TMP4 = texture2D(Texture, TEX0.xy); + _c0023 = TEX0.xy + vec2( 0.00000000E+00, 1.03648426E-03); + _TMP5 = texture2D(Texture, _c0023); + _c0025 = TEX0.xy + vec2( 6.47802663E-04, -1.03648426E-03); + _TMP6 = texture2D(Texture, _c0025); + _c0027 = TEX0.xy + vec2( 6.47802663E-04, 0.00000000E+00); + _TMP7 = texture2D(Texture, _c0027); + _c0029 = TEX0.xy + vec2( 6.47802663E-04, 1.03648426E-03); + _TMP8 = texture2D(Texture, _c0029); + _x0031 = TEX0.x*7.68000000E+02; + _frac_amt_x = fract(_x0031); + _x0033 = TEX0.y*4.80000000E+02; + _frac_amt_y = fract(_x0033); + _x0035 = _frac_amt_x + 5.00000000E-01; + _poly0035[2] = (5.00000000E-01*_TMP0.xyz - _TMP3.xyz) + 5.00000000E-01*_TMP6.xyz; + _poly0035[1] = (-1.50000000E+00*_TMP0.xyz + 2.00000000E+00*_TMP3.xyz) - 5.00000000E-01*_TMP6.xyz; + _loval = _poly0035[2]*_x0035*_x0035 + _poly0035[1]*_x0035 + _TMP0.xyz; + _x0037 = _frac_amt_x + 5.00000000E-01; + _poly0037[2] = (5.00000000E-01*_TMP1.xyz - _TMP4.xyz) + 5.00000000E-01*_TMP7.xyz; + _poly0037[1] = (-1.50000000E+00*_TMP1.xyz + 2.00000000E+00*_TMP4.xyz) - 5.00000000E-01*_TMP7.xyz; + _midval = _poly0037[2]*_x0037*_x0037 + _poly0037[1]*_x0037 + _TMP1.xyz; + _x0039 = _frac_amt_x + 5.00000000E-01; + _poly0039[2] = (5.00000000E-01*_TMP2.xyz - _TMP5.xyz) + 5.00000000E-01*_TMP8.xyz; + _poly0039[1] = (-1.50000000E+00*_TMP2.xyz + 2.00000000E+00*_TMP5.xyz) - 5.00000000E-01*_TMP8.xyz; + _hival = _poly0039[2]*_x0039*_x0039 + _poly0039[1]*_x0039 + _TMP2.xyz; + _x0041 = _frac_amt_y + 5.00000000E-01; + _poly0041[2] = (5.00000000E-01*_loval - _midval) + 5.00000000E-01*_hival; + _poly0041[1] = (-1.50000000E+00*_loval + 2.00000000E+00*_midval) - 5.00000000E-01*_hival; + _res = _poly0041[2]*_x0041*_x0041 + _poly0041[1]*_x0041 + _loval; + _OUT._color = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Quad/quad_interp-HD.glsl b/ios/Assets/shaders_glsl/Quad/quad_interp-HD.glsl new file mode 100644 index 0000000000..a03ed18c1c --- /dev/null +++ b/ios/Assets/shaders_glsl/Quad/quad_interp-HD.glsl @@ -0,0 +1,186 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _DR; +varying vec2 _DL; +varying vec2 _UR; +varying vec2 _UL; +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct deltas { + vec2 _UL; + vec2 _UR; + vec2 _DL; + vec2 _DR; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _DR; +varying vec2 _DL; +varying vec2 _UR; +varying vec2 _UL; +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct deltas { + vec2 _UL; + vec2 _UR; + vec2 _DL; + vec2 _DR; +}; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0013; +vec2 _c0015; +vec2 _c0017; +vec2 _c0019; +vec2 _c0023; +vec2 _c0025; +vec2 _c0027; +vec2 _c0029; +float _x0031; +float _x0033; +vec3 _poly0035[3]; +float _x0035; +vec3 _poly0037[3]; +float _x0037; +vec3 _poly0039[3]; +float _x0039; +vec3 _poly0041[3]; +float _x0041; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + float _frac_amt_x; + float _frac_amt_y; + vec3 _loval; + vec3 _midval; + vec3 _hival; + vec3 _res; + output_dummy _OUT; + _c0013 = TEX0.xy + vec2( -9.71703965E-04, -1.11051882E-03); + _TMP0 = texture2D(Texture, _c0013); + _c0015 = TEX0.xy + vec2( -9.71703965E-04, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0015); + _c0017 = TEX0.xy + vec2( -9.71703965E-04, 1.11051882E-03); + _TMP2 = texture2D(Texture, _c0017); + _c0019 = TEX0.xy + vec2( 0.00000000E+00, -1.11051882E-03); + _TMP3 = texture2D(Texture, _c0019); + _TMP4 = texture2D(Texture, TEX0.xy); + _c0023 = TEX0.xy + vec2( 0.00000000E+00, 1.11051882E-03); + _TMP5 = texture2D(Texture, _c0023); + _c0025 = TEX0.xy + vec2( 9.71703965E-04, -1.11051882E-03); + _TMP6 = texture2D(Texture, _c0025); + _c0027 = TEX0.xy + vec2( 9.71703965E-04, 0.00000000E+00); + _TMP7 = texture2D(Texture, _c0027); + _c0029 = TEX0.xy + vec2( 9.71703965E-04, 1.11051882E-03); + _TMP8 = texture2D(Texture, _c0029); + _x0031 = TEX0.x*5.12000000E+02; + _frac_amt_x = fract(_x0031); + _x0033 = TEX0.y*4.48000000E+02; + _frac_amt_y = fract(_x0033); + _x0035 = _frac_amt_x + 5.00000000E-01; + _poly0035[2] = (5.00000000E-01*_TMP0.xyz - _TMP3.xyz) + 5.00000000E-01*_TMP6.xyz; + _poly0035[1] = (-1.50000000E+00*_TMP0.xyz + 2.00000000E+00*_TMP3.xyz) - 5.00000000E-01*_TMP6.xyz; + _loval = _poly0035[2]*_x0035*_x0035 + _poly0035[1]*_x0035 + _TMP0.xyz; + _x0037 = _frac_amt_x + 5.00000000E-01; + _poly0037[2] = (5.00000000E-01*_TMP1.xyz - _TMP4.xyz) + 5.00000000E-01*_TMP7.xyz; + _poly0037[1] = (-1.50000000E+00*_TMP1.xyz + 2.00000000E+00*_TMP4.xyz) - 5.00000000E-01*_TMP7.xyz; + _midval = _poly0037[2]*_x0037*_x0037 + _poly0037[1]*_x0037 + _TMP1.xyz; + _x0039 = _frac_amt_x + 5.00000000E-01; + _poly0039[2] = (5.00000000E-01*_TMP2.xyz - _TMP5.xyz) + 5.00000000E-01*_TMP8.xyz; + _poly0039[1] = (-1.50000000E+00*_TMP2.xyz + 2.00000000E+00*_TMP5.xyz) - 5.00000000E-01*_TMP8.xyz; + _hival = _poly0039[2]*_x0039*_x0039 + _poly0039[1]*_x0039 + _TMP2.xyz; + _x0041 = _frac_amt_y + 5.00000000E-01; + _poly0041[2] = (5.00000000E-01*_loval - _midval) + 5.00000000E-01*_hival; + _poly0041[1] = (-1.50000000E+00*_loval + 2.00000000E+00*_midval) - 5.00000000E-01*_hival; + _res = _poly0041[2]*_x0041*_x0041 + _poly0041[1]*_x0041 + _loval; + _OUT._color = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Quad/quad_interp.glsl b/ios/Assets/shaders_glsl/Quad/quad_interp.glsl new file mode 100644 index 0000000000..c277df1bcf --- /dev/null +++ b/ios/Assets/shaders_glsl/Quad/quad_interp.glsl @@ -0,0 +1,191 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _DR; +varying vec2 _DL; +varying vec2 _UR; +varying vec2 _UL; +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct deltas { + vec2 _UL; + vec2 _UR; + vec2 _DL; + vec2 _DR; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _DR; +varying vec2 _DL; +varying vec2 _UR; +varying vec2 _UL; +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct deltas { + vec2 _UL; + vec2 _UR; + vec2 _DL; + vec2 _DR; +}; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +input_dummy _IN1; +uniform sampler2D Texture; +vec2 _c0013; +vec2 _c0015; +vec2 _c0017; +vec2 _c0019; +vec2 _c0023; +vec2 _c0025; +vec2 _c0027; +vec2 _c0029; +float _x0031; +float _x0033; +vec3 _poly0035[3]; +float _x0035; +vec3 _poly0037[3]; +float _x0037; +vec3 _poly0039[3]; +float _x0039; +vec3 _poly0041[3]; +float _x0041; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + float _dx; + float _dy; + float _frac_amt_x; + float _frac_amt_y; + vec3 _loval; + vec3 _midval; + vec3 _hival; + vec3 _res; + output_dummy _OUT; + _dx = 1.00000000E+00/(2.00999999E+00*TextureSize.x); + _dy = 1.00000000E+00/(2.00999999E+00*TextureSize.y); + _c0013 = TEX0.xy + vec2(-_dx, -_dy); + _TMP0 = texture2D(Texture, _c0013); + _c0015 = TEX0.xy + vec2(-_dx, 0.00000000E+00); + _TMP1 = texture2D(Texture, _c0015); + _c0017 = TEX0.xy + vec2(-_dx, _dy); + _TMP2 = texture2D(Texture, _c0017); + _c0019 = TEX0.xy + vec2(0.00000000E+00, -_dy); + _TMP3 = texture2D(Texture, _c0019); + _TMP4 = texture2D(Texture, TEX0.xy); + _c0023 = TEX0.xy + vec2(0.00000000E+00, _dy); + _TMP5 = texture2D(Texture, _c0023); + _c0025 = TEX0.xy + vec2(_dx, -_dy); + _TMP6 = texture2D(Texture, _c0025); + _c0027 = TEX0.xy + vec2(_dx, 0.00000000E+00); + _TMP7 = texture2D(Texture, _c0027); + _c0029 = TEX0.xy + vec2(_dx, _dy); + _TMP8 = texture2D(Texture, _c0029); + _x0031 = TEX0.x*TextureSize.x; + _frac_amt_x = fract(_x0031); + _x0033 = TEX0.y*TextureSize.y; + _frac_amt_y = fract(_x0033); + _x0035 = _frac_amt_x + 5.00000000E-01; + _poly0035[2] = (5.00000000E-01*_TMP0.xyz - _TMP3.xyz) + 5.00000000E-01*_TMP6.xyz; + _poly0035[1] = (-1.50000000E+00*_TMP0.xyz + 2.00000000E+00*_TMP3.xyz) - 5.00000000E-01*_TMP6.xyz; + _loval = _poly0035[2]*_x0035*_x0035 + _poly0035[1]*_x0035 + _TMP0.xyz; + _x0037 = _frac_amt_x + 5.00000000E-01; + _poly0037[2] = (5.00000000E-01*_TMP1.xyz - _TMP4.xyz) + 5.00000000E-01*_TMP7.xyz; + _poly0037[1] = (-1.50000000E+00*_TMP1.xyz + 2.00000000E+00*_TMP4.xyz) - 5.00000000E-01*_TMP7.xyz; + _midval = _poly0037[2]*_x0037*_x0037 + _poly0037[1]*_x0037 + _TMP1.xyz; + _x0039 = _frac_amt_x + 5.00000000E-01; + _poly0039[2] = (5.00000000E-01*_TMP2.xyz - _TMP5.xyz) + 5.00000000E-01*_TMP8.xyz; + _poly0039[1] = (-1.50000000E+00*_TMP2.xyz + 2.00000000E+00*_TMP5.xyz) - 5.00000000E-01*_TMP8.xyz; + _hival = _poly0039[2]*_x0039*_x0039 + _poly0039[1]*_x0039 + _TMP2.xyz; + _x0041 = _frac_amt_y + 5.00000000E-01; + _poly0041[2] = (5.00000000E-01*_loval - _midval) + 5.00000000E-01*_hival; + _poly0041[1] = (-1.50000000E+00*_loval + 2.00000000E+00*_midval) - 5.00000000E-01*_hival; + _res = _poly0041[2]*_x0041*_x0041 + _poly0041[1]*_x0041 + _loval; + _OUT._color = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Quilez.glsl b/ios/Assets/shaders_glsl/Quilez.glsl new file mode 100644 index 0000000000..3cf5a7f0fd --- /dev/null +++ b/ios/Assets/shaders_glsl/Quilez.glsl @@ -0,0 +1,111 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +input_dummy _IN1; +uniform sampler2D Texture; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _p; + vec2 _i; + vec2 _f; + output_dummy _OUT; + _p = TEX0.xy*TextureSize + vec2( 5.00000000E-01, 5.00000000E-01); + _i = floor(_p); + _f = _p - _i; + _f = _f*_f*_f*(_f*(_f*6.00000000E+00 - vec2( 1.50000000E+01, 1.50000000E+01)) + vec2( 1.00000000E+01, 1.00000000E+01)); + _p = _i + _f; + _p = (_p - vec2( 5.00000000E-01, 5.00000000E-01))/TextureSize; + _OUT._color = texture2D(Texture, _p); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/SABR/SABR-v3.0.glsl b/ios/Assets/shaders_glsl/SABR/SABR-v3.0.glsl new file mode 100644 index 0000000000..02f60b7095 --- /dev/null +++ b/ios/Assets/shaders_glsl/SABR/SABR-v3.0.glsl @@ -0,0 +1,483 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARxyp_21_22_23; +varying vec4 VARxyp_16_17_18; +varying vec4 VARxyp_11_12_13; +varying vec4 VARxyp_9_14_9; +varying vec4 VARxyp_6_7_8; +varying vec4 VARxyp_5_10_15; +varying vec4 VARxyp_1_2_3; +varying vec2 _tc; +varying vec4 _color1; +varying vec4 _pos; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _pos; + vec4 _color1; + vec2 _tc; + vec4 VARxyp_1_2_3; + vec4 VARxyp_5_10_15; + vec4 VARxyp_6_7_8; + vec4 VARxyp_9_14_9; + vec4 VARxyp_11_12_13; + vec4 VARxyp_16_17_18; + vec4 VARxyp_21_22_23; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + float _x; + float _y; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.w = float(_TMP0); + _x = 1.00000000E+00/TextureSize.x; + _y = 1.00000000E+00/TextureSize.y; + _OUT.VARxyp_1_2_3 = TexCoord.xxxy + vec4(-_x, 0.00000000E+00, _x, -2.00000000E+00*_y); + _OUT.VARxyp_6_7_8 = TexCoord.xxxy + vec4(-_x, 0.00000000E+00, _x, -_y); + _OUT.VARxyp_11_12_13 = TexCoord.xxxy + vec4(-_x, 0.00000000E+00, _x, 0.00000000E+00); + _OUT.VARxyp_16_17_18 = TexCoord.xxxy + vec4(-_x, 0.00000000E+00, _x, _y); + _OUT.VARxyp_21_22_23 = TexCoord.xxxy + vec4(-_x, 0.00000000E+00, _x, 2.00000000E+00*_y); + _OUT.VARxyp_5_10_15 = TexCoord.xyyy + vec4(-2.00000000E+00*_x, -_y, 0.00000000E+00, _y); + _OUT.VARxyp_9_14_9 = TexCoord.xyyy + vec4(2.00000000E+00*_x, -_y, 0.00000000E+00, _y); + _ret_0._pos = _r0004; + _ret_0._color1 = _OUT._color1; + _ret_0._tc = TexCoord.xy; + VARxyp_1_2_3 = _OUT.VARxyp_1_2_3; + VARxyp_5_10_15 = _OUT.VARxyp_5_10_15; + VARxyp_6_7_8 = _OUT.VARxyp_6_7_8; + VARxyp_9_14_9 = _OUT.VARxyp_9_14_9; + VARxyp_11_12_13 = _OUT.VARxyp_11_12_13; + VARxyp_16_17_18 = _OUT.VARxyp_16_17_18; + VARxyp_21_22_23 = _OUT.VARxyp_21_22_23; + gl_Position = vec4(float(_r0004.x), float(_r0004.y), float(_r0004.z), float(_r0004.w)); + COL0 = _OUT._color1; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._tc; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARxyp_21_22_23; +varying vec4 VARxyp_16_17_18; +varying vec4 VARxyp_11_12_13; +varying vec4 VARxyp_9_14_9; +varying vec4 VARxyp_6_7_8; +varying vec4 VARxyp_5_10_15; +varying vec4 VARxyp_1_2_3; +varying vec2 _tc; +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color; + vec2 _tc; + vec4 VARxyp_1_2_3; + vec4 VARxyp_5_10_15; + vec4 VARxyp_6_7_8; + vec4 VARxyp_9_14_9; + vec4 VARxyp_11_12_13; + vec4 VARxyp_16_17_18; + vec4 VARxyp_21_22_23; +}; +vec4 _ret_0; +vec3 _TMP46; +float _TMP45; +float _TMP44; +float _TMP43; +vec3 _TMP42; +vec3 _TMP41; +vec3 _TMP40; +vec3 _TMP39; +vec3 _TMP38; +vec3 _TMP37; +vec3 _TMP36; +vec3 _TMP35; +vec4 _TMP34; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +bvec4 _TMP26; +bvec4 _TMP25; +bvec4 _TMP24; +bvec4 _TMP23; +bvec4 _TMP22; +bvec4 _TMP21; +vec4 _TMP57; +float _TMP50; +float _TMP49; +float _TMP48; +float _TMP47; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0165; +vec4 _x0167; +vec4 _x0169; +vec4 _TMP170; +vec4 _x0177; +vec4 _x0179; +vec4 _TMP180; +vec4 _x0187; +vec4 _x0189; +vec4 _TMP190; +vec4 _x0197; +vec4 _x0199; +vec4 _TMP200; +vec4 _TMP208; +vec4 _a0211; +vec4 _TMP212; +vec4 _a0215; +vec4 _TMP216; +vec4 _a0219; +vec4 _TMP220; +vec4 _a0223; +vec4 _TMP224; +vec4 _a0227; +vec4 _TMP230; +vec4 _a0233; +vec4 _TMP234; +vec4 _a0237; +vec4 _TMP238; +vec4 _a0241; +vec4 _TMP242; +vec4 _a0245; +vec4 _TMP246; +vec4 _a0249; +vec4 _TMP250; +vec4 _a0253; +vec4 _TMP254; +vec4 _a0257; +vec4 _TMP260; +vec4 _a0263; +vec4 _TMP266; +vec4 _a0269; +vec4 _TMP272; +vec4 _a0275; +vec4 _TMP278; +vec4 _a0281; +vec4 _TMP284; +vec4 _a0287; +vec4 _TMP290; +vec4 _a0293; +vec4 _TMP296; +vec4 _a0299; +vec4 _TMP302; +vec4 _a0305; +vec4 _TMP308; +vec4 _a0311; +vec4 _TMP314; +vec4 _a0317; +vec4 _TMP320; +vec4 _a0323; +vec4 _TMP324; +vec4 _a0327; +vec4 _TMP328; +vec4 _a0331; +vec3 _df0369; +vec3 _a0371; +vec3 _df0373; +vec3 _a0375; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _p7; + vec4 _p8; + vec4 _p12; + vec4 _p14; + vec4 _p19; + vec4 _p23; + vec2 _fp; + vec4 _ma45; + vec4 _ma30; + vec4 _ma60; + vec4 _marn; + vec4 _e45; + vec4 _econt; + bvec4 _r45; + bvec4 _r30; + bvec4 _r60; + bvec4 _edr45; + bvec4 _edrrn; + bvec4 _edr30; + bvec4 _edr60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _final36; + vec4 _finalrn; + vec4 _px; + vec4 _mac; + vec3 _res1; + vec3 _res2; + _TMP0 = texture2D(Texture, VARxyp_1_2_3.xw); + _TMP1 = texture2D(Texture, VARxyp_1_2_3.yw); + _TMP2 = texture2D(Texture, VARxyp_1_2_3.zw); + _TMP3 = texture2D(Texture, VARxyp_6_7_8.xw); + _TMP4 = texture2D(Texture, VARxyp_6_7_8.yw); + _TMP5 = texture2D(Texture, VARxyp_6_7_8.zw); + _TMP6 = texture2D(Texture, VARxyp_11_12_13.xw); + _TMP7 = texture2D(Texture, VARxyp_11_12_13.yw); + _TMP8 = texture2D(Texture, VARxyp_11_12_13.zw); + _TMP9 = texture2D(Texture, VARxyp_16_17_18.xw); + _TMP10 = texture2D(Texture, VARxyp_16_17_18.yw); + _TMP11 = texture2D(Texture, VARxyp_16_17_18.zw); + _TMP12 = texture2D(Texture, VARxyp_21_22_23.xw); + _TMP13 = texture2D(Texture, VARxyp_21_22_23.yw); + _TMP14 = texture2D(Texture, VARxyp_21_22_23.zw); + _TMP15 = texture2D(Texture, VARxyp_5_10_15.xy); + _TMP16 = texture2D(Texture, VARxyp_5_10_15.xz); + _TMP17 = texture2D(Texture, VARxyp_5_10_15.xw); + _TMP18 = texture2D(Texture, VARxyp_9_14_9.xy); + _TMP19 = texture2D(Texture, VARxyp_9_14_9.xz); + _TMP20 = texture2D(Texture, VARxyp_9_14_9.xw); + _TMP47 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP4.xyz); + _TMP48 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP6.xyz); + _TMP49 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP10.xyz); + _TMP50 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP8.xyz); + _p7 = vec4(_TMP47, _TMP48, _TMP49, _TMP50); + _TMP47 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP5.xyz); + _TMP48 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP3.xyz); + _TMP49 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP9.xyz); + _TMP50 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP11.xyz); + _p8 = vec4(_TMP47, _TMP48, _TMP49, _TMP50); + _TMP47 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP7.xyz); + _TMP48 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP7.xyz); + _TMP49 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP7.xyz); + _TMP50 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP7.xyz); + _p12 = vec4(_TMP47, _TMP48, _TMP49, _TMP50); + _TMP47 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP19.xyz); + _TMP48 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP1.xyz); + _TMP49 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP16.xyz); + _TMP50 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP13.xyz); + _p14 = vec4(_TMP47, _TMP48, _TMP49, _TMP50); + _TMP47 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP20.xyz); + _TMP48 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP2.xyz); + _TMP49 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP15.xyz); + _TMP50 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP12.xyz); + _p19 = vec4(_TMP47, _TMP48, _TMP49, _TMP50); + _TMP47 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP14.xyz); + _TMP48 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP18.xyz); + _TMP49 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP0.xyz); + _TMP50 = dot(vec3( 2.09999993E-01, 7.20000029E-01, 7.00000003E-02), _TMP17.xyz); + _p23 = vec4(_TMP47, _TMP48, _TMP49, _TMP50); + _x0165 = TEX0.xy*TextureSize; + _fp = fract(_x0165); + _x0167 = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _x0169 = (_x0167 - vec4( 1.10000002E+00, 9.99999940E-02, -8.99999976E-01, 9.99999940E-02))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 7.99999952E-01); + _TMP57 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0169); + _TMP170 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP57); + _ma45 = _TMP170*_TMP170*(3.00000000E+00 - 2.00000000E+00*_TMP170); + _x0177 = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _x0179 = (_x0177 - vec4( 8.00000012E-01, 6.00000024E-01, -6.99999988E-01, -4.00000006E-01))/vec4( 4.00000036E-01, 7.99999952E-01, 3.99999976E-01, 8.00000012E-01); + _TMP57 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0179); + _TMP180 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP57); + _ma30 = _TMP180*_TMP180*(3.00000000E+00 - 2.00000000E+00*_TMP180); + _x0187 = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _x0189 = (_x0187 - vec4( 1.60000002E+00, -2.00000003E-01, -1.39999998E+00, 3.00000012E-01))/vec4( 8.00000072E-01, 4.00000006E-01, 7.99999952E-01, 3.99999976E-01); + _TMP57 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0189); + _TMP190 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP57); + _ma60 = _TMP190*_TMP190*(3.00000000E+00 - 2.00000000E+00*_TMP190); + _x0197 = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _x0199 = (_x0197 - vec4( 1.30000007E+00, 3.00000012E-01, -6.99999988E-01, 3.00000012E-01))/vec4( 7.99999833E-01, 8.00000012E-01, 8.00000012E-01, 8.00000012E-01); + _TMP57 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0199); + _TMP200 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP57); + _marn = _TMP200*_TMP200*(3.00000000E+00 - 2.00000000E+00*_TMP200); + _a0211 = _p12 - _p8; + _TMP208 = abs(_a0211); + _a0215 = _p12 - _p8.zwxy; + _TMP212 = abs(_a0215); + _a0219 = _p8.wxyz - _p14.wxyz; + _TMP216 = abs(_a0219); + _a0223 = _p8.wxyz - _p14; + _TMP220 = abs(_a0223); + _a0227 = _p7.zwxy - _p7.wxyz; + _TMP224 = abs(_a0227); + _e45 = _TMP208 + _TMP212 + _TMP216 + _TMP220 + 4.00000000E+00*_TMP224; + _a0233 = _p7.zwxy - _p7.yzwx; + _TMP230 = abs(_a0233); + _a0237 = _p7.zwxy - _p23; + _TMP234 = abs(_a0237); + _a0241 = _p7.wxyz - _p7; + _TMP238 = abs(_a0241); + _a0245 = _p7.wxyz - _p19; + _TMP242 = abs(_a0245); + _a0249 = _p12 - _p8.wxyz; + _TMP246 = abs(_a0249); + _econt = _TMP230 + _TMP234 + _TMP238 + _TMP242 + 4.00000000E+00*_TMP246; + _a0253 = _p7.wxyz - _p8.zwxy; + _TMP250 = abs(_a0253); + _a0257 = _p8 - _p7.zwxy; + _TMP254 = abs(_a0257); + _a0263 = _p7.wxyz - _p7; + _TMP260 = abs(_a0263); + _TMP21 = bvec4(_TMP260.x < 3.19999993E-01, _TMP260.y < 3.19999993E-01, _TMP260.z < 3.19999993E-01, _TMP260.w < 3.19999993E-01); + _a0269 = _p7.wxyz - _p8; + _TMP266 = abs(_a0269); + _TMP22 = bvec4(_TMP266.x < 3.19999993E-01, _TMP266.y < 3.19999993E-01, _TMP266.z < 3.19999993E-01, _TMP266.w < 3.19999993E-01); + _a0275 = _p7.zwxy - _p7.yzwx; + _TMP272 = abs(_a0275); + _TMP23 = bvec4(_TMP272.x < 3.19999993E-01, _TMP272.y < 3.19999993E-01, _TMP272.z < 3.19999993E-01, _TMP272.w < 3.19999993E-01); + _a0281 = _p7.zwxy - _p8.zwxy; + _TMP278 = abs(_a0281); + _TMP24 = bvec4(_TMP278.x < 3.19999993E-01, _TMP278.y < 3.19999993E-01, _TMP278.z < 3.19999993E-01, _TMP278.w < 3.19999993E-01); + _a0287 = _p12 - _p8.wxyz; + _TMP284 = abs(_a0287); + _TMP25 = bvec4(_TMP284.x < 3.19999993E-01, _TMP284.y < 3.19999993E-01, _TMP284.z < 3.19999993E-01, _TMP284.w < 3.19999993E-01); + _a0293 = _p7.wxyz - _p14; + _TMP290 = abs(_a0293); + _TMP26 = bvec4(_TMP290.x < 3.19999993E-01, _TMP290.y < 3.19999993E-01, _TMP290.z < 3.19999993E-01, _TMP290.w < 3.19999993E-01); + _a0299 = _p7.wxyz - _p19; + _TMP296 = abs(_a0299); + _TMP27 = bvec4(_TMP296.x < 3.19999993E-01, _TMP296.y < 3.19999993E-01, _TMP296.z < 3.19999993E-01, _TMP296.w < 3.19999993E-01); + _a0305 = _p7.zwxy - _p14.wxyz; + _TMP302 = abs(_a0305); + _TMP28 = bvec4(_TMP302.x < 3.19999993E-01, _TMP302.y < 3.19999993E-01, _TMP302.z < 3.19999993E-01, _TMP302.w < 3.19999993E-01); + _a0311 = _p7.zwxy - _p23; + _TMP308 = abs(_a0311); + _TMP29 = bvec4(_TMP308.x < 3.19999993E-01, _TMP308.y < 3.19999993E-01, _TMP308.z < 3.19999993E-01, _TMP308.w < 3.19999993E-01); + _a0317 = _p12 - _p8.zwxy; + _TMP314 = abs(_a0317); + _TMP30 = bvec4(_TMP314.x < 3.19999993E-01, _TMP314.y < 3.19999993E-01, _TMP314.z < 3.19999993E-01, _TMP314.w < 3.19999993E-01); + _a0323 = _p12 - _p8; + _TMP320 = abs(_a0323); + _TMP31 = bvec4(_TMP320.x < 3.19999993E-01, _TMP320.y < 3.19999993E-01, _TMP320.z < 3.19999993E-01, _TMP320.w < 3.19999993E-01); + _r45 = bvec4(_p12.x != _p7.w && _p12.x != _p7.z && (!_TMP21.x && !_TMP22.x || !_TMP23.x && !_TMP24.x || _TMP25.x && (!_TMP26.x && !_TMP27.x || !_TMP28.x && !_TMP29.x) || _TMP30.x || _TMP31.x), _p12.y != _p7.x && _p12.y != _p7.w && (!_TMP21.y && !_TMP22.y || !_TMP23.y && !_TMP24.y || _TMP25.y && (!_TMP26.y && !_TMP27.y || !_TMP28.y && !_TMP29.y) || _TMP30.y || _TMP31.y), _p12.z != _p7.y && _p12.z != _p7.x && (!_TMP21.z && !_TMP22.z || !_TMP23.z && !_TMP24.z || _TMP25.z && (!_TMP26.z && !_TMP27.z || !_TMP28.z && !_TMP29.z) || _TMP30.z || _TMP31.z), _p12.w != _p7.z && _p12.w != _p7.y && (!_TMP21.w && !_TMP22.w || !_TMP23.w && !_TMP24.w || _TMP25.w && (!_TMP26.w && !_TMP27.w || !_TMP28.w && !_TMP29.w) || _TMP30.w || _TMP31.w)); + _r30 = bvec4(_p12.x != _p8.z && _p7.y != _p8.z, _p12.y != _p8.w && _p7.z != _p8.w, _p12.z != _p8.x && _p7.w != _p8.x, _p12.w != _p8.y && _p7.x != _p8.y); + _r60 = bvec4(_p12.x != _p8.x && _p7.x != _p8.x, _p12.y != _p8.y && _p7.y != _p8.y, _p12.z != _p8.z && _p7.z != _p8.z, _p12.w != _p8.w && _p7.w != _p8.w); + _edr45 = bvec4(_e45.x < _econt.x && _r45.x, _e45.y < _econt.y && _r45.y, _e45.z < _econt.z && _r45.z, _e45.w < _econt.w && _r45.w); + _edrrn = bvec4(_e45.x <= _econt.x, _e45.y <= _econt.y, _e45.z <= _econt.z, _e45.w <= _econt.w); + _edr30 = bvec4((_TMP250*2.00000000E+00).x <= _TMP254.x && _r30.x, (_TMP250*2.00000000E+00).y <= _TMP254.y && _r30.y, (_TMP250*2.00000000E+00).z <= _TMP254.z && _r30.z, (_TMP250*2.00000000E+00).w <= _TMP254.w && _r30.w); + _edr60 = bvec4((_TMP254*2.00000000E+00).x <= _TMP250.x && _r60.x, (_TMP254*2.00000000E+00).y <= _TMP250.y && _r60.y, (_TMP254*2.00000000E+00).z <= _TMP250.z && _r60.z, (_TMP254*2.00000000E+00).w <= _TMP250.w && _r60.w); + _final45 = vec4(float((!_edr30.x && !_edr60.x && _edr45.x)), float((!_edr30.y && !_edr60.y && _edr45.y)), float((!_edr30.z && !_edr60.z && _edr45.z)), float((!_edr30.w && !_edr60.w && _edr45.w))); + _final30 = vec4(float((_edr45.x && _edr30.x && !_edr60.x)), float((_edr45.y && _edr30.y && !_edr60.y)), float((_edr45.z && _edr30.z && !_edr60.z)), float((_edr45.w && _edr30.w && !_edr60.w))); + _final60 = vec4(float((_edr45.x && _edr60.x && !_edr30.x)), float((_edr45.y && _edr60.y && !_edr30.y)), float((_edr45.z && _edr60.z && !_edr30.z)), float((_edr45.w && _edr60.w && !_edr30.w))); + _final36 = vec4(float((_edr45.x && _edr30.x && _edr60.x)), float((_edr45.y && _edr30.y && _edr60.y)), float((_edr45.z && _edr30.z && _edr60.z)), float((_edr45.w && _edr30.w && _edr60.w))); + _finalrn = vec4(float((!_edr45.x && _edrrn.x)), float((!_edr45.y && _edrrn.y)), float((!_edr45.z && _edrrn.z)), float((!_edr45.w && _edrrn.w))); + _a0327 = _p12 - _p7.zwxy; + _TMP324 = abs(_a0327); + _a0331 = _p12 - _p7.wxyz; + _TMP328 = abs(_a0331); + _px = vec4(float((_TMP328.x >= _TMP324.x)), float((_TMP328.y >= _TMP324.y)), float((_TMP328.z >= _TMP324.z)), float((_TMP328.w >= _TMP324.w))); + _TMP34 = max(_ma30, _ma60); + _mac = _final36*_TMP34 + _final30*_ma30 + _final60*_ma60 + _final45*_ma45 + _finalrn*_marn; + _TMP35 = _TMP8.xyz + _px.x*(_TMP10.xyz - _TMP8.xyz); + _res1 = _TMP7.xyz + _mac.x*(_TMP35 - _TMP7.xyz); + _TMP36 = _TMP4.xyz + _px.y*(_TMP8.xyz - _TMP4.xyz); + _res1 = _res1 + _mac.y*(_TMP36 - _res1); + _TMP37 = _TMP6.xyz + _px.z*(_TMP4.xyz - _TMP6.xyz); + _res1 = _res1 + _mac.z*(_TMP37 - _res1); + _TMP38 = _TMP10.xyz + _px.w*(_TMP6.xyz - _TMP10.xyz); + _res1 = _res1 + _mac.w*(_TMP38 - _res1); + _TMP39 = _TMP10.xyz + _px.w*(_TMP6.xyz - _TMP10.xyz); + _res2 = _TMP7.xyz + _mac.w*(_TMP39 - _TMP7.xyz); + _TMP40 = _TMP6.xyz + _px.z*(_TMP4.xyz - _TMP6.xyz); + _res2 = _res2 + _mac.z*(_TMP40 - _res2); + _TMP41 = _TMP4.xyz + _px.y*(_TMP8.xyz - _TMP4.xyz); + _res2 = _res2 + _mac.y*(_TMP41 - _res2); + _TMP42 = _TMP8.xyz + _px.x*(_TMP10.xyz - _TMP8.xyz); + _res2 = _res2 + _mac.x*(_TMP42 - _res2); + _a0371 = _TMP7.xyz - _res1; + _df0369 = abs(_a0371); + _TMP43 = _df0369.x + _df0369.y + _df0369.z; + _a0375 = _TMP7.xyz - _res2; + _df0373 = abs(_a0375); + _TMP44 = _df0373.x + _df0373.y + _df0373.z; + _TMP45 = float((_TMP44 >= _TMP43)); + _TMP46 = _res1 + _TMP45*(_res2 - _res1); + _ret_0 = vec4(_TMP46.x, _TMP46.y, _TMP46.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/SABR/sabr-v1.1.glsl b/ios/Assets/shaders_glsl/SABR/sabr-v1.1.glsl new file mode 100644 index 0000000000..6713b68c27 --- /dev/null +++ b/ios/Assets/shaders_glsl/SABR/sabr-v1.1.glsl @@ -0,0 +1,542 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARxyp_21_22_23; +varying vec4 VARxyp_16_17_18; +varying vec4 VARxyp_11_12_13; +varying vec4 VARxyp_9_14_9; +varying vec4 VARxyp_6_7_8; +varying vec4 VARxyp_5_10_15; +varying vec4 VARxyp_1_2_3; +varying vec2 _tc; +varying vec4 _color1; +varying vec4 _pos; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _pos; + vec4 _color1; + vec2 _tc; + vec4 VARxyp_1_2_3; + vec4 VARxyp_5_10_15; + vec4 VARxyp_6_7_8; + vec4 VARxyp_9_14_9; + vec4 VARxyp_11_12_13; + vec4 VARxyp_16_17_18; + vec4 VARxyp_21_22_23; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + float _x; + float _y; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.w = float(_TMP0); + _x = 1.00000000E+00/TextureSize.x; + _y = 1.00000000E+00/TextureSize.y; + _OUT.VARxyp_1_2_3 = TexCoord.xxxy + vec4(-_x, 0.00000000E+00, _x, -2.00000000E+00*_y); + _OUT.VARxyp_6_7_8 = TexCoord.xxxy + vec4(-_x, 0.00000000E+00, _x, -_y); + _OUT.VARxyp_11_12_13 = TexCoord.xxxy + vec4(-_x, 0.00000000E+00, _x, 0.00000000E+00); + _OUT.VARxyp_16_17_18 = TexCoord.xxxy + vec4(-_x, 0.00000000E+00, _x, _y); + _OUT.VARxyp_21_22_23 = TexCoord.xxxy + vec4(-_x, 0.00000000E+00, _x, 2.00000000E+00*_y); + _OUT.VARxyp_5_10_15 = TexCoord.xyyy + vec4(-2.00000000E+00*_x, -_y, 0.00000000E+00, _y); + _OUT.VARxyp_9_14_9 = TexCoord.xyyy + vec4(2.00000000E+00*_x, -_y, 0.00000000E+00, _y); + _ret_0._pos = _r0004; + _ret_0._color1 = _OUT._color1; + _ret_0._tc = TexCoord.xy; + VARxyp_1_2_3 = _OUT.VARxyp_1_2_3; + VARxyp_5_10_15 = _OUT.VARxyp_5_10_15; + VARxyp_6_7_8 = _OUT.VARxyp_6_7_8; + VARxyp_9_14_9 = _OUT.VARxyp_9_14_9; + VARxyp_11_12_13 = _OUT.VARxyp_11_12_13; + VARxyp_16_17_18 = _OUT.VARxyp_16_17_18; + VARxyp_21_22_23 = _OUT.VARxyp_21_22_23; + gl_Position = vec4(float(_r0004.x), float(_r0004.y), float(_r0004.z), float(_r0004.w)); + COL0 = _OUT._color1; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._tc; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARxyp_21_22_23; +varying vec4 VARxyp_16_17_18; +varying vec4 VARxyp_11_12_13; +varying vec4 VARxyp_9_14_9; +varying vec4 VARxyp_6_7_8; +varying vec4 VARxyp_5_10_15; +varying vec4 VARxyp_1_2_3; +varying vec2 _tc; +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color; + vec2 _tc; + vec4 VARxyp_1_2_3; + vec4 VARxyp_5_10_15; + vec4 VARxyp_6_7_8; + vec4 VARxyp_9_14_9; + vec4 VARxyp_11_12_13; + vec4 VARxyp_16_17_18; + vec4 VARxyp_21_22_23; +}; +vec4 _ret_0; +vec3 _TMP53; +vec3 _TMP52; +vec3 _TMP51; +vec3 _TMP50; +float _TMP46; +float _TMP47; +float _TMP48; +float _TMP49; +float _TMP42; +float _TMP43; +float _TMP44; +float _TMP45; +float _TMP38; +float _TMP39; +float _TMP40; +float _TMP41; +float _TMP34; +float _TMP35; +float _TMP36; +float _TMP37; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +bvec4 _TMP26; +bvec4 _TMP25; +bvec4 _TMP24; +bvec4 _TMP23; +bvec4 _TMP22; +bvec4 _TMP21; +vec4 _TMP64; +float _TMP57; +float _TMP56; +float _TMP55; +float _TMP54; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0172; +vec4 _x0176; +vec4 _TMP177; +vec4 _x0186; +vec4 _TMP187; +vec4 _x0196; +vec4 _TMP197; +vec4 _x0206; +vec4 _TMP207; +vec4 _TMP215; +vec4 _a0218; +vec4 _TMP219; +vec4 _a0222; +vec4 _TMP223; +vec4 _a0226; +vec4 _TMP227; +vec4 _a0230; +vec4 _TMP231; +vec4 _a0234; +vec4 _TMP237; +vec4 _a0240; +vec4 _TMP241; +vec4 _a0244; +vec4 _TMP245; +vec4 _a0248; +vec4 _TMP249; +vec4 _a0252; +vec4 _TMP253; +vec4 _a0256; +vec4 _TMP257; +vec4 _a0260; +vec4 _TMP261; +vec4 _a0264; +vec4 _TMP267; +vec4 _a0270; +vec4 _TMP273; +vec4 _a0276; +vec4 _TMP279; +vec4 _a0282; +vec4 _TMP285; +vec4 _a0288; +vec4 _TMP291; +vec4 _a0294; +vec4 _TMP297; +vec4 _a0300; +vec4 _TMP303; +vec4 _a0306; +vec4 _TMP309; +vec4 _a0312; +vec4 _TMP315; +vec4 _a0318; +vec4 _TMP321; +vec4 _a0324; +vec4 _TMP327; +vec4 _a0330; +vec4 _TMP331; +vec4 _a0334; +vec4 _TMP335; +vec4 _a0338; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _p7; + vec4 _p8; + vec4 _p12; + vec4 _p14; + vec4 _p19; + vec4 _p23; + vec2 _fp; + vec4 _t45; + vec4 _t15; + vec4 _t60; + bvec4 _fx45; + bvec4 _fx15; + bvec4 _fx60; + bvec4 _fxrn; + vec4 _ma45; + vec4 _ma15; + vec4 _ma60; + vec4 _marn; + vec4 _e45; + vec4 _econt; + bvec4 _r45; + bvec4 _r15; + bvec4 _r60; + bvec4 _edr45; + bvec4 _edr15; + bvec4 _edr60; + bvec4 _edrrn; + vec4 _px; + vec3 _res; + _TMP0 = texture2D(Texture, VARxyp_1_2_3.xw); + _TMP1 = texture2D(Texture, VARxyp_1_2_3.yw); + _TMP2 = texture2D(Texture, VARxyp_1_2_3.zw); + _TMP3 = texture2D(Texture, VARxyp_6_7_8.xw); + _TMP4 = texture2D(Texture, VARxyp_6_7_8.yw); + _TMP5 = texture2D(Texture, VARxyp_6_7_8.zw); + _TMP6 = texture2D(Texture, VARxyp_11_12_13.xw); + _TMP7 = texture2D(Texture, VARxyp_11_12_13.yw); + _TMP8 = texture2D(Texture, VARxyp_11_12_13.zw); + _TMP9 = texture2D(Texture, VARxyp_16_17_18.xw); + _TMP10 = texture2D(Texture, VARxyp_16_17_18.yw); + _TMP11 = texture2D(Texture, VARxyp_16_17_18.zw); + _TMP12 = texture2D(Texture, VARxyp_21_22_23.xw); + _TMP13 = texture2D(Texture, VARxyp_21_22_23.yw); + _TMP14 = texture2D(Texture, VARxyp_21_22_23.zw); + _TMP15 = texture2D(Texture, VARxyp_5_10_15.xy); + _TMP16 = texture2D(Texture, VARxyp_5_10_15.xz); + _TMP17 = texture2D(Texture, VARxyp_5_10_15.xw); + _TMP18 = texture2D(Texture, VARxyp_9_14_9.xy); + _TMP19 = texture2D(Texture, VARxyp_9_14_9.xz); + _TMP20 = texture2D(Texture, VARxyp_9_14_9.xw); + _TMP54 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP4.xyz); + _TMP55 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP6.xyz); + _TMP56 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP10.xyz); + _TMP57 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP8.xyz); + _p7 = vec4(_TMP54, _TMP55, _TMP56, _TMP57); + _TMP54 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP5.xyz); + _TMP55 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP3.xyz); + _TMP56 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP9.xyz); + _TMP57 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP11.xyz); + _p8 = vec4(_TMP54, _TMP55, _TMP56, _TMP57); + _TMP54 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP7.xyz); + _TMP55 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP7.xyz); + _TMP56 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP7.xyz); + _TMP57 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP7.xyz); + _p12 = vec4(_TMP54, _TMP55, _TMP56, _TMP57); + _TMP54 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP19.xyz); + _TMP55 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP1.xyz); + _TMP56 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP16.xyz); + _TMP57 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP13.xyz); + _p14 = vec4(_TMP54, _TMP55, _TMP56, _TMP57); + _TMP54 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP20.xyz); + _TMP55 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP2.xyz); + _TMP56 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP15.xyz); + _TMP57 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP12.xyz); + _p19 = vec4(_TMP54, _TMP55, _TMP56, _TMP57); + _TMP54 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP14.xyz); + _TMP55 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP18.xyz); + _TMP56 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP0.xyz); + _TMP57 = dot(vec3( 2.12599993E-01, 7.15200007E-01, 7.22000003E-02), _TMP17.xyz); + _p23 = vec4(_TMP54, _TMP55, _TMP56, _TMP57); + _x0172 = TEX0.xy*TextureSize; + _fp = fract(_x0172); + _t45 = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _t15 = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _t60 = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _fx45 = bvec4(_t45.x > 1.29999995E+00, _t45.y > 3.00000012E-01, _t45.z > -6.99999988E-01, _t45.w > 3.00000012E-01); + _fx15 = bvec4(_t15.x > 8.99999976E-01, _t15.y > 8.00000012E-01, _t15.z > -6.00000024E-01, _t15.w > -2.00000003E-01); + _fx60 = bvec4(_t60.x > 1.79999995E+00, _t60.y > -1.00000001E-01, _t60.z > -1.20000005E+00, _t60.w > 4.00000006E-01); + _fxrn = bvec4(_t45.x > 1.50000000E+00, _t45.y > 5.00000000E-01, _t45.z > -5.00000000E-01, _t45.w > 5.00000000E-01); + _x0176 = (_t45 - vec4( 1.10000002E+00, 9.99999940E-02, -8.99999976E-01, 9.99999940E-02))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 7.99999952E-01); + _TMP64 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0176); + _TMP177 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP64); + _ma45 = _TMP177*_TMP177*(3.00000000E+00 - 2.00000000E+00*_TMP177); + _x0186 = (_t15 - vec4( 8.00000012E-01, 6.00000024E-01, -6.99999988E-01, -4.00000006E-01))/vec4( 4.00000036E-01, 7.99999952E-01, 3.99999976E-01, 8.00000012E-01); + _TMP64 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0186); + _TMP187 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP64); + _ma15 = _TMP187*_TMP187*(3.00000000E+00 - 2.00000000E+00*_TMP187); + _x0196 = (_t60 - vec4( 1.60000002E+00, -2.00000003E-01, -1.39999998E+00, 3.00000012E-01))/vec4( 8.00000072E-01, 4.00000006E-01, 7.99999952E-01, 3.99999976E-01); + _TMP64 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0196); + _TMP197 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP64); + _ma60 = _TMP197*_TMP197*(3.00000000E+00 - 2.00000000E+00*_TMP197); + _x0206 = (_t45 - vec4( 1.30000007E+00, 3.00000012E-01, -6.99999988E-01, 3.00000012E-01))/vec4( 7.99999833E-01, 8.00000012E-01, 8.00000012E-01, 8.00000012E-01); + _TMP64 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0206); + _TMP207 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP64); + _marn = _TMP207*_TMP207*(3.00000000E+00 - 2.00000000E+00*_TMP207); + _a0218 = _p12 - _p8; + _TMP215 = abs(_a0218); + _a0222 = _p12 - _p8.zwxy; + _TMP219 = abs(_a0222); + _a0226 = _p8.wxyz - _p14.wxyz; + _TMP223 = abs(_a0226); + _a0230 = _p8.wxyz - _p14; + _TMP227 = abs(_a0230); + _a0234 = _p7.zwxy - _p7.wxyz; + _TMP231 = abs(_a0234); + _e45 = _TMP215 + _TMP219 + _TMP223 + _TMP227 + 4.00000000E+00*_TMP231; + _a0240 = _p7.zwxy - _p7.yzwx; + _TMP237 = abs(_a0240); + _a0244 = _p7.zwxy - _p23; + _TMP241 = abs(_a0244); + _a0248 = _p7.wxyz - _p7; + _TMP245 = abs(_a0248); + _a0252 = _p7.wxyz - _p19; + _TMP249 = abs(_a0252); + _a0256 = _p12 - _p8.wxyz; + _TMP253 = abs(_a0256); + _econt = _TMP237 + _TMP241 + _TMP245 + _TMP249 + 4.00000000E+00*_TMP253; + _a0260 = _p7.wxyz - _p8.zwxy; + _TMP257 = abs(_a0260); + _a0264 = _p8 - _p7.zwxy; + _TMP261 = abs(_a0264); + _a0270 = _p7.wxyz - _p7; + _TMP267 = abs(_a0270); + _TMP21 = bvec4(_TMP267.x < 4.16666657E-01, _TMP267.y < 4.16666657E-01, _TMP267.z < 4.16666657E-01, _TMP267.w < 4.16666657E-01); + _a0276 = _p7.wxyz - _p8; + _TMP273 = abs(_a0276); + _TMP22 = bvec4(_TMP273.x < 4.16666657E-01, _TMP273.y < 4.16666657E-01, _TMP273.z < 4.16666657E-01, _TMP273.w < 4.16666657E-01); + _a0282 = _p7.zwxy - _p7.yzwx; + _TMP279 = abs(_a0282); + _TMP23 = bvec4(_TMP279.x < 4.16666657E-01, _TMP279.y < 4.16666657E-01, _TMP279.z < 4.16666657E-01, _TMP279.w < 4.16666657E-01); + _a0288 = _p7.zwxy - _p8.zwxy; + _TMP285 = abs(_a0288); + _TMP24 = bvec4(_TMP285.x < 4.16666657E-01, _TMP285.y < 4.16666657E-01, _TMP285.z < 4.16666657E-01, _TMP285.w < 4.16666657E-01); + _a0294 = _p12 - _p8.wxyz; + _TMP291 = abs(_a0294); + _TMP25 = bvec4(_TMP291.x < 4.16666657E-01, _TMP291.y < 4.16666657E-01, _TMP291.z < 4.16666657E-01, _TMP291.w < 4.16666657E-01); + _a0300 = _p7.wxyz - _p14; + _TMP297 = abs(_a0300); + _TMP26 = bvec4(_TMP297.x < 4.16666657E-01, _TMP297.y < 4.16666657E-01, _TMP297.z < 4.16666657E-01, _TMP297.w < 4.16666657E-01); + _a0306 = _p7.wxyz - _p19; + _TMP303 = abs(_a0306); + _TMP27 = bvec4(_TMP303.x < 4.16666657E-01, _TMP303.y < 4.16666657E-01, _TMP303.z < 4.16666657E-01, _TMP303.w < 4.16666657E-01); + _a0312 = _p7.zwxy - _p14.wxyz; + _TMP309 = abs(_a0312); + _TMP28 = bvec4(_TMP309.x < 4.16666657E-01, _TMP309.y < 4.16666657E-01, _TMP309.z < 4.16666657E-01, _TMP309.w < 4.16666657E-01); + _a0318 = _p7.zwxy - _p23; + _TMP315 = abs(_a0318); + _TMP29 = bvec4(_TMP315.x < 4.16666657E-01, _TMP315.y < 4.16666657E-01, _TMP315.z < 4.16666657E-01, _TMP315.w < 4.16666657E-01); + _a0324 = _p12 - _p8.zwxy; + _TMP321 = abs(_a0324); + _TMP30 = bvec4(_TMP321.x < 4.16666657E-01, _TMP321.y < 4.16666657E-01, _TMP321.z < 4.16666657E-01, _TMP321.w < 4.16666657E-01); + _a0330 = _p12 - _p8; + _TMP327 = abs(_a0330); + _TMP31 = bvec4(_TMP327.x < 4.16666657E-01, _TMP327.y < 4.16666657E-01, _TMP327.z < 4.16666657E-01, _TMP327.w < 4.16666657E-01); + _r45 = bvec4(_p12.x != _p7.w && _p12.x != _p7.z && (!_TMP21.x && !_TMP22.x || !_TMP23.x && !_TMP24.x || _TMP25.x && (!_TMP26.x && !_TMP27.x || !_TMP28.x && !_TMP29.x) || _TMP30.x || _TMP31.x), _p12.y != _p7.x && _p12.y != _p7.w && (!_TMP21.y && !_TMP22.y || !_TMP23.y && !_TMP24.y || _TMP25.y && (!_TMP26.y && !_TMP27.y || !_TMP28.y && !_TMP29.y) || _TMP30.y || _TMP31.y), _p12.z != _p7.y && _p12.z != _p7.x && (!_TMP21.z && !_TMP22.z || !_TMP23.z && !_TMP24.z || _TMP25.z && (!_TMP26.z && !_TMP27.z || !_TMP28.z && !_TMP29.z) || _TMP30.z || _TMP31.z), _p12.w != _p7.z && _p12.w != _p7.y && (!_TMP21.w && !_TMP22.w || !_TMP23.w && !_TMP24.w || _TMP25.w && (!_TMP26.w && !_TMP27.w || !_TMP28.w && !_TMP29.w) || _TMP30.w || _TMP31.w)); + _r15 = bvec4(_p12.x != _p8.z && _p7.y != _p8.z, _p12.y != _p8.w && _p7.z != _p8.w, _p12.z != _p8.x && _p7.w != _p8.x, _p12.w != _p8.y && _p7.x != _p8.y); + _r60 = bvec4(_p12.x != _p8.x && _p7.x != _p8.x, _p12.y != _p8.y && _p7.y != _p8.y, _p12.z != _p8.z && _p7.z != _p8.z, _p12.w != _p8.w && _p7.w != _p8.w); + _edr45 = bvec4(_e45.x < _econt.x && _r45.x, _e45.y < _econt.y && _r45.y, _e45.z < _econt.z && _r45.z, _e45.w < _econt.w && _r45.w); + _edr15 = bvec4(_edr45.x && (2.00000000E+00*_TMP257).x <= _TMP261.x && _r15.x, _edr45.y && (2.00000000E+00*_TMP257).y <= _TMP261.y && _r15.y, _edr45.z && (2.00000000E+00*_TMP257).z <= _TMP261.z && _r15.z, _edr45.w && (2.00000000E+00*_TMP257).w <= _TMP261.w && _r15.w); + _edr60 = bvec4(_edr45.x && (2.00000000E+00*_TMP261).x <= _TMP257.x && _r60.x, _edr45.y && (2.00000000E+00*_TMP261).y <= _TMP257.y && _r60.y, _edr45.z && (2.00000000E+00*_TMP261).z <= _TMP257.z && _r60.z, _edr45.w && (2.00000000E+00*_TMP261).w <= _TMP257.w && _r60.w); + _edrrn = bvec4(_e45.x <= _econt.x, _e45.y <= _econt.y, _e45.z <= _econt.z, _e45.w <= _econt.w); + _a0334 = _p12 - _p7.zwxy; + _TMP331 = abs(_a0334); + _a0338 = _p12 - _p7.wxyz; + _TMP335 = abs(_a0338); + _px = vec4(float((_TMP335.x >= _TMP331.x)), float((_TMP335.y >= _TMP331.y)), float((_TMP335.z >= _TMP331.z)), float((_TMP335.w >= _TMP331.w))); + if (_edr15.x && _fx15.x) { + _TMP34 = _ma15.x; + } else { + if (_edr60.x && _fx60.x) { + _TMP35 = _ma60.x; + } else { + if (_edr45.x && _fx45.x) { + _TMP36 = _ma45.x; + } else { + if (_edrrn.x && _fxrn.x) { + _TMP37 = _marn.x; + } else { + _TMP37 = 0.00000000E+00; + } + _TMP36 = _TMP37; + } + _TMP35 = _TMP36; + } + _TMP34 = _TMP35; + } + if (_edr15.y && _fx15.y) { + _TMP38 = _ma15.y; + } else { + if (_edr60.y && _fx60.y) { + _TMP39 = _ma60.y; + } else { + if (_edr45.y && _fx45.y) { + _TMP40 = _ma45.y; + } else { + if (_edrrn.y && _fxrn.y) { + _TMP41 = _marn.y; + } else { + _TMP41 = 0.00000000E+00; + } + _TMP40 = _TMP41; + } + _TMP39 = _TMP40; + } + _TMP38 = _TMP39; + } + if (_edr15.z && _fx15.z) { + _TMP42 = _ma15.z; + } else { + if (_edr60.z && _fx60.z) { + _TMP43 = _ma60.z; + } else { + if (_edr45.z && _fx45.z) { + _TMP44 = _ma45.z; + } else { + if (_edrrn.z && _fxrn.z) { + _TMP45 = _marn.z; + } else { + _TMP45 = 0.00000000E+00; + } + _TMP44 = _TMP45; + } + _TMP43 = _TMP44; + } + _TMP42 = _TMP43; + } + if (_edr15.w && _fx15.w) { + _TMP46 = _ma15.w; + } else { + if (_edr60.w && _fx60.w) { + _TMP47 = _ma60.w; + } else { + if (_edr45.w && _fx45.w) { + _TMP48 = _ma45.w; + } else { + if (_edrrn.w && _fxrn.w) { + _TMP49 = _marn.w; + } else { + _TMP49 = 0.00000000E+00; + } + _TMP48 = _TMP49; + } + _TMP47 = _TMP48; + } + _TMP46 = _TMP47; + } + _TMP50 = _TMP8.xyz + _px.x*(_TMP10.xyz - _TMP8.xyz); + _res = _TMP7.xyz + _TMP34*(_TMP50 - _TMP7.xyz); + _TMP51 = _TMP4.xyz + _px.y*(_TMP8.xyz - _TMP4.xyz); + _res = _res + _TMP38*(_TMP51 - _res); + _TMP52 = _TMP6.xyz + _px.z*(_TMP4.xyz - _TMP6.xyz); + _res = _res + _TMP42*(_TMP52 - _res); + _TMP53 = _TMP10.xyz + _px.w*(_TMP6.xyz - _TMP10.xyz); + _res = _res + _TMP46*(_TMP53 - _res); + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Scalex/scale2xplus.glsl b/ios/Assets/shaders_glsl/Scalex/scale2xplus.glsl new file mode 100644 index 0000000000..8b55116b87 --- /dev/null +++ b/ios/Assets/shaders_glsl/Scalex/scale2xplus.glsl @@ -0,0 +1,160 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; + vec4 _t2; +}; +out_vertex _ret_0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT._t1.xy = TexCoord.xy + vec2(0.00000000E+00, -_ps.y); + _OUT._t1.zw = TexCoord.xy + vec2(-_ps.x, 0.00000000E+00); + _OUT._t2.xy = TexCoord.xy + vec2(_ps.x, 0.00000000E+00); + _OUT._t2.zw = TexCoord.xy + vec2(0.00000000E+00, _ps.y); + _ret_0._position1 = _r0003; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + _ret_0._t2 = _OUT._t2; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + TEX2 = _OUT._t2; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; + vec4 _t2; +}; +vec4 _ret_0; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0010; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec3 _B; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _H; + vec3 _E0; + vec3 _E1; + vec3 _E2; + vec3 _E3; + vec3 _TMP8; + _x0010 = TEX0.xy*TextureSize; + _fp = fract(_x0010); + _TMP0 = texture2D(Texture, TEX1.xy); + _B = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, TEX1.zw); + _D = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, TEX2.xy); + _F = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, TEX2.zw); + _H = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _E0 = vec3(_D.x == _B.x && _B.x != _H.x && _D.x != _F.x ? _D.x : _E.x, _D.y == _B.y && _B.y != _H.y && _D.y != _F.y ? _D.y : _E.y, _D.z == _B.z && _B.z != _H.z && _D.z != _F.z ? _D.z : _E.z); + _E1 = vec3(_B.x == _F.x && _B.x != _H.x && _D.x != _F.x ? _F.x : _E.x, _B.y == _F.y && _B.y != _H.y && _D.y != _F.y ? _F.y : _E.y, _B.z == _F.z && _B.z != _H.z && _D.z != _F.z ? _F.z : _E.z); + _E2 = vec3(_D.x == _H.x && _B.x != _H.x && _D.x != _F.x ? _D.x : _E.x, _D.y == _H.y && _B.y != _H.y && _D.y != _F.y ? _D.y : _E.y, _D.z == _H.z && _B.z != _H.z && _D.z != _F.z ? _D.z : _E.z); + _E3 = vec3(_H.x == _F.x && _B.x != _H.x && _D.x != _F.x ? _F.x : _E.x, _H.y == _F.y && _B.y != _H.y && _D.y != _F.y ? _F.y : _E.y, _H.z == _F.z && _B.z != _H.z && _D.z != _F.z ? _F.z : _E.z); + _TMP8 = (vec3(float(_E3.x), float(_E3.y), float(_E3.z))*_fp.x + vec3(float(_E2.x), float(_E2.y), float(_E2.z))*(1.00000000E+00 - _fp.x))*_fp.y + (vec3(float(_E1.x), float(_E1.y), float(_E1.z))*_fp.x + vec3(float(_E0.x), float(_E0.y), float(_E0.z))*(1.00000000E+00 - _fp.x))*(1.00000000E+00 - _fp.y); + _ret_0 = vec4(_TMP8.x, _TMP8.y, _TMP8.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Waterpaint/water.glsl b/ios/Assets/shaders_glsl/Waterpaint/water.glsl new file mode 100644 index 0000000000..e6120b78ef --- /dev/null +++ b/ios/Assets/shaders_glsl/Waterpaint/water.glsl @@ -0,0 +1,178 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0010; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + _r0010.x = dot(MVPMatrix_[0], VertexCoord); + _r0010.y = dot(MVPMatrix_[1], VertexCoord); + _r0010.z = dot(MVPMatrix_[2], VertexCoord); + _r0010.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0010; + _oColor = COLOR; + _oTex = TexCoord.xy; + gl_Position = _r0010; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +float _TMP7; +float _TMP6; +float _TMP8; +input_dummy _IN1; +uniform sampler2D Texture; +float _TMP20; +vec2 _diff0021; +float _dist0021; +float _TMP30; +vec2 _diff0031; +float _dist0031; +float _TMP40; +vec2 _diff0041; +float _dist0041; +float _TMP50; +vec2 _diff0051; +float _dist0051; +float _TMP60; +vec2 _diff0061; +float _dist0061; +float _TMP70; +vec2 _diff0071; +float _dist0071; +float _TMP80; +vec2 _diff0081; +float _dist0081; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _output_dummy; + vec2 _scale; + float _res; + _output_dummy = texture2D(Texture, TEX0.xy); + _scale = (TEX0.xy*TextureSize)/InputSize; + _diff0021 = _scale - vec2( 6.00000024E-01, 6.99999988E-01); + _TMP6 = dot(_diff0021, _diff0021); + _TMP8 = inversesqrt(_TMP6); + _TMP7 = 1.00000000E+00/_TMP8; + _dist0021 = 3.00000000E+02*_TMP7; + _dist0021 = _dist0021 - 1.50000006E-01*float(FrameCount); + _TMP20 = sin(_dist0021); + _diff0031 = _scale - vec2( 8.99999976E-01, 8.99999976E-01); + _TMP6 = dot(_diff0031, _diff0031); + _TMP8 = inversesqrt(_TMP6); + _TMP7 = 1.00000000E+00/_TMP8; + _dist0031 = 3.00000000E+02*_TMP7; + _dist0031 = _dist0031 - 1.50000006E-01*float(FrameCount); + _TMP30 = sin(_dist0031); + _res = _TMP20 + _TMP30; + _diff0041 = _scale - vec2( -6.00000024E-01, 3.00000012E-01); + _TMP6 = dot(_diff0041, _diff0041); + _TMP8 = inversesqrt(_TMP6); + _TMP7 = 1.00000000E+00/_TMP8; + _dist0041 = 3.00000000E+02*_TMP7; + _dist0041 = _dist0041 - 1.50000006E-01*float(FrameCount); + _TMP40 = sin(_dist0041); + _res = _res + _TMP40; + _diff0051 = _scale - vec2( 1.00000001E-01, 4.00000006E-01); + _TMP6 = dot(_diff0051, _diff0051); + _TMP8 = inversesqrt(_TMP6); + _TMP7 = 1.00000000E+00/_TMP8; + _dist0051 = 3.00000000E+02*_TMP7; + _dist0051 = _dist0051 - 1.50000006E-01*float(FrameCount); + _TMP50 = sin(_dist0051); + _res = _res + _TMP50; + _diff0061 = _scale - vec2( 1.00000001E-01, 4.00000006E-01); + _TMP6 = dot(_diff0061, _diff0061); + _TMP8 = inversesqrt(_TMP6); + _TMP7 = 1.00000000E+00/_TMP8; + _dist0061 = 3.00000000E+02*_TMP7; + _dist0061 = _dist0061 - 1.50000006E-01*float(FrameCount); + _TMP60 = sin(_dist0061); + _res = _res + _TMP60; + _diff0071 = _scale - vec2( 5.00000000E-01, 5.00000000E-01); + _TMP6 = dot(_diff0071, _diff0071); + _TMP8 = inversesqrt(_TMP6); + _TMP7 = 1.00000000E+00/_TMP8; + _dist0071 = 3.00000000E+02*_TMP7; + _dist0071 = _dist0071 - 1.50000006E-01*float(FrameCount); + _TMP70 = sin(_dist0071); + _res = _res + _TMP70; + _diff0081 = _scale - vec2( -1.00000000E+00, 1.00000000E+00); + _TMP6 = dot(_diff0081, _diff0081); + _TMP8 = inversesqrt(_TMP6); + _TMP7 = 1.00000000E+00/_TMP8; + _dist0081 = 3.00000000E+02*_TMP7; + _dist0081 = _dist0081 - 1.50000006E-01*float(FrameCount); + _TMP80 = sin(_dist0081); + _res = _res + _TMP80; + _ret_0 = _output_dummy*(8.99999976E-01 + 1.20000001E-02*_res); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Waterpaint/waterpaint-highcontrast.glsl b/ios/Assets/shaders_glsl/Waterpaint/waterpaint-highcontrast.glsl new file mode 100644 index 0000000000..b9b5b2261b --- /dev/null +++ b/ios/Assets/shaders_glsl/Waterpaint/waterpaint-highcontrast.glsl @@ -0,0 +1,202 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 VARc21_22; +varying vec4 VARc12_20; +varying vec2 VARc11; +varying vec4 VARc02_10; +varying vec4 VARc00_01; +struct tex_coords { + vec4 VARc00_01; + vec4 VARc02_10; + vec2 VARc11; + vec4 VARc12_20; + vec4 VARc21_22; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +tex_coords _coords1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0012; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _delta; + vec2 _TMP2; + vec2 _TMP3; + vec2 _TMP4; + vec2 _TMP5; + vec2 _TMP6; + vec2 _TMP7; + vec2 _TMP8; + vec2 _TMP9; + tex_coords _TMP10; + _r0012.x = dot(MVPMatrix_[0], VertexCoord); + _r0012.y = dot(MVPMatrix_[1], VertexCoord); + _r0012.z = dot(MVPMatrix_[2], VertexCoord); + _r0012.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0012; + _oColor = COLOR; + _delta = 5.00000000E-01/TextureSize; + _TMP8 = TexCoord.xy + vec2(-_delta.x, -_delta.y); + _TMP9 = TexCoord.xy + vec2(-_delta.x, 0.00000000E+00); + _TMP10.VARc00_01 = vec4(_TMP8.x, _TMP8.y, _TMP9.x, _TMP9.y); + _TMP6 = TexCoord.xy + vec2(-_delta.x, _delta.y); + _TMP7 = TexCoord.xy + vec2(0.00000000E+00, -_delta.y); + _TMP10.VARc02_10 = vec4(_TMP6.x, _TMP6.y, _TMP7.x, _TMP7.y); + _TMP4 = TexCoord.xy + vec2(0.00000000E+00, _delta.y); + _TMP5 = TexCoord.xy + vec2(_delta.x, -_delta.y); + _TMP10.VARc12_20 = vec4(_TMP4.x, _TMP4.y, _TMP5.x, _TMP5.y); + _TMP2 = TexCoord.xy + vec2(_delta.x, 0.00000000E+00); + _TMP3 = TexCoord.xy + vec2(_delta.x, _delta.y); + _TMP10.VARc21_22 = vec4(_TMP2.x, _TMP2.y, _TMP3.x, _TMP3.y); + VARc00_01 = _TMP10.VARc00_01; + VARc02_10 = _TMP10.VARc02_10; + VARc11 = TexCoord.xy; + VARc12_20 = _TMP10.VARc12_20; + VARc21_22 = _TMP10.VARc21_22; + gl_Position = _r0012; + COL0 = COLOR; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 VARc21_22; +varying vec4 VARc12_20; +varying vec2 VARc11; +varying vec4 VARc02_10; +varying vec4 VARc00_01; +struct tex_coords { + vec4 VARc00_01; + vec4 VARc02_10; + vec2 VARc11; + vec4 VARc12_20; + vec4 VARc21_22; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec3 _TMP15; +vec4 _TMP16; +vec3 _TMP14; +float _TMP13; +float _TMP12; +float _TMP11; +float _TMP10; +float _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +tex_coords _co1; +input_dummy _IN1; +uniform sampler2D Texture; +float _x0040; +float _x0044; +float _x0048; +float _x0052; +float _x0056; +vec3 _a0062; +vec4 _x0064; +vec4 _TMP65; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _first; + vec3 _second; + vec3 _mid_horiz; + vec3 _mid_vert; + vec3 _res; + vec3 _TMP20; + _TMP0 = texture2D(Texture, VARc00_01.xy); + _TMP1 = texture2D(Texture, VARc00_01.zw); + _TMP2 = texture2D(Texture, VARc02_10.xy); + _TMP3 = texture2D(Texture, VARc02_10.zw); + _TMP5 = texture2D(Texture, VARc12_20.xy); + _TMP6 = texture2D(Texture, VARc12_20.zw); + _TMP7 = texture2D(Texture, VARc21_22.xy); + _TMP8 = texture2D(Texture, VARc21_22.zw); + _x0040 = VARc11.x*TextureSize.x + 5.00000000E-01; + _TMP9 = fract(_x0040); + _first = _TMP0.xyz + _TMP9*(_TMP6.xyz - _TMP0.xyz); + _x0044 = VARc11.x*TextureSize.x + 5.00000000E-01; + _TMP10 = fract(_x0044); + _second = _TMP2.xyz + _TMP10*(_TMP8.xyz - _TMP2.xyz); + _x0048 = VARc11.x*TextureSize.x + 5.00000000E-01; + _TMP11 = fract(_x0048); + _mid_horiz = _TMP1.xyz + _TMP11*(_TMP7.xyz - _TMP1.xyz); + _x0052 = VARc11.y*TextureSize.y + 5.00000000E-01; + _TMP12 = fract(_x0052); + _mid_vert = _TMP3.xyz + _TMP12*(_TMP5.xyz - _TMP3.xyz); + _x0056 = VARc11.y*TextureSize.y + 5.00000000E-01; + _TMP13 = fract(_x0056); + _res = _first + _TMP13*(_second - _first); + _TMP14 = _mid_horiz + 5.00000000E-01*(_mid_vert - _mid_horiz); + _a0062 = _res - _TMP14; + _TMP15 = abs(_a0062); + _TMP20 = 2.80000001E-01*(_res + _mid_horiz + _mid_vert) + 4.69999981E+00*_TMP15; + _x0064 = vec4(_TMP20.x, _TMP20.y, _TMP20.z, 1.00000000E+00); + _TMP16 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0064); + _TMP65 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP16); + gl_FragColor = _TMP65; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/Waterpaint/waterpaint-normalcontrast.glsl b/ios/Assets/shaders_glsl/Waterpaint/waterpaint-normalcontrast.glsl new file mode 100644 index 0000000000..6e71ffaad7 --- /dev/null +++ b/ios/Assets/shaders_glsl/Waterpaint/waterpaint-normalcontrast.glsl @@ -0,0 +1,210 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 VARc21_22; +varying vec4 VARc12_20; +varying vec2 VARc11; +varying vec4 VARc02_10; +varying vec4 VARc00_01; +struct tex_coords { + vec4 VARc00_01; + vec4 VARc02_10; + vec2 VARc11; + vec4 VARc12_20; + vec4 VARc21_22; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +tex_coords _coords1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0012; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _delta; + vec2 _TMP2; + vec2 _TMP3; + vec2 _TMP4; + vec2 _TMP5; + vec2 _TMP6; + vec2 _TMP7; + vec2 _TMP8; + vec2 _TMP9; + tex_coords _TMP10; + _r0012.x = dot(MVPMatrix_[0], VertexCoord); + _r0012.y = dot(MVPMatrix_[1], VertexCoord); + _r0012.z = dot(MVPMatrix_[2], VertexCoord); + _r0012.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0012; + _oColor = COLOR; + _delta = 5.00000000E-01/TextureSize; + _TMP8 = TexCoord.xy + vec2(-_delta.x, -_delta.y); + _TMP9 = TexCoord.xy + vec2(-_delta.x, 0.00000000E+00); + _TMP10.VARc00_01 = vec4(_TMP8.x, _TMP8.y, _TMP9.x, _TMP9.y); + _TMP6 = TexCoord.xy + vec2(-_delta.x, _delta.y); + _TMP7 = TexCoord.xy + vec2(0.00000000E+00, -_delta.y); + _TMP10.VARc02_10 = vec4(_TMP6.x, _TMP6.y, _TMP7.x, _TMP7.y); + _TMP4 = TexCoord.xy + vec2(0.00000000E+00, _delta.y); + _TMP5 = TexCoord.xy + vec2(_delta.x, -_delta.y); + _TMP10.VARc12_20 = vec4(_TMP4.x, _TMP4.y, _TMP5.x, _TMP5.y); + _TMP2 = TexCoord.xy + vec2(_delta.x, 0.00000000E+00); + _TMP3 = TexCoord.xy + vec2(_delta.x, _delta.y); + _TMP10.VARc21_22 = vec4(_TMP2.x, _TMP2.y, _TMP3.x, _TMP3.y); + VARc00_01 = _TMP10.VARc00_01; + VARc02_10 = _TMP10.VARc02_10; + VARc11 = TexCoord.xy; + VARc12_20 = _TMP10.VARc12_20; + VARc21_22 = _TMP10.VARc21_22; + gl_Position = _r0012; + COL0 = COLOR; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 VARc21_22; +varying vec4 VARc12_20; +varying vec2 VARc11; +varying vec4 VARc02_10; +varying vec4 VARc00_01; +struct tex_coords { + vec4 VARc00_01; + vec4 VARc02_10; + vec2 VARc11; + vec4 VARc12_20; + vec4 VARc21_22; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec3 _TMP18; +vec3 _TMP17; +vec3 _TMP15; +vec3 _TMP14; +float _TMP13; +float _TMP12; +float _TMP11; +float _TMP10; +float _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +tex_coords _co1; +input_dummy _IN1; +uniform sampler2D Texture; +float _x0042; +float _x0046; +float _x0050; +float _x0054; +float _x0058; +vec3 _a0064; +vec3 _diff0066; +vec3 _TMP67; +vec3 _x0074; +vec3 _TMP75; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _first; + vec3 _second; + vec3 _mid_horiz; + vec3 _mid_vert; + vec3 _res; + vec3 _final; + _TMP0 = texture2D(Texture, VARc00_01.xy); + _TMP1 = texture2D(Texture, VARc00_01.zw); + _TMP2 = texture2D(Texture, VARc02_10.xy); + _TMP3 = texture2D(Texture, VARc02_10.zw); + _TMP5 = texture2D(Texture, VARc12_20.xy); + _TMP6 = texture2D(Texture, VARc12_20.zw); + _TMP7 = texture2D(Texture, VARc21_22.xy); + _TMP8 = texture2D(Texture, VARc21_22.zw); + _x0042 = VARc11.x*TextureSize.x + 5.00000000E-01; + _TMP9 = fract(_x0042); + _first = _TMP0.xyz + _TMP9*(_TMP6.xyz - _TMP0.xyz); + _x0046 = VARc11.x*TextureSize.x + 5.00000000E-01; + _TMP10 = fract(_x0046); + _second = _TMP2.xyz + _TMP10*(_TMP8.xyz - _TMP2.xyz); + _x0050 = VARc11.x*TextureSize.x + 5.00000000E-01; + _TMP11 = fract(_x0050); + _mid_horiz = _TMP1.xyz + _TMP11*(_TMP7.xyz - _TMP1.xyz); + _x0054 = VARc11.y*TextureSize.y + 5.00000000E-01; + _TMP12 = fract(_x0054); + _mid_vert = _TMP3.xyz + _TMP12*(_TMP5.xyz - _TMP3.xyz); + _x0058 = VARc11.y*TextureSize.y + 5.00000000E-01; + _TMP13 = fract(_x0058); + _res = _first + _TMP13*(_second - _first); + _TMP14 = _mid_horiz + 5.00000000E-01*(_mid_vert - _mid_horiz); + _a0064 = _res - _TMP14; + _TMP15 = abs(_a0064); + _final = 2.59999990E-01*(_res + _mid_horiz + _mid_vert) + 3.50000000E+00*_TMP15; + _diff0066 = _final - vec3( 8.00000012E-01, 8.00000012E-01, 8.00000012E-01); + _TMP17 = min(vec3( 1.00000000E+02, 1.00000000E+02, 1.00000000E+02), _diff0066); + _TMP67 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP17); + _x0074 = _final - _TMP67*8.00000012E-01; + _TMP18 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0074); + _TMP75 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP18); + _ret_0 = vec4(_TMP75.x, _TMP75.y, _TMP75.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/auto-box/box-max.glsl b/ios/Assets/shaders_glsl/auto-box/box-max.glsl new file mode 100644 index 0000000000..c6f9153f71 --- /dev/null +++ b/ios/Assets/shaders_glsl/auto-box/box-max.glsl @@ -0,0 +1,117 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +vec2 _x0015; +float _TMP16; +float _TMP18; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _box_scale; + vec2 _scale; + vec2 _middle; + vec2 _diff; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oColor = COLOR; + _x0015 = OutputSize/InputSize; + _box_scale = floor(_x0015); + if (_box_scale.x > _box_scale.y) { + _TMP16 = _box_scale.y; + } else { + _TMP16 = _box_scale.x; + } + if (_box_scale.x > _box_scale.y) { + _TMP18 = _box_scale.y; + } else { + _TMP18 = _box_scale.x; + } + _box_scale = vec2(_TMP16, _TMP18); + _scale = (OutputSize/InputSize)/_box_scale; + _middle = (5.00000000E-01*InputSize)/TextureSize; + _diff = TexCoord.xy - _middle; + _oTex = _middle + _diff*_scale; + gl_Position = _r0005; + COL0 = COLOR; + TEX0.xy = _oTex; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +uniform sampler2D Texture; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + _ret_0 = texture2D(Texture, TEX0.xy); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/auto-box/sharpen-lighter-box.glsl b/ios/Assets/shaders_glsl/auto-box/sharpen-lighter-box.glsl new file mode 100644 index 0000000000..21135ef965 --- /dev/null +++ b/ios/Assets/shaders_glsl/auto-box/sharpen-lighter-box.glsl @@ -0,0 +1,119 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _color1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _color1; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + vec2 _scale; + vec2 _middle; + vec2 _diff; + _r0004.x = dot(MVPMatrix_[0], VertexCoord); + _r0004.y = dot(MVPMatrix_[1], VertexCoord); + _r0004.z = dot(MVPMatrix_[2], VertexCoord); + _r0004.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0004; + _oColor = COLOR; + _scale = OutputSize/InputSize; + _middle = (5.00000000E-01*InputSize)/TextureSize; + _diff = TexCoord.xy - _middle; + _oTex = _middle + _diff*_scale; + gl_Position = _r0004; + COL0 = COLOR; + TEX0.xy = _oTex; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct output_dummy { + vec4 _color; +}; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0007; +vec2 _c0009; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _Color; + _Color = texture2D(Texture, TEX0.xy); + _c0007 = TEX0.xy + 9.99999975E-05; + _TMP0 = texture2D(Texture, _c0007); + _Color = _Color - _TMP0*5.00000000E+00; + _c0009 = TEX0.xy - 9.99999975E-05; + _TMP1 = texture2D(Texture, _c0009); + _Color = _Color + _TMP1*5.00000000E+00; + _Color.w = 1.00000000E+00; + gl_FragColor = _Color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/bead.glsl b/ios/Assets/shaders_glsl/bead.glsl new file mode 100644 index 0000000000..61f5a20efc --- /dev/null +++ b/ios/Assets/shaders_glsl/bead.glsl @@ -0,0 +1,148 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec2 _pixel_no; +varying vec2 _c11; +struct tex_coord { + vec2 _c11; + vec2 _pixel_no; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX1; +varying vec4 TEX2; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + tex_coord _coords; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oColor = COLOR; + _coords._c11 = TexCoord.xy; + _coords._pixel_no = TexCoord.xy*TextureSize; + gl_Position = _r0005; + COL0 = COLOR; + TEX1.xy = TexCoord.xy; + TEX2.xy = _coords._pixel_no; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec2 _pixel_no1; +varying vec2 _c11; +struct tex_coord { + vec2 _c11; + vec2 _pixel_no1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec4 _TMP0; +vec2 _TMP1; +float _TMP4; +float _TMP5; +uniform sampler2D Texture; +vec3 _TMP12; +float _TMP16; +vec2 _delta0017; +float _len0025; +float _TMP26; +float _x0027; +float _len0031; +float _TMP32; +float _x0033; +varying vec4 TEX1; +varying vec4 TEX2; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + _TMP0 = texture2D(Texture, TEX1.xy); + _TMP1 = fract(TEX2.xy); + _delta0017 = _TMP1 - vec2( 5.00000000E-01, 5.00000000E-01); + _TMP4 = dot(_delta0017, _delta0017); + _TMP5 = inversesqrt(_TMP4); + _TMP16 = 1.00000000E+00/_TMP5; + if (_TMP16 > 2.00000003E-01 && _TMP16 < 3.49999994E-01) { + _TMP12 = _TMP0.xyz; + } else { + if (_TMP16 >= 3.49999994E-01) { + _len0025 = _TMP16 - 3.49999994E-01; + _x0027 = -6.00000000E+00*_len0025; + _TMP26 = pow(2.71828198E+00, _x0027); + _TMP12 = _TMP0.xyz*_TMP26; + } else { + if (_TMP16 <= 2.00000003E-01) { + _len0031 = 2.00000003E-01 - _TMP16; + _x0033 = -6.00000000E+00*_len0031; + _TMP32 = pow(2.71828198E+00, _x0033); + _TMP12 = _TMP0.xyz*_TMP32; + } else { + _TMP12 = vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00); + } + } + } + _ret_0 = vec4(_TMP12.x, _TMP12.y, _TMP12.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/blinky.glsl b/ios/Assets/shaders_glsl/blinky.glsl new file mode 100644 index 0000000000..876ec58366 --- /dev/null +++ b/ios/Assets/shaders_glsl/blinky.glsl @@ -0,0 +1,232 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _tex_300; +varying vec2 _tex_240; +varying vec2 _tex_180; +varying vec2 _tex_120; +varying vec2 _tex_60; +varying vec2 _tex_0; +varying vec2 _tex_direct; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct vert_out { + vec2 _tex_direct; + vec2 _tex_0; + vec2 _tex_60; + vec2 _tex_120; + vec2 _tex_180; + vec2 _tex_240; + vec2 _tex_300; +}; +vec4 _oPosition1; +float _TMP5; +float _TMP4; +float _TMP3; +float _TMP2; +float _TMP1; +input_dummy _TMP13; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0016; +float _a0026; +vec2 _r0036; +vec2 _r0042; +vec2 _r0048; +vec2 _r0054; +vec2 _r0060; +vec2 _r0066; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; +varying vec4 TEX7; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vert_out _verts; + vec2 _one; + float _scale; + vec2 _TMP14[2]; + _r0016.x = dot(MVPMatrix_[0], VertexCoord); + _r0016.y = dot(MVPMatrix_[1], VertexCoord); + _r0016.z = dot(MVPMatrix_[2], VertexCoord); + _r0016.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0016; + _one = 1.00000000E+00/TextureSize; + _TMP13._frame_count = float(FrameCount)/2.00000000E+01; + _a0026 = 5.00000000E-01*_TMP13._frame_count; + _TMP1 = sin(_a0026); + _scale = 1.00000000E+00 + 2.00000003E-01*_TMP1; + _TMP2 = cos(_TMP13._frame_count); + _TMP3 = sin(_TMP13._frame_count); + _TMP4 = sin(_TMP13._frame_count); + _TMP5 = cos(_TMP13._frame_count); + _TMP14[0] = _scale*vec2(_TMP2, _TMP3); + _TMP14[1] = _scale*vec2(-_TMP4, _TMP5); + _verts._tex_direct = TexCoord.xy; + _r0036.x = dot(_TMP14[0], vec2( 1.00000000E+00, 0.00000000E+00)); + _r0036.y = dot(_TMP14[1], vec2( 1.00000000E+00, 0.00000000E+00)); + _verts._tex_0 = TexCoord.xy + _one*_r0036; + _r0042.x = dot(_TMP14[0], vec2( 5.00000000E-01, 6.99999988E-01)); + _r0042.y = dot(_TMP14[1], vec2( 5.00000000E-01, 6.99999988E-01)); + _verts._tex_60 = TexCoord.xy + _one*_r0042; + _r0048.x = dot(_TMP14[0], vec2( -5.00000000E-01, 6.99999988E-01)); + _r0048.y = dot(_TMP14[1], vec2( -5.00000000E-01, 6.99999988E-01)); + _verts._tex_120 = TexCoord.xy + _one*_r0048; + _r0054.x = dot(_TMP14[0], vec2( -1.00000000E+00, 0.00000000E+00)); + _r0054.y = dot(_TMP14[1], vec2( -1.00000000E+00, 0.00000000E+00)); + _verts._tex_180 = TexCoord.xy + _one*_r0054; + _r0060.x = dot(_TMP14[0], vec2( -5.00000000E-01, -6.99999988E-01)); + _r0060.y = dot(_TMP14[1], vec2( -5.00000000E-01, -6.99999988E-01)); + _verts._tex_240 = TexCoord.xy + _one*_r0060; + _r0066.x = dot(_TMP14[0], vec2( 5.00000000E-01, -6.99999988E-01)); + _r0066.y = dot(_TMP14[1], vec2( 5.00000000E-01, -6.99999988E-01)); + _verts._tex_300 = TexCoord.xy + _one*_r0066; + gl_Position = _r0016; + TEX1.xy = TexCoord.xy; + TEX2.xy = _verts._tex_0; + TEX3.xy = _verts._tex_60; + TEX4.xy = _verts._tex_120; + TEX5.xy = _verts._tex_180; + TEX6.xy = _verts._tex_240; + TEX7.xy = _verts._tex_300; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _tex_300; +varying vec2 _tex_240; +varying vec2 _tex_180; +varying vec2 _tex_120; +varying vec2 _tex_60; +varying vec2 _tex_0; +varying vec2 _tex_direct; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct vert_out { + vec2 _tex_direct; + vec2 _tex_0; + vec2 _tex_60; + vec2 _tex_120; + vec2 _tex_180; + vec2 _tex_240; + vec2 _tex_300; +}; +vec4 _ret_0; +float _TMP12; +float _TMP11; +float _TMP10; +float _TMP9; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec4 _TMP48; +vec4 _x0049; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; +varying vec4 TEX7; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec4 _tex_mid; + vec4 _tex0; + vec4 _tex60; + vec4 _tex120; + vec4 _tex180; + vec4 _tex240; + vec4 _tex300; + vec4 _minimum; + vec4 _maximum; + vec4 _diff; + _tex_mid = texture2D(Texture, TEX1.xy); + _tex0 = texture2D(Texture, TEX2.xy); + _tex60 = texture2D(Texture, TEX3.xy); + _tex120 = texture2D(Texture, TEX4.xy); + _tex180 = texture2D(Texture, TEX5.xy); + _tex240 = texture2D(Texture, TEX6.xy); + _tex300 = texture2D(Texture, TEX7.xy); + _TMP0 = min(_tex0, _tex60); + _TMP1 = min(_tex120, _tex180); + _TMP2 = min(_TMP0, _TMP1); + _TMP3 = min(_tex240, _tex300); + _minimum = min(_TMP2, _TMP3); + _TMP4 = max(_tex0, _tex60); + _TMP5 = max(_tex120, _tex180); + _TMP6 = max(_TMP4, _TMP5); + _TMP7 = max(_tex240, _tex300); + _maximum = max(_TMP6, _TMP7); + _x0049 = -(_maximum - _minimum); + _TMP9 = pow(2.71828198E+00, _x0049.x); + _TMP10 = pow(2.71828198E+00, _x0049.y); + _TMP11 = pow(2.71828198E+00, _x0049.z); + _TMP12 = pow(2.71828198E+00, _x0049.w); + _TMP48 = vec4(_TMP9, _TMP10, _TMP11, _TMP12); + _diff = 1.00000000E+00 - _TMP48; + _ret_0 = _tex_mid + 8.99999976E-01*(_diff - _tex_mid); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/cgp/2xBR-ReverseAA.glslp b/ios/Assets/shaders_glsl/cgp/2xBR-ReverseAA.glslp new file mode 100644 index 0000000000..9db6de30a9 --- /dev/null +++ b/ios/Assets/shaders_glsl/cgp/2xBR-ReverseAA.glslp @@ -0,0 +1,11 @@ +shaders = 2 +shader0 = ../xBR/2xBR-v3.7c.glsl +shader1 = ../Anti-aliasing/Reverse-AA.glsl + +filter_linear0 = false +filter_linear1 = false +scale_type0 = source +scale_type1 = source +scale0 = 2.0 +scale1 = 2.0 + diff --git a/ios/Assets/shaders_glsl/cgp/4xBR-v3.7c-dark.glslp b/ios/Assets/shaders_glsl/cgp/4xBR-v3.7c-dark.glslp new file mode 100644 index 0000000000..ed461c3e24 --- /dev/null +++ b/ios/Assets/shaders_glsl/cgp/4xBR-v3.7c-dark.glslp @@ -0,0 +1,11 @@ +shaders = 2 +shader0 = ../xBR/2xBR-v3.7c-dark.glsl +shader1 = ../xBR/2xBR-v3.7c-light.glsl + +filter_linear0 = false +filter_linear1 = false +scale_type0 = source +scale_type1 = source +scale0 = 2.0 +scale1 = 2.0 + diff --git a/ios/Assets/shaders_glsl/cgp/CRT-ReverseAA-ddt.glslp b/ios/Assets/shaders_glsl/cgp/CRT-ReverseAA-ddt.glslp new file mode 100644 index 0000000000..d1f55f7ec2 --- /dev/null +++ b/ios/Assets/shaders_glsl/cgp/CRT-ReverseAA-ddt.glslp @@ -0,0 +1,11 @@ +shaders = 2 +shader0 = ../CRT/CRT-ReverseAA.glsl +shader1 = ../ddt.glsl + +filter_linear0 = false +filter_linear1 = false +scale_type0 = source +scale_type1 = source +scale0 = 2.0 +scale1 = 2.0 + diff --git a/ios/Assets/shaders_glsl/cgp/xbr-hybrid-bicubic.glslp b/ios/Assets/shaders_glsl/cgp/xbr-hybrid-bicubic.glslp new file mode 100644 index 0000000000..32da333b17 --- /dev/null +++ b/ios/Assets/shaders_glsl/cgp/xbr-hybrid-bicubic.glslp @@ -0,0 +1,11 @@ +shaders = 2 +shader0 = ../xBR-Hybrid/2xbr-hybrid.glsl +shader1 = ../Bicubic/Bicubic-normal.glsl + +filter_linear0 = false +filter_linear1 = false +scale_type0 = source +scale_type1 = source +scale0 = 2.0 +scale1 = 2.0 + diff --git a/ios/Assets/shaders_glsl/cgp/xbr-hybrid-ddt.glslp b/ios/Assets/shaders_glsl/cgp/xbr-hybrid-ddt.glslp new file mode 100644 index 0000000000..6b1a02caa4 --- /dev/null +++ b/ios/Assets/shaders_glsl/cgp/xbr-hybrid-ddt.glslp @@ -0,0 +1,11 @@ +shaders = 2 +shader0 = ../xBR-Hybrid/2xbr-hybrid.glsl +shader1 = ../ddt.glsl + +filter_linear0 = false +filter_linear1 = false +scale_type0 = source +scale_type1 = source +scale0 = 2.0 +scale1 = 2.0 + diff --git a/ios/Assets/shaders_glsl/cgp/xbr-hybrid-lanczos.glslp b/ios/Assets/shaders_glsl/cgp/xbr-hybrid-lanczos.glslp new file mode 100644 index 0000000000..dda6003318 --- /dev/null +++ b/ios/Assets/shaders_glsl/cgp/xbr-hybrid-lanczos.glslp @@ -0,0 +1,11 @@ +shaders = 2 +shader0 = ../xBR-Hybrid/2xbr-hybrid.glsl +shader1 = ../Lanczos/Lanczos16.glsl + +filter_linear0 = false +filter_linear1 = false +scale_type0 = source +scale_type1 = source +scale0 = 2.0 +scale1 = 2.0 + diff --git a/ios/Assets/shaders_glsl/cgp/xbr-hybrid-sharp-lanczos.glslp b/ios/Assets/shaders_glsl/cgp/xbr-hybrid-sharp-lanczos.glslp new file mode 100644 index 0000000000..27049c25d0 --- /dev/null +++ b/ios/Assets/shaders_glsl/cgp/xbr-hybrid-sharp-lanczos.glslp @@ -0,0 +1,11 @@ +shaders = 2 +shader0 = ../xBR-Hybrid/2xbr-hybrid-sharp.glsl +shader1 = ../Lanczos/Lanczos16.glsl + +filter_linear0 = false +filter_linear1 = false +scale_type0 = source +scale_type1 = source +scale0 = 2.0 +scale1 = 2.0 + diff --git a/ios/Assets/shaders_glsl/ddt/ddt-extended.glsl b/ios/Assets/shaders_glsl/ddt/ddt-extended.glsl new file mode 100644 index 0000000000..8d04b4688a --- /dev/null +++ b/ios/Assets/shaders_glsl/ddt/ddt-extended.glsl @@ -0,0 +1,492 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 VARloc; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec2 VARloc; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT.VARt1.xy = vec2(_ps.x, 0.00000000E+00); + _OUT.VARt1.zw = vec2(0.00000000E+00, _ps.y); + _OUT.VARloc = vec2(float((TexCoord.xy*TextureSize).x), float((TexCoord.xy*TextureSize).y)); + _ret_0._position1 = _r0004; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARloc = _OUT.VARloc; + gl_Position = vec4(float(_r0004.x), float(_r0004.y), float(_r0004.z), float(_r0004.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 VARloc; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color2; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color2; + vec2 _texCoord; + vec4 VARt1; + vec2 VARloc; +}; +vec4 _ret_0; +float _TMP52; +float _TMP51; +float _TMP50; +float _TMP49; +float _TMP48; +float _TMP47; +float _TMP46; +float _TMP45; +float _TMP44; +float _TMP43; +float _TMP42; +float _TMP41; +float _TMP40; +float _TMP39; +float _TMP38; +float _TMP37; +float _TMP36; +float _TMP35; +float _TMP34; +float _TMP33; +float _TMP32; +float _TMP31; +float _TMP30; +float _TMP29; +float _TMP28; +float _TMP27; +float _TMP26; +float _TMP25; +float _TMP24; +float _TMP23; +float _TMP22; +float _TMP21; +float _TMP20; +float _TMP19; +float _TMP18; +float _TMP17; +float _TMP55; +float _TMP57; +float _TMP54; +float _TMP56; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec2 _TMP0; +vec2 _TMP53; +out_vertex _VAR1; +uniform sampler2D Texture; +vec2 _val0065; +vec2 _c0069; +vec2 _c0071; +vec2 _c0073; +vec2 _c0075; +vec2 _c0077; +vec2 _c0079; +vec2 _c0081; +vec2 _c0083; +vec2 _c0085; +vec2 _c0087; +vec2 _c0089; +vec2 _c0091; +vec2 _c0093; +vec2 _c0095; +vec2 _c0097; +float _TMP166; +vec2 _v0167; +float _TMP174; +vec2 _v0175; +float _a0183; +float _a0185; +float _a0187; +float _a0189; +float _a0191; +float _a0193; +float _a0195; +float _a0197; +float _a0199; +float _a0201; +float _a0203; +float _a0205; +float _a0207; +float _a0209; +float _a0211; +float _a0213; +float _a0215; +float _a0217; +float _a0219; +float _a0221; +float _a0223; +float _a0225; +float _a0227; +float _a0229; +float _a0231; +float _a0233; +float _a0235; +float _a0237; +float _a0239; +float _a0241; +float _a0243; +float _a0245; +float _a0247; +float _a0249; +float _a0251; +float _a0253; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _pos; + vec2 _dir; + vec2 _g1; + vec2 _g2; + vec3 _A1; + vec3 _B1; + vec3 _C1; + vec3 _D1; + vec3 _C00; + vec3 _C01; + vec3 _C02; + vec3 _C03; + vec3 _C10; + vec3 _C20; + vec3 _C13; + vec3 _C23; + vec3 _C30; + vec3 _C31; + vec3 _C32; + vec3 _C33; + float _a; + float _b; + float _c; + float _d; + float _c00; + float _c01; + float _c02; + float _c03; + float _c10; + float _c20; + float _c13; + float _c23; + float _c30; + float _c31; + float _c32; + float _c33; + float _p1; + float _q1; + float _count1; + float _count2; + vec3 _color1; + _TMP53 = fract(vec2(float(VARloc.x), float(VARloc.y))); + _TMP0 = vec2(float(_TMP53.x), float(_TMP53.y)); + _pos = vec2(float(_TMP0.x), float(_TMP0.y)) - vec2( 5.00000000E-01, 5.00000000E-01); + _val0065 = vec2(float((_pos.x > 0.00000000E+00)), float((_pos.y > 0.00000000E+00))); + _dir = _val0065 - vec2(float((_pos.x < 0.00000000E+00)), float((_pos.y < 0.00000000E+00))); + _g1 = _dir*vec2(float(VARt1.x), float(VARt1.y)); + _g2 = _dir*vec2(float(VARt1.z), float(VARt1.w)); + _TMP1 = texture2D(Texture, TEX0.xy); + _A1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0069 = TEX0.xy + _g1; + _TMP2 = texture2D(Texture, _c0069); + _B1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0071 = TEX0.xy + _g2; + _TMP3 = texture2D(Texture, _c0071); + _C1 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0073 = TEX0.xy + _g1 + _g2; + _TMP4 = texture2D(Texture, _c0073); + _D1 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0075 = (TEX0.xy - _g1) - _g2; + _TMP5 = texture2D(Texture, _c0075); + _C00 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0077 = TEX0.xy - _g2; + _TMP6 = texture2D(Texture, _c0077); + _C01 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0079 = (TEX0.xy + _g1) - _g2; + _TMP7 = texture2D(Texture, _c0079); + _C02 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0081 = (TEX0.xy + 2.00000000E+00*_g1) - _g2; + _TMP8 = texture2D(Texture, _c0081); + _C03 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0083 = TEX0.xy - _g1; + _TMP9 = texture2D(Texture, _c0083); + _C10 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0085 = (TEX0.xy - _g1) + _g2; + _TMP10 = texture2D(Texture, _c0085); + _C20 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0087 = TEX0.xy + 2.00000000E+00*_g1; + _TMP11 = texture2D(Texture, _c0087); + _C13 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0089 = TEX0.xy + 2.00000000E+00*_g1 + _g2; + _TMP12 = texture2D(Texture, _c0089); + _C23 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0091 = (TEX0.xy - _g1) + 2.00000000E+00*_g2; + _TMP13 = texture2D(Texture, _c0091); + _C30 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0093 = TEX0.xy + 2.00000000E+00*_g2; + _TMP14 = texture2D(Texture, _c0093); + _C31 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0095 = TEX0.xy + _g1 + 2.00000000E+00*_g2; + _TMP15 = texture2D(Texture, _c0095); + _C32 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0097 = TEX0.xy + 2.00000000E+00*_g1 + 2.00000000E+00*_g2; + _TMP16 = texture2D(Texture, _c0097); + _C33 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP56 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _a = float(_TMP54); + _TMP56 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _b = float(_TMP54); + _TMP56 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _c = float(_TMP54); + _TMP56 = dot(vec3(float(_D1.x), float(_D1.y), float(_D1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _d = float(_TMP54); + _TMP56 = dot(vec3(float(_C00.x), float(_C00.y), float(_C00.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _c00 = float(_TMP54); + _TMP56 = dot(vec3(float(_C01.x), float(_C01.y), float(_C01.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _c01 = float(_TMP54); + _TMP56 = dot(vec3(float(_C02.x), float(_C02.y), float(_C02.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _c02 = float(_TMP54); + _TMP56 = dot(vec3(float(_C03.x), float(_C03.y), float(_C03.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _c03 = float(_TMP54); + _TMP56 = dot(vec3(float(_C10.x), float(_C10.y), float(_C10.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _c10 = float(_TMP54); + _TMP56 = dot(vec3(float(_C20.x), float(_C20.y), float(_C20.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _c20 = float(_TMP54); + _TMP56 = dot(vec3(float(_C13.x), float(_C13.y), float(_C13.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _c13 = float(_TMP54); + _TMP56 = dot(vec3(float(_C23.x), float(_C23.y), float(_C23.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _c23 = float(_TMP54); + _TMP56 = dot(vec3(float(_C30.x), float(_C30.y), float(_C30.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _c30 = float(_TMP54); + _TMP56 = dot(vec3(float(_C31.x), float(_C31.y), float(_C31.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _c31 = float(_TMP54); + _TMP56 = dot(vec3(float(_C32.x), float(_C32.y), float(_C32.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _c32 = float(_TMP54); + _TMP56 = dot(vec3(float(_C33.x), float(_C33.y), float(_C33.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP54 = float(_TMP56); + _c33 = float(_TMP54); + _p1 = abs(_pos.x); + _q1 = abs(_pos.y); + _v0167 = _g1 - _pos; + _TMP55 = dot(_v0167, _v0167); + _TMP57 = inversesqrt(_TMP55); + _TMP166 = 1.00000000E+00/_TMP57; + _v0175 = _g2 - _pos; + _TMP55 = dot(_v0175, _v0175); + _TMP57 = inversesqrt(_TMP55); + _TMP174 = 1.00000000E+00/_TMP57; + _a0183 = _c00 - _a; + _TMP17 = abs(_a0183); + _a0185 = _c01 - _c10; + _TMP18 = abs(_a0185); + _count1 = float((_TMP17 < _TMP18)); + _a0187 = _c00 - _a; + _TMP19 = abs(_a0187); + _a0189 = _c01 - _c10; + _TMP20 = abs(_a0189); + _count2 = float((_TMP19 > _TMP20)); + _a0191 = _c01 - _b; + _TMP21 = abs(_a0191); + _a0193 = _c02 - _a; + _TMP22 = abs(_a0193); + _count1 = _count1 + float((_TMP21 < _TMP22)); + _a0195 = _c01 - _b; + _TMP23 = abs(_a0195); + _a0197 = _c02 - _a; + _TMP24 = abs(_a0197); + _count2 = _count2 + float((_TMP23 > _TMP24)); + _a0199 = _c02 - _c13; + _TMP25 = abs(_a0199); + _a0201 = _c03 - _b; + _TMP26 = abs(_a0201); + _count1 = _count1 + float((_TMP25 < _TMP26)); + _a0203 = _c02 - _c13; + _TMP27 = abs(_a0203); + _a0205 = _c03 - _b; + _TMP28 = abs(_a0205); + _count2 = _count2 + float((_TMP27 > _TMP28)); + _a0207 = _c10 - _c; + _TMP29 = abs(_a0207); + _a0209 = _c20 - _a; + _TMP30 = abs(_a0209); + _count1 = _count1 + float((_TMP29 < _TMP30)); + _a0211 = _c10 - _c; + _TMP31 = abs(_a0211); + _a0213 = _c20 - _a; + _TMP32 = abs(_a0213); + _count2 = _count2 + float((_TMP31 > _TMP32)); + _a0215 = _b - _c23; + _TMP33 = abs(_a0215); + _a0217 = _c13 - _d; + _TMP34 = abs(_a0217); + _count1 = _count1 + float((_TMP33 < _TMP34)); + _a0219 = _b - _c23; + _TMP35 = abs(_a0219); + _a0221 = _c13 - _d; + _TMP36 = abs(_a0221); + _count2 = _count2 + float((_TMP35 > _TMP36)); + _a0223 = _c20 - _c31; + _TMP37 = abs(_a0223); + _a0225 = _c - _c30; + _TMP38 = abs(_a0225); + _count1 = _count1 + float((_TMP37 < _TMP38)); + _a0227 = _c20 - _c31; + _TMP39 = abs(_a0227); + _a0229 = _c - _c30; + _TMP40 = abs(_a0229); + _count2 = _count2 + float((_TMP39 > _TMP40)); + _a0231 = _c32 - _c; + _TMP41 = abs(_a0231); + _a0233 = _c31 - _d; + _TMP42 = abs(_a0233); + _count1 = _count1 + float((_TMP41 < _TMP42)); + _a0235 = _c32 - _c; + _TMP43 = abs(_a0235); + _a0237 = _c31 - _d; + _TMP44 = abs(_a0237); + _count2 = _count2 + float((_TMP43 > _TMP44)); + _a0239 = _c33 - _d; + _TMP45 = abs(_a0239); + _a0241 = _c32 - _c23; + _TMP46 = abs(_a0241); + _count1 = _count1 + float((_TMP45 < _TMP46)); + _a0243 = _c33 - _d; + _TMP47 = abs(_a0243); + _a0245 = _c32 - _c23; + _TMP48 = abs(_a0245); + _count2 = _count2 + float((_TMP47 > _TMP48)); + _a0247 = _a - _d; + _TMP49 = abs(_a0247); + _a0249 = _b - _c; + _TMP50 = abs(_a0249); + if (_count1 >= 5.00000000E+00 || _TMP49 < _TMP50 && _count2 <= 4.00000000E+00) { + if (_TMP166 < _TMP174) { + _C1 = (_A1 + _D1) - _B1; + } else { + if (_TMP166 > _TMP174) { + _B1 = (_A1 + _D1) - _C1; + } + } + } else { + _a0251 = _a - _d; + _TMP51 = abs(_a0251); + _a0253 = _b - _c; + _TMP52 = abs(_a0253); + if (_count2 >= 5.00000000E+00 || _TMP51 > _TMP52) { + _D1 = (_B1 + _C1) - _A1; + } + } + _color1 = ((1.00000000E+00 - _p1)*(1.00000000E+00 - _q1))*vec3(float(_A1.x), float(_A1.y), float(_A1.z)) + (_p1*(1.00000000E+00 - _q1))*vec3(float(_B1.x), float(_B1.y), float(_B1.z)) + ((1.00000000E+00 - _p1)*_q1)*vec3(float(_C1.x), float(_C1.y), float(_C1.z)) + (_p1*_q1)*vec3(float(_D1.x), float(_D1.y), float(_D1.z)); + _ret_0 = vec4(_color1.x, _color1.y, _color1.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/ddt/ddt-waterpaint.glsl b/ios/Assets/shaders_glsl/ddt/ddt-waterpaint.glsl new file mode 100644 index 0000000000..37c4b1c0dc --- /dev/null +++ b/ios/Assets/shaders_glsl/ddt/ddt-waterpaint.glsl @@ -0,0 +1,307 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _loc; +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; + vec2 _loc; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(_ps.x, 0.00000000E+00); + _OUT._t1.zw = vec2(0.00000000E+00, _ps.y); + _OUT._loc = vec2(float((TexCoord.xy*TextureSize).x), float((TexCoord.xy*TextureSize).y)); + _ret_0._position1 = _r0004; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + _ret_0._loc = _OUT._loc; + gl_Position = vec4(float(_r0004.x), float(_r0004.y), float(_r0004.z), float(_r0004.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + TEX2.xy = _OUT._loc; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; + TEX2.xy = _ret_0._loc; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _loc; +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; + vec2 _loc; +}; +vec4 _ret_0; +vec3 _TMP24; +vec3 _TMP23; +float _TMP22; +float _TMP21; +float _TMP20; +float _TMP19; +float _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +float _TMP8; +float _TMP7; +float _TMP6; +float _TMP5; +float _TMP27; +float _TMP29; +float _TMP26; +float _TMP28; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec2 _TMP0; +vec2 _TMP25; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _val0037; +vec2 _c0041; +vec2 _c0043; +vec2 _c0045; +float _TMP66; +vec2 _v0067; +float _TMP74; +vec2 _v0075; +float _a0083; +float _a0085; +float _a0087; +float _a0089; +vec2 _c0093; +vec2 _c0095; +vec2 _c0097; +vec2 _c0099; +vec2 _c0103; +vec2 _c0105; +vec2 _c0107; +vec2 _c0109; +float _x0111; +float _x0115; +float _x0119; +float _x0123; +float _x0127; +vec3 _a0133; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _pos; + vec2 _dir; + vec2 _g1; + vec2 _g2; + vec3 _A1; + vec3 _B1; + vec3 _C1; + vec3 _D1; + float _a; + float _b; + float _c; + float _d; + float _p1; + float _q1; + vec3 _color_old; + vec2 _delta; + vec3 _first; + vec3 _second; + vec3 _mid_horiz; + vec3 _mid_vert; + vec3 _res; + float _color1; + vec3 _TMP33; + _TMP25 = fract(vec2(float(TEX2.x), float(TEX2.y))); + _TMP0 = vec2(float(_TMP25.x), float(_TMP25.y)); + _pos = vec2(float(_TMP0.x), float(_TMP0.y)) - vec2( 5.00000000E-01, 5.00000000E-01); + _val0037 = vec2(float((_pos.x > 0.00000000E+00)), float((_pos.y > 0.00000000E+00))); + _dir = _val0037 - vec2(float((_pos.x < 0.00000000E+00)), float((_pos.y < 0.00000000E+00))); + _g1 = _dir*vec2(float(TEX1.x), float(TEX1.y)); + _g2 = _dir*vec2(float(TEX1.z), float(TEX1.w)); + _TMP1 = texture2D(Texture, TEX0.xy); + _A1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0041 = TEX0.xy + _g1; + _TMP2 = texture2D(Texture, _c0041); + _B1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0043 = TEX0.xy + _g2; + _TMP3 = texture2D(Texture, _c0043); + _C1 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0045 = TEX0.xy + _g1 + _g2; + _TMP4 = texture2D(Texture, _c0045); + _D1 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP28 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP26 = float(_TMP28); + _a = float(_TMP26); + _TMP28 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP26 = float(_TMP28); + _b = float(_TMP26); + _TMP28 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP26 = float(_TMP28); + _c = float(_TMP26); + _TMP28 = dot(vec3(float(_D1.x), float(_D1.y), float(_D1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP26 = float(_TMP28); + _d = float(_TMP26); + _p1 = abs(_pos.x); + _q1 = abs(_pos.y); + _v0067 = _g1 - _pos; + _TMP27 = dot(_v0067, _v0067); + _TMP29 = inversesqrt(_TMP27); + _TMP66 = 1.00000000E+00/_TMP29; + _v0075 = _g2 - _pos; + _TMP27 = dot(_v0075, _v0075); + _TMP29 = inversesqrt(_TMP27); + _TMP74 = 1.00000000E+00/_TMP29; + _a0083 = _a - _d; + _TMP5 = abs(_a0083); + _a0085 = _b - _c; + _TMP6 = abs(_a0085); + if (_TMP5 < _TMP6) { + if (_TMP66 < _TMP74) { + _C1 = (_A1 + _D1) - _B1; + } else { + if (_TMP66 > _TMP74) { + _B1 = (_A1 + _D1) - _C1; + } + } + } else { + _a0087 = _a - _d; + _TMP7 = abs(_a0087); + _a0089 = _b - _c; + _TMP8 = abs(_a0089); + if (_TMP7 > _TMP8) { + _D1 = (_B1 + _C1) - _A1; + } + } + _color_old = ((1.00000000E+00 - _p1)*(1.00000000E+00 - _q1))*vec3(float(_A1.x), float(_A1.y), float(_A1.z)) + (_p1*(1.00000000E+00 - _q1))*vec3(float(_B1.x), float(_B1.y), float(_B1.z)) + ((1.00000000E+00 - _p1)*_q1)*vec3(float(_C1.x), float(_C1.y), float(_C1.z)) + (_p1*_q1)*vec3(float(_D1.x), float(_D1.y), float(_D1.z)); + _delta = 5.00000000E-01/TextureSize; + _c0093 = TEX0.xy + vec2(-_delta.x, -_delta.y); + _TMP9 = texture2D(Texture, _c0093); + _c0095 = TEX0.xy + vec2(-_delta.x, 0.00000000E+00); + _TMP10 = texture2D(Texture, _c0095); + _c0097 = TEX0.xy + vec2(-_delta.x, _delta.y); + _TMP11 = texture2D(Texture, _c0097); + _c0099 = TEX0.xy + vec2(0.00000000E+00, -_delta.y); + _TMP12 = texture2D(Texture, _c0099); + _c0103 = TEX0.xy + vec2(0.00000000E+00, _delta.y); + _TMP14 = texture2D(Texture, _c0103); + _c0105 = TEX0.xy + vec2(_delta.x, -_delta.y); + _TMP15 = texture2D(Texture, _c0105); + _c0107 = TEX0.xy + vec2(_delta.x, 0.00000000E+00); + _TMP16 = texture2D(Texture, _c0107); + _c0109 = TEX0.xy + vec2(_delta.x, _delta.y); + _TMP17 = texture2D(Texture, _c0109); + _x0111 = TEX0.x*TextureSize.x + 5.00000000E-01; + _TMP18 = fract(_x0111); + _first = _TMP9.xyz + _TMP18*(_TMP15.xyz - _TMP9.xyz); + _x0115 = TEX0.x*TextureSize.x + 5.00000000E-01; + _TMP19 = fract(_x0115); + _second = _TMP11.xyz + _TMP19*(_TMP17.xyz - _TMP11.xyz); + _x0119 = TEX0.x*TextureSize.x + 5.00000000E-01; + _TMP20 = fract(_x0119); + _mid_horiz = _TMP10.xyz + _TMP20*(_TMP16.xyz - _TMP10.xyz); + _x0123 = TEX0.y*TextureSize.y + 5.00000000E-01; + _TMP21 = fract(_x0123); + _mid_vert = _TMP12.xyz + _TMP21*(_TMP14.xyz - _TMP12.xyz); + _x0127 = TEX0.y*TextureSize.y + 5.00000000E-01; + _TMP22 = fract(_x0127); + _res = _first + _TMP22*(_second - _first); + _TMP23 = _mid_horiz + 5.00000000E-01*(_mid_vert - _mid_horiz); + _a0133 = _res - _TMP23; + _TMP24 = abs(_a0133); + _color1 = (2.80000001E-01*(_res + _mid_horiz + _mid_vert) + 4.69999981E+00*_TMP24).x; + _TMP33 = (_color1 + _color_old)/2.00000000E+00; + _ret_0 = vec4(_TMP33.x, _TMP33.y, _TMP33.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/ddt/ddt.glsl b/ios/Assets/shaders_glsl/ddt/ddt.glsl new file mode 100644 index 0000000000..f3365baa65 --- /dev/null +++ b/ios/Assets/shaders_glsl/ddt/ddt.glsl @@ -0,0 +1,232 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _loc; +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; + vec2 _loc; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(_ps.x, 0.00000000E+00); + _OUT._t1.zw = vec2(0.00000000E+00, _ps.y); + _OUT._loc = vec2(float((TexCoord.xy*TextureSize).x), float((TexCoord.xy*TextureSize).y)); + _ret_0._position1 = _r0004; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + _ret_0._loc = _OUT._loc; + gl_Position = vec4(float(_r0004.x), float(_r0004.y), float(_r0004.z), float(_r0004.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + TEX2.xy = _OUT._loc; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; + TEX2.xy = _ret_0._loc; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _loc; +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; + vec2 _loc; +}; +vec4 _ret_0; +float _TMP8; +float _TMP7; +float _TMP6; +float _TMP5; +float _TMP11; +float _TMP13; +float _TMP10; +float _TMP12; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec2 _TMP0; +vec2 _TMP9; +uniform sampler2D Texture; +vec2 _val0021; +vec2 _c0025; +vec2 _c0027; +vec2 _c0029; +float _TMP50; +vec2 _v0051; +float _TMP58; +vec2 _v0059; +float _a0067; +float _a0069; +float _a0071; +float _a0073; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _pos; + vec2 _dir; + vec2 _g1; + vec2 _g2; + vec3 _A1; + vec3 _B1; + vec3 _C1; + vec3 _D1; + float _a; + float _b; + float _c; + float _d; + float _p1; + float _q1; + vec3 _color1; + _TMP9 = fract(vec2(float(TEX2.x), float(TEX2.y))); + _TMP0 = vec2(float(_TMP9.x), float(_TMP9.y)); + _pos = vec2(float(_TMP0.x), float(_TMP0.y)) - vec2( 5.00000000E-01, 5.00000000E-01); + _val0021 = vec2(float((_pos.x > 0.00000000E+00)), float((_pos.y > 0.00000000E+00))); + _dir = _val0021 - vec2(float((_pos.x < 0.00000000E+00)), float((_pos.y < 0.00000000E+00))); + _g1 = _dir*vec2(float(TEX1.x), float(TEX1.y)); + _g2 = _dir*vec2(float(TEX1.z), float(TEX1.w)); + _TMP1 = texture2D(Texture, TEX0.xy); + _A1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0025 = TEX0.xy + _g1; + _TMP2 = texture2D(Texture, _c0025); + _B1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0027 = TEX0.xy + _g2; + _TMP3 = texture2D(Texture, _c0027); + _C1 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0029 = TEX0.xy + _g1 + _g2; + _TMP4 = texture2D(Texture, _c0029); + _D1 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP12 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP10 = float(_TMP12); + _a = float(_TMP10); + _TMP12 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP10 = float(_TMP12); + _b = float(_TMP10); + _TMP12 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP10 = float(_TMP12); + _c = float(_TMP10); + _TMP12 = dot(vec3(float(_D1.x), float(_D1.y), float(_D1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP10 = float(_TMP12); + _d = float(_TMP10); + _p1 = abs(_pos.x); + _q1 = abs(_pos.y); + _v0051 = _g1 - _pos; + _TMP11 = dot(_v0051, _v0051); + _TMP13 = inversesqrt(_TMP11); + _TMP50 = 1.00000000E+00/_TMP13; + _v0059 = _g2 - _pos; + _TMP11 = dot(_v0059, _v0059); + _TMP13 = inversesqrt(_TMP11); + _TMP58 = 1.00000000E+00/_TMP13; + _a0067 = _a - _d; + _TMP5 = abs(_a0067); + _a0069 = _b - _c; + _TMP6 = abs(_a0069); + if (_TMP5 < _TMP6) { + if (_TMP50 < _TMP58) { + _C1 = (_A1 + _D1) - _B1; + } else { + if (_TMP50 > _TMP58) { + _B1 = (_A1 + _D1) - _C1; + } + } + } else { + _a0071 = _a - _d; + _TMP7 = abs(_a0071); + _a0073 = _b - _c; + _TMP8 = abs(_a0073); + if (_TMP7 > _TMP8) { + _D1 = (_B1 + _C1) - _A1; + } + } + _color1 = ((1.00000000E+00 - _p1)*(1.00000000E+00 - _q1))*vec3(float(_A1.x), float(_A1.y), float(_A1.z)) + (_p1*(1.00000000E+00 - _q1))*vec3(float(_B1.x), float(_B1.y), float(_B1.z)) + ((1.00000000E+00 - _p1)*_q1)*vec3(float(_C1.x), float(_C1.y), float(_C1.z)) + (_p1*_q1)*vec3(float(_D1.x), float(_D1.y), float(_D1.z)); + _ret_0 = vec4(_color1.x, _color1.y, _color1.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/dithering/mdapt.glslp b/ios/Assets/shaders_glsl/dithering/mdapt.glslp new file mode 100644 index 0000000000..97a55c879f --- /dev/null +++ b/ios/Assets/shaders_glsl/dithering/mdapt.glslp @@ -0,0 +1,11 @@ +shaders = 2 +shader0 = mdapt_pass1.glsl +shader1 = mdapt_pass2.glsl + +filter_linear0 = false +scale_type0 = source +scale0 = 1.0 + +filter_linear1 = false +scale_type1 = source +scale1 = 1.0 diff --git a/ios/Assets/shaders_glsl/dithering/mdapt_pass1.glsl b/ios/Assets/shaders_glsl/dithering/mdapt_pass1.glsl new file mode 100644 index 0000000000..bba873933c --- /dev/null +++ b/ios/Assets/shaders_glsl/dithering/mdapt_pass1.glsl @@ -0,0 +1,168 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _loc; +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; + vec2 _loc; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(_ps.x, 0.00000000E+00); + _OUT._t1.zw = vec2(0.00000000E+00, _ps.y); + _OUT._loc = vec2(float((TexCoord.xy*TextureSize).x), float((TexCoord.xy*TextureSize).y)); + _ret_0._position1 = _r0004; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + _ret_0._loc = _OUT._loc; + gl_Position = vec4(float(_r0004.x), float(_r0004.y), float(_r0004.z), float(_r0004.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + TEX2.xy = _OUT._loc; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; + TEX2.xy = _ret_0._loc; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _loc; +varying vec4 _t1; +varying vec2 _texCoord; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; + vec2 _loc; +}; +vec4 _ret_0; +bool _TMP9; +bool _TMP8; +bool _TMP7; +float _TMP10; +bool _TMP6; +bool _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _val0016; +vec2 _c0020; +vec2 _c0022; +vec2 _c0024; +vec2 _c0026; +vec3 _df0036; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _pos; + vec2 _dir; + vec2 _g1; + float _tag; + _pos = vec2(float(TEX2.x), float(TEX2.y)); + _val0016 = vec2(float((_pos.x > 0.00000000E+00)), float((_pos.y > 0.00000000E+00))); + _dir = _val0016 - vec2(float((_pos.x < 0.00000000E+00)), float((_pos.y < 0.00000000E+00))); + _g1 = _dir*vec2(float(TEX1.x), float(TEX1.y)); + _TMP0 = texture2D(Texture, TEX0.xy); + _c0020 = TEX0.xy - _g1; + _TMP1 = texture2D(Texture, _c0020); + _c0022 = TEX0.xy - 2.00000000E+00*_g1; + _TMP2 = texture2D(Texture, _c0022); + _c0024 = TEX0.xy + _g1; + _TMP3 = texture2D(Texture, _c0024); + _c0026 = TEX0.xy + 2.00000000E+00*_g1; + _TMP4 = texture2D(Texture, _c0026); + _tag = 0.00000000E+00; + _TMP5 = _TMP1.x == _TMP0.x && _TMP1.y == _TMP0.y && _TMP1.z == _TMP0.z; + _TMP6 = _TMP0.x == _TMP3.x && _TMP0.y == _TMP3.y && _TMP0.z == _TMP3.z; + if (!_TMP5 || !_TMP6) { + _TMP7 = _TMP2.x == _TMP0.x && _TMP2.y == _TMP0.y && _TMP2.z == _TMP0.z; + _TMP8 = _TMP0.x == _TMP4.x && _TMP0.y == _TMP4.y && _TMP0.z == _TMP4.z; + _df0036 = _TMP1.xyz - _TMP3.xyz; + _TMP10 = dot(_df0036, _df0036); + _TMP9 = _TMP10 <= 1.00000000E+00; + if (_TMP7 && _TMP8 && _TMP9) { + _tag = 1.00000000E+00; + } + } + _ret_0 = vec4(_TMP0.x, _TMP0.y, _TMP0.z, _tag); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/dithering/mdapt_pass2.glsl b/ios/Assets/shaders_glsl/dithering/mdapt_pass2.glsl new file mode 100644 index 0000000000..65d6ba6fad --- /dev/null +++ b/ios/Assets/shaders_glsl/dithering/mdapt_pass2.glsl @@ -0,0 +1,164 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _loc; +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; + vec2 _loc; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0004; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0004.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(_ps.x, 0.00000000E+00); + _OUT._t1.zw = vec2(0.00000000E+00, _ps.y); + _OUT._loc = vec2(float((TexCoord.xy*TextureSize).x), float((TexCoord.xy*TextureSize).y)); + _ret_0._position1 = _r0004; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + _ret_0._loc = _OUT._loc; + gl_Position = vec4(float(_r0004.x), float(_r0004.y), float(_r0004.z), float(_r0004.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + TEX2.xy = _OUT._loc; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; + TEX2.xy = _ret_0._loc; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _loc; +varying vec4 _t1; +varying vec2 _texCoord; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; + vec2 _loc; +}; +vec3 _TMP7; +vec3 _TMP6; +vec3 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _val0015; +vec2 _c0019; +vec2 _c0021; +vec2 _c0023; +vec2 _c0025; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _pos; + vec2 _dir; + vec2 _g1; + vec4 _C1; + _pos = vec2(float(TEX2.x), float(TEX2.y)); + _val0015 = vec2(float((_pos.x > 0.00000000E+00)), float((_pos.y > 0.00000000E+00))); + _dir = _val0015 - vec2(float((_pos.x < 0.00000000E+00)), float((_pos.y < 0.00000000E+00))); + _g1 = _dir*vec2(float(TEX1.x), float(TEX1.y)); + _TMP0 = texture2D(Texture, TEX0.xy); + _C1 = _TMP0.xyzw; + _c0019 = TEX0.xy - _g1; + _TMP1 = texture2D(Texture, _c0019); + _c0021 = TEX0.xy - 2.00000000E+00*_g1; + _TMP2 = texture2D(Texture, _c0021); + _c0023 = TEX0.xy + _g1; + _TMP3 = texture2D(Texture, _c0023); + _c0025 = TEX0.xy + 2.00000000E+00*_g1; + _TMP4 = texture2D(Texture, _c0025); + if (_TMP0.w == 1.00000000E+00 || _TMP1.w == 1.00000000E+00 || _TMP3.w == 1.00000000E+00) { + _TMP5 = 2.50000000E-01*(_TMP1.xyz + _TMP3.xyz) + 5.00000000E-01*_TMP0.xyz; + _C1 = vec4(_TMP5.x, _TMP5.y, _TMP5.z, 1.00000000E+00); + } else { + if (_TMP2.w == 1.00000000E+00) { + _TMP6 = 5.00000000E-01*(_TMP1.xyz + _TMP0.xyz); + _C1 = vec4(_TMP6.x, _TMP6.y, _TMP6.z, 1.00000000E+00); + } else { + if (_TMP4.w == 1.00000000E+00) { + _TMP7 = 5.00000000E-01*(_TMP0.xyz + _TMP3.xyz); + _C1 = vec4(_TMP7.x, _TMP7.y, _TMP7.z, 1.00000000E+00); + } + } + } + gl_FragColor = _C1; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/pixellate.glsl b/ios/Assets/shaders_glsl/pixellate.glsl new file mode 100644 index 0000000000..bd314f518f --- /dev/null +++ b/ios/Assets/shaders_glsl/pixellate.glsl @@ -0,0 +1,156 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _oTex; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oTex = TexCoord.xy; + gl_Position = _r0002; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +vec2 _TMP9; +vec4 _TMP7; +vec2 _TMP6; +vec4 _TMP5; +vec2 _TMP4; +vec4 _TMP3; +vec2 _TMP2; +vec4 _TMP1; +vec2 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0014; +vec2 _c0016; +vec2 _x0018; +vec2 _c0020; +vec2 _x0022; +vec2 _c0024; +vec2 _x0026; +vec2 _c0028; +vec2 _TMP29; +vec2 _a0030; +vec2 _x0032; +vec2 _TMP33; +vec2 _b0034; +vec2 _x0034; +vec2 _a0034; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _texelSize; + vec2 _range; + float _left; + float _top; + float _right; + float _bottom; + float _totalArea; + vec3 _averageColor; + _texelSize = 1.00000000E+00/TextureSize; + _range = 5.00000000E-01/OutputSize; + _left = TEX0.x - _range.x; + _top = TEX0.y + _range.y; + _right = TEX0.x + _range.x; + _bottom = TEX0.y - _range.y; + _x0014 = vec2(_left, _top)/_texelSize; + _TMP0 = floor(_x0014); + _c0016 = (_TMP0 + 5.00000000E-01)*_texelSize; + _TMP1 = texture2D(Texture, _c0016); + _x0018 = vec2(_right, _bottom)/_texelSize; + _TMP2 = floor(_x0018); + _c0020 = (_TMP2 + 5.00000000E-01)*_texelSize; + _TMP3 = texture2D(Texture, _c0020); + _x0022 = vec2(_left, _bottom)/_texelSize; + _TMP4 = floor(_x0022); + _c0024 = (_TMP4 + 5.00000000E-01)*_texelSize; + _TMP5 = texture2D(Texture, _c0024); + _x0026 = vec2(_right, _top)/_texelSize; + _TMP6 = floor(_x0026); + _c0028 = (_TMP6 + 5.00000000E-01)*_texelSize; + _TMP7 = texture2D(Texture, _c0028); + _a0030 = TEX0.xy/_texelSize; + _x0032 = _a0030 + 5.00000000E-01; + _TMP29 = floor(_x0032); + _x0034 = _TMP29*_texelSize; + _a0034 = vec2(_left, _bottom); + _b0034 = vec2(_right, _top); + _TMP9 = min(_b0034, _x0034); + _TMP33 = max(_a0034, _TMP9); + _totalArea = 4.00000000E+00*_range.x*_range.y; + _averageColor = (((_TMP33.x - _left)*(_top - _TMP33.y))/_totalArea)*_TMP1.xyz; + _averageColor = _averageColor + (((_right - _TMP33.x)*(_TMP33.y - _bottom))/_totalArea)*_TMP3.xyz; + _averageColor = _averageColor + (((_TMP33.x - _left)*(_TMP33.y - _bottom))/_totalArea)*_TMP5.xyz; + _averageColor = _averageColor + (((_right - _TMP33.x)*(_top - _TMP33.y))/_totalArea)*_TMP7.xyz; + _ret_0 = vec4(_averageColor.x, _averageColor.y, _averageColor.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/scanline.glsl b/ios/Assets/shaders_glsl/scanline.glsl new file mode 100644 index 0000000000..847302b28f --- /dev/null +++ b/ios/Assets/shaders_glsl/scanline.glsl @@ -0,0 +1,123 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec2 _omega; +struct sine_coord { + vec2 _omega; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +varying vec4 COL0; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX2; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _oTex; + sine_coord _coords; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oColor = COLOR; + _oTex = TexCoord.xy; + _coords._omega = vec2((3.14150000E+00*OutputSize.x*TextureSize.x)/InputSize.x, 6.28299999E+00*TextureSize.y); + gl_Position = _r0005; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX2.xy = _coords._omega; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec2 _omega; +struct sine_coord { + vec2 _omega; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _ret_0; +float _TMP2; +vec2 _TMP1; +float _TMP4; +float _TMP3; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _x0011; +vec2 _a0017; +varying vec4 TEX2; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _scanline; + _TMP0 = texture2D(Texture, TEX0.xy); + _x0011 = TEX0.xy*TEX2.xy; + _TMP3 = sin(_x0011.x); + _TMP4 = sin(_x0011.y); + _TMP1 = vec2(_TMP3, _TMP4); + _a0017 = vec2( 5.00000007E-02, 1.50000006E-01)*_TMP1; + _TMP2 = dot(_a0017, vec2( 1.00000000E+00, 1.00000000E+00)); + _scanline = _TMP0.xyz*(9.49999988E-01 + _TMP2); + _ret_0 = vec4(_scanline.x, _scanline.y, _scanline.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/stock.glsl b/ios/Assets/shaders_glsl/stock.glsl new file mode 100644 index 0000000000..8a8b8404ba --- /dev/null +++ b/ios/Assets/shaders_glsl/stock.glsl @@ -0,0 +1,101 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +uniform sampler2D Texture; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + _OUT._color = texture2D(Texture, TEX0.xy); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v2-gamma.glsl b/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v2-gamma.glsl new file mode 100644 index 0000000000..aa3231000b --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v2-gamma.glsl @@ -0,0 +1,700 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +vec3 _TMP62; +vec3 _TMP75; +vec3 _TMP79; +vec3 _TMP78; +float _TMP74; +float _TMP73; +float _TMP72; +float _TMP77; +vec3 _TMP61; +vec3 _TMP60; +vec3 _TMP59; +vec3 _TMP58; +vec4 _TMP57; +vec3 _TMP71; +vec3 _TMP56; +vec3 _TMP55; +vec3 _TMP54; +vec3 _TMP53; +vec4 _TMP46; +vec4 _TMP45; +vec4 _TMP80; +bvec4 _TMP44; +bvec4 _TMP43; +bvec4 _TMP42; +bvec4 _TMP41; +bvec4 _TMP40; +bvec4 _TMP39; +bvec4 _TMP38; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP76; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0094; +vec4 _r0138; +vec4 _r0148; +vec4 _r0158; +vec4 _r0168; +vec4 _r0178; +vec4 _r0188; +vec4 _TMP199; +vec4 _a0202; +vec4 _TMP205; +vec4 _a0208; +vec4 _TMP211; +vec4 _a0214; +vec4 _TMP217; +vec4 _a0220; +vec4 _TMP223; +vec4 _a0226; +vec4 _TMP229; +vec4 _a0232; +vec4 _TMP235; +vec4 _a0238; +vec4 _TMP241; +vec4 _a0244; +vec4 _TMP247; +vec4 _a0250; +vec4 _TMP253; +vec4 _a0256; +vec4 _TMP259; +vec4 _a0262; +vec4 _TMP265; +vec4 _a0268; +vec4 _TMP271; +vec4 _a0274; +vec4 _TMP277; +vec4 _a0280; +vec4 _TMP283; +vec4 _a0286; +vec4 _TMP289; +vec4 _a0292; +vec4 _TMP295; +vec4 _a0298; +vec4 _TMP301; +vec4 _a0304; +vec4 _x0308; +vec4 _TMP309; +vec4 _x0318; +vec4 _TMP319; +vec4 _x0328; +vec4 _TMP329; +vec4 _TMP337; +vec4 _a0340; +vec4 _TMP341; +vec4 _a0344; +vec4 _TMP345; +vec4 _a0348; +vec4 _TMP349; +vec4 _a0352; +vec4 _TMP353; +vec4 _a0356; +vec4 _TMP359; +vec4 _a0362; +vec4 _TMP363; +vec4 _a0366; +vec4 _TMP367; +vec4 _a0370; +vec4 _TMP371; +vec4 _a0374; +vec4 _TMP375; +vec4 _a0378; +vec4 _TMP379; +vec4 _a0382; +vec4 _TMP383; +vec4 _a0386; +vec4 _TMP387; +vec4 _a0390; +vec4 _TMP391; +vec4 _a0394; +vec4 _TMP395; +vec4 _a0398; +vec4 _TMP399; +vec4 _a0402; +vec3 _b0406; +vec3 _b0410; +vec3 _TMP411; +vec3 _a0412; +vec3 _b0420; +vec3 _b0424; +vec3 _TMP425; +vec3 _a0426; +float _t0452; +vec3 _TMP461; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A3; + vec3 _B3; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c1; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec3 _res; + vec3 _n1; + vec3 _n2; + vec3 _n3; + vec3 _n4; + vec3 _s; + vec3 _aa; + vec3 _bb; + vec3 _cc; + vec3 _dd; + vec3 _t; + vec3 _m; + vec3 _s1; + vec3 _s0; + float _blend; + vec3 _pix; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + _x0094 = TEX0.xy*TextureSize; + _fp = fract(_x0094); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A3 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B3 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP76 = dot(vec3(float(_B3.x), float(_B3.y), float(_B3.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0138.x = float(_TMP76); + _TMP76 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0138.y = float(_TMP76); + _TMP76 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0138.z = float(_TMP76); + _TMP76 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0138.w = float(_TMP76); + _b1 = vec4(float(_r0138.x), float(_r0138.y), float(_r0138.z), float(_r0138.w)); + _TMP76 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0148.x = float(_TMP76); + _TMP76 = dot(vec3(float(_A3.x), float(_A3.y), float(_A3.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0148.y = float(_TMP76); + _TMP76 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0148.z = float(_TMP76); + _TMP76 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0148.w = float(_TMP76); + _c1 = vec4(float(_r0148.x), float(_r0148.y), float(_r0148.z), float(_r0148.w)); + _TMP76 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0158.x = float(_TMP76); + _TMP76 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0158.y = float(_TMP76); + _TMP76 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0158.z = float(_TMP76); + _TMP76 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0158.w = float(_TMP76); + _e1 = vec4(float(_r0158.x), float(_r0158.y), float(_r0158.z), float(_r0158.w)); + _TMP76 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0168.x = float(_TMP76); + _TMP76 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0168.y = float(_TMP76); + _TMP76 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0168.z = float(_TMP76); + _TMP76 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0168.w = float(_TMP76); + _i4 = vec4(float(_r0168.x), float(_r0168.y), float(_r0168.z), float(_r0168.w)); + _TMP76 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0178.x = float(_TMP76); + _TMP76 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0178.y = float(_TMP76); + _TMP76 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0178.z = float(_TMP76); + _TMP76 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0178.w = float(_TMP76); + _i5 = vec4(float(_r0178.x), float(_r0178.y), float(_r0178.z), float(_r0178.w)); + _TMP76 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0188.x = float(_TMP76); + _TMP76 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0188.y = float(_TMP76); + _TMP76 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0188.z = float(_TMP76); + _TMP76 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0188.w = float(_TMP76); + _h5 = vec4(float(_r0188.x), float(_r0188.y), float(_r0188.z), float(_r0188.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0202 = _e1 - _b1; + _TMP199 = abs(_a0202); + _TMP27 = bvec4(_TMP199.x < 2.00000000E+00, _TMP199.y < 2.00000000E+00, _TMP199.z < 2.00000000E+00, _TMP199.w < 2.00000000E+00); + _a0208 = _e1 - _b1.yzwx; + _TMP205 = abs(_a0208); + _TMP28 = bvec4(_TMP205.x < 2.00000000E+00, _TMP205.y < 2.00000000E+00, _TMP205.z < 2.00000000E+00, _TMP205.w < 2.00000000E+00); + _a0214 = _e1 - _c1.yzwx; + _TMP211 = abs(_a0214); + _TMP29 = bvec4(_TMP211.x < 2.00000000E+00, _TMP211.y < 2.00000000E+00, _TMP211.z < 2.00000000E+00, _TMP211.w < 2.00000000E+00); + _a0220 = _b1.wxyz - _h5.yzwx; + _TMP217 = abs(_a0220); + _TMP30 = bvec4(_TMP217.x < 2.00000000E+00, _TMP217.y < 2.00000000E+00, _TMP217.z < 2.00000000E+00, _TMP217.w < 2.00000000E+00); + _a0226 = _b1.wxyz - _c1; + _TMP223 = abs(_a0226); + _TMP31 = bvec4(_TMP223.x < 2.00000000E+00, _TMP223.y < 2.00000000E+00, _TMP223.z < 2.00000000E+00, _TMP223.w < 2.00000000E+00); + _a0232 = _b1.zwxy - _h5; + _TMP229 = abs(_a0232); + _TMP32 = bvec4(_TMP229.x < 2.00000000E+00, _TMP229.y < 2.00000000E+00, _TMP229.z < 2.00000000E+00, _TMP229.w < 2.00000000E+00); + _a0238 = _b1.zwxy - _c1.zwxy; + _TMP235 = abs(_a0238); + _TMP33 = bvec4(_TMP235.x < 2.00000000E+00, _TMP235.y < 2.00000000E+00, _TMP235.z < 2.00000000E+00, _TMP235.w < 2.00000000E+00); + _a0244 = _b1.wxyz - _b1; + _TMP241 = abs(_a0244); + _TMP34 = bvec4(_TMP241.x < 1.50000000E+01, _TMP241.y < 1.50000000E+01, _TMP241.z < 1.50000000E+01, _TMP241.w < 1.50000000E+01); + _a0250 = _b1.wxyz - _c1; + _TMP247 = abs(_a0250); + _TMP35 = bvec4(_TMP247.x < 1.50000000E+01, _TMP247.y < 1.50000000E+01, _TMP247.z < 1.50000000E+01, _TMP247.w < 1.50000000E+01); + _a0256 = _b1.zwxy - _b1.yzwx; + _TMP253 = abs(_a0256); + _TMP36 = bvec4(_TMP253.x < 1.50000000E+01, _TMP253.y < 1.50000000E+01, _TMP253.z < 1.50000000E+01, _TMP253.w < 1.50000000E+01); + _a0262 = _b1.zwxy - _c1.zwxy; + _TMP259 = abs(_a0262); + _TMP37 = bvec4(_TMP259.x < 1.50000000E+01, _TMP259.y < 1.50000000E+01, _TMP259.z < 1.50000000E+01, _TMP259.w < 1.50000000E+01); + _a0268 = _e1 - _c1.wxyz; + _TMP265 = abs(_a0268); + _TMP38 = bvec4(_TMP265.x < 1.50000000E+01, _TMP265.y < 1.50000000E+01, _TMP265.z < 1.50000000E+01, _TMP265.w < 1.50000000E+01); + _a0274 = _b1.wxyz - _h5.yzwx; + _TMP271 = abs(_a0274); + _TMP39 = bvec4(_TMP271.x < 1.50000000E+01, _TMP271.y < 1.50000000E+01, _TMP271.z < 1.50000000E+01, _TMP271.w < 1.50000000E+01); + _a0280 = _b1.wxyz - _i4; + _TMP277 = abs(_a0280); + _TMP40 = bvec4(_TMP277.x < 1.50000000E+01, _TMP277.y < 1.50000000E+01, _TMP277.z < 1.50000000E+01, _TMP277.w < 1.50000000E+01); + _a0286 = _b1.zwxy - _h5; + _TMP283 = abs(_a0286); + _TMP41 = bvec4(_TMP283.x < 1.50000000E+01, _TMP283.y < 1.50000000E+01, _TMP283.z < 1.50000000E+01, _TMP283.w < 1.50000000E+01); + _a0292 = _b1.zwxy - _i5; + _TMP289 = abs(_a0292); + _TMP42 = bvec4(_TMP289.x < 1.50000000E+01, _TMP289.y < 1.50000000E+01, _TMP289.z < 1.50000000E+01, _TMP289.w < 1.50000000E+01); + _a0298 = _e1 - _c1.zwxy; + _TMP295 = abs(_a0298); + _TMP43 = bvec4(_TMP295.x < 1.50000000E+01, _TMP295.y < 1.50000000E+01, _TMP295.z < 1.50000000E+01, _TMP295.w < 1.50000000E+01); + _a0304 = _e1 - _c1; + _TMP301 = abs(_a0304); + _TMP44 = bvec4(_TMP301.x < 1.50000000E+01, _TMP301.y < 1.50000000E+01, _TMP301.z < 1.50000000E+01, _TMP301.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (_TMP27.x || _TMP28.x || !_TMP29.x) && (_TMP30.x || _TMP31.x || _TMP32.x || _TMP33.x) && (!_TMP34.x && !_TMP35.x || !_TMP36.x && !_TMP37.x || _TMP38.x && (!_TMP39.x && !_TMP40.x || !_TMP41.x && !_TMP42.x) || _TMP43.x || _TMP44.x), _e1.y != _b1.x && _e1.y != _b1.w && (_TMP27.y || _TMP28.y || !_TMP29.y) && (_TMP30.y || _TMP31.y || _TMP32.y || _TMP33.y) && (!_TMP34.y && !_TMP35.y || !_TMP36.y && !_TMP37.y || _TMP38.y && (!_TMP39.y && !_TMP40.y || !_TMP41.y && !_TMP42.y) || _TMP43.y || _TMP44.y), _e1.z != _b1.y && _e1.z != _b1.x && (_TMP27.z || _TMP28.z || !_TMP29.z) && (_TMP30.z || _TMP31.z || _TMP32.z || _TMP33.z) && (!_TMP34.z && !_TMP35.z || !_TMP36.z && !_TMP37.z || _TMP38.z && (!_TMP39.z && !_TMP40.z || !_TMP41.z && !_TMP42.z) || _TMP43.z || _TMP44.z), _e1.w != _b1.z && _e1.w != _b1.y && (_TMP27.w || _TMP28.w || !_TMP29.w) && (_TMP30.w || _TMP31.w || _TMP32.w || _TMP33.w) && (!_TMP34.w && !_TMP35.w || !_TMP36.w && !_TMP37.w || _TMP38.w && (!_TMP39.w && !_TMP40.w || !_TMP41.w && !_TMP42.w) || _TMP43.w || _TMP44.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c1.z && _b1.y != _c1.z, _e1.y != _c1.w && _b1.z != _c1.w, _e1.z != _c1.x && _b1.w != _c1.x, _e1.w != _c1.y && _b1.x != _c1.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c1.x && _b1.x != _c1.x, _e1.y != _c1.y && _b1.y != _c1.y, _e1.z != _c1.z && _b1.z != _c1.z, _e1.w != _c1.w && _b1.w != _c1.w); + _x0308 = _fx - vec4( 1.00000000E+00, 0.00000000E+00, -1.00000000E+00, 0.00000000E+00); + _TMP80 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0308); + _TMP309 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP80); + _fx45 = _TMP309*_TMP309*(3.00000000E+00 - 2.00000000E+00*_TMP309); + _x0318 = _fx_left - vec4( 5.00000000E-01, 5.00000000E-01, -1.00000000E+00, -5.00000000E-01); + _TMP80 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0318); + _TMP319 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP80); + _fx30 = _TMP319*_TMP319*(3.00000000E+00 - 2.00000000E+00*_TMP319); + _x0328 = _fx_up - vec4( 1.50000000E+00, -5.00000000E-01, -1.50000000E+00, 0.00000000E+00); + _TMP80 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0328); + _TMP329 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP80); + _fx60 = _TMP329*_TMP329*(3.00000000E+00 - 2.00000000E+00*_TMP329); + _a0340 = _e1 - _c1; + _TMP337 = abs(_a0340); + _a0344 = _e1 - _c1.zwxy; + _TMP341 = abs(_a0344); + _a0348 = _c1.wxyz - _h5; + _TMP345 = abs(_a0348); + _a0352 = _c1.wxyz - _h5.yzwx; + _TMP349 = abs(_a0352); + _a0356 = _b1.zwxy - _b1.wxyz; + _TMP353 = abs(_a0356); + _TMP45 = _TMP337 + _TMP341 + _TMP345 + _TMP349 + 4.00000000E+00*_TMP353; + _a0362 = _b1.zwxy - _b1.yzwx; + _TMP359 = abs(_a0362); + _a0366 = _b1.zwxy - _i5; + _TMP363 = abs(_a0366); + _a0370 = _b1.wxyz - _i4; + _TMP367 = abs(_a0370); + _a0374 = _b1.wxyz - _b1; + _TMP371 = abs(_a0374); + _a0378 = _e1 - _c1.wxyz; + _TMP375 = abs(_a0378); + _TMP46 = _TMP359 + _TMP363 + _TMP367 + _TMP371 + 4.00000000E+00*_TMP375; + _edr = bvec4((_TMP45 + 3.50000000E+00).x < _TMP46.x && _interp_restriction_lv1.x, (_TMP45 + 3.50000000E+00).y < _TMP46.y && _interp_restriction_lv1.y, (_TMP45 + 3.50000000E+00).z < _TMP46.z && _interp_restriction_lv1.z, (_TMP45 + 3.50000000E+00).w < _TMP46.w && _interp_restriction_lv1.w); + _a0382 = _b1.wxyz - _c1.zwxy; + _TMP379 = abs(_a0382); + _a0386 = _b1.zwxy - _c1; + _TMP383 = abs(_a0386); + _edr_left = bvec4((2.00000000E+00*_TMP379).x <= _TMP383.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP379).y <= _TMP383.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP379).z <= _TMP383.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP379).w <= _TMP383.w && _interp_restriction_lv2_left.w); + _a0390 = _b1.wxyz - _c1.zwxy; + _TMP387 = abs(_a0390); + _a0394 = _b1.zwxy - _c1; + _TMP391 = abs(_a0394); + _edr_up = bvec4(_TMP387.x >= (2.00000000E+00*_TMP391).x && _interp_restriction_lv2_up.x, _TMP387.y >= (2.00000000E+00*_TMP391).y && _interp_restriction_lv2_up.y, _TMP387.z >= (2.00000000E+00*_TMP391).z && _interp_restriction_lv2_up.z, _TMP387.w >= (2.00000000E+00*_TMP391).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0398 = _e1 - _b1.wxyz; + _TMP395 = abs(_a0398); + _a0402 = _e1 - _b1.zwxy; + _TMP399 = abs(_a0402); + _px = bvec4(_TMP395.x <= _TMP399.x, _TMP395.y <= _TMP399.y, _TMP395.z <= _TMP399.z, _TMP395.w <= _TMP399.w); + _n1 = vec3(float(_B11.x), float(_B11.y), float(_B11.z)); + _n2 = vec3(float(_B3.x), float(_B3.y), float(_B3.z)); + _s = vec3(float(_E.x), float(_E.y), float(_E.z)); + _n3 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _n4 = vec3(float(_H5.x), float(_H5.y), float(_H5.z)); + _aa = _n2 - _n1; + _bb = _s - _n2; + _cc = _n3 - _s; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s.x < 5.00000000E-01 ? (2.00000000E+00*_s).x : (2.00000000E+00*(1.00000000E+00 - _s)).x, _s.y < 5.00000000E-01 ? (2.00000000E+00*_s).y : (2.00000000E+00*(1.00000000E+00 - _s)).y, _s.z < 5.00000000E-01 ? (2.00000000E+00*_s).z : (2.00000000E+00*(1.00000000E+00 - _s)).z); + _TMP53 = abs(_bb); + _b0406 = 2.00000000E+00*_TMP53; + _m = min(_m, _b0406); + _TMP54 = abs(_cc); + _b0410 = 2.00000000E+00*_TMP54; + _m = min(_m, _b0410); + _a0412 = -_m; + _TMP71 = min(_m, _t); + _TMP411 = max(_a0412, _TMP71); + _s1 = (2.00000000E+00*_fp.y - 1.00000000E+00)*_TMP411 + _s; + _n1 = vec3(float(_D0.x), float(_D0.y), float(_D0.z)); + _n2 = vec3(float(_D.x), float(_D.y), float(_D.z)); + _n3 = vec3(float(_F.x), float(_F.y), float(_F.z)); + _n4 = vec3(float(_F4.x), float(_F4.y), float(_F4.z)); + _aa = _n2 - _n1; + _bb = _s1 - _n2; + _cc = _n3 - _s1; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s1.x < 5.00000000E-01 ? (2.00000000E+00*_s1).x : (2.00000000E+00*(1.00000000E+00 - _s1)).x, _s1.y < 5.00000000E-01 ? (2.00000000E+00*_s1).y : (2.00000000E+00*(1.00000000E+00 - _s1)).y, _s1.z < 5.00000000E-01 ? (2.00000000E+00*_s1).z : (2.00000000E+00*(1.00000000E+00 - _s1)).z); + _TMP55 = abs(_bb); + _b0420 = 2.00000000E+00*_TMP55; + _m = min(_m, _b0420); + _TMP56 = abs(_cc); + _b0424 = 2.00000000E+00*_TMP56; + _m = min(_m, _b0424); + _a0426 = -_m; + _TMP71 = min(_m, _t); + _TMP425 = max(_a0426, _TMP71); + _s0 = (2.00000000E+00*_fp.x - 1.00000000E+00)*_TMP425 + _s1; + _res = vec3(float(_s0.x), float(_s0.y), float(_s0.z)); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _blend = 0.00000000E+00; + _pix = _res; + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP57 = max(_final30, _final60); + _maximo = max(_TMP57, _final45); + if (_nc.x) { + if (_px.x) { + _TMP58 = _F; + } else { + _TMP58 = _H; + } + _pix = _TMP58; + _blend = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP59 = _B3; + } else { + _TMP59 = _F; + } + _pix = _TMP59; + _blend = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP60 = _D; + } else { + _TMP60 = _B3; + } + _pix = _TMP60; + _blend = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP61 = _H; + } else { + _TMP61 = _D; + } + _pix = _TMP61; + _blend = _maximo.w; + } + } + } + } + _TMP77 = pow(float(_res.x), 2.40039062E+00); + _TMP72 = float(_TMP77); + _TMP77 = pow(float(_res.y), 2.40039062E+00); + _TMP73 = float(_TMP77); + _TMP77 = pow(float(_res.z), 2.40039062E+00); + _TMP74 = float(_TMP77); + _res = vec3(_TMP72, _TMP73, _TMP74); + _TMP77 = pow(float(_pix.x), 2.40039062E+00); + _TMP72 = float(_TMP77); + _TMP77 = pow(float(_pix.y), 2.40039062E+00); + _TMP73 = float(_TMP77); + _TMP77 = pow(float(_pix.z), 2.40039062E+00); + _TMP74 = float(_TMP77); + _pix = vec3(_TMP72, _TMP73, _TMP74); + _t0452 = float(_blend); + _res = _res + _t0452*(_pix - _res); + _TMP77 = pow(float(_res.x), 4.54589844E-01); + _TMP72 = float(_TMP77); + _TMP77 = pow(float(_res.y), 4.54589844E-01); + _TMP73 = float(_TMP77); + _TMP77 = pow(float(_res.z), 4.54589844E-01); + _TMP74 = float(_TMP77); + _TMP62 = vec3(_TMP72, _TMP73, _TMP74); + _TMP78 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), vec3(float(_TMP62.x), float(_TMP62.y), float(_TMP62.z))); + _TMP75 = vec3(float(_TMP78.x), float(_TMP78.y), float(_TMP78.z)); + _TMP79 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z))); + _TMP461 = vec3(float(_TMP79.x), float(_TMP79.y), float(_TMP79.z)); + _ret_0 = vec4(float(_TMP461.x), float(_TMP461.y), float(_TMP461.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v2.glsl b/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v2.glsl new file mode 100644 index 0000000000..213c875974 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v2.glsl @@ -0,0 +1,669 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +vec3 _TMP64; +vec3 _TMP63; +vec3 _TMP62; +vec3 _TMP61; +vec4 _TMP60; +float _TMP59; +float _TMP58; +float _TMP57; +vec3 _TMP72; +vec3 _TMP56; +vec3 _TMP55; +vec3 _TMP54; +vec3 _TMP53; +vec4 _TMP46; +vec4 _TMP45; +vec4 _TMP74; +bvec4 _TMP44; +bvec4 _TMP43; +bvec4 _TMP42; +bvec4 _TMP41; +bvec4 _TMP40; +bvec4 _TMP39; +bvec4 _TMP38; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP73; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0088; +vec4 _r0132; +vec4 _r0142; +vec4 _r0152; +vec4 _r0162; +vec4 _r0172; +vec4 _r0182; +vec4 _TMP193; +vec4 _a0196; +vec4 _TMP199; +vec4 _a0202; +vec4 _TMP205; +vec4 _a0208; +vec4 _TMP211; +vec4 _a0214; +vec4 _TMP217; +vec4 _a0220; +vec4 _TMP223; +vec4 _a0226; +vec4 _TMP229; +vec4 _a0232; +vec4 _TMP235; +vec4 _a0238; +vec4 _TMP241; +vec4 _a0244; +vec4 _TMP247; +vec4 _a0250; +vec4 _TMP253; +vec4 _a0256; +vec4 _TMP259; +vec4 _a0262; +vec4 _TMP265; +vec4 _a0268; +vec4 _TMP271; +vec4 _a0274; +vec4 _TMP277; +vec4 _a0280; +vec4 _TMP283; +vec4 _a0286; +vec4 _TMP289; +vec4 _a0292; +vec4 _TMP295; +vec4 _a0298; +vec4 _x0302; +vec4 _TMP303; +vec4 _x0312; +vec4 _TMP313; +vec4 _x0322; +vec4 _TMP323; +vec4 _TMP331; +vec4 _a0334; +vec4 _TMP335; +vec4 _a0338; +vec4 _TMP339; +vec4 _a0342; +vec4 _TMP343; +vec4 _a0346; +vec4 _TMP347; +vec4 _a0350; +vec4 _TMP353; +vec4 _a0356; +vec4 _TMP357; +vec4 _a0360; +vec4 _TMP361; +vec4 _a0364; +vec4 _TMP365; +vec4 _a0368; +vec4 _TMP369; +vec4 _a0372; +vec4 _TMP373; +vec4 _a0376; +vec4 _TMP377; +vec4 _a0380; +vec4 _TMP381; +vec4 _a0384; +vec4 _TMP385; +vec4 _a0388; +vec4 _TMP389; +vec4 _a0392; +vec4 _TMP393; +vec4 _a0396; +vec3 _b0400; +vec3 _b0404; +vec3 _TMP405; +vec3 _a0406; +vec3 _b0414; +vec3 _b0418; +vec3 _TMP419; +vec3 _a0420; +vec4 _a0426; +vec4 _a0428; +vec4 _a0430; +float _t0436; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A3; + vec3 _B3; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c1; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec3 _res; + vec3 _n1; + vec3 _n2; + vec3 _n3; + vec3 _n4; + vec3 _s; + vec3 _aa; + vec3 _bb; + vec3 _cc; + vec3 _dd; + vec3 _t; + vec3 _m; + vec3 _s1; + vec3 _s0; + float _blend; + vec3 _pix; + vec4 _maximo; + _x0088 = TEX0.xy*TextureSize; + _fp = fract(_x0088); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A3 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B3 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP73 = dot(vec3(float(_B3.x), float(_B3.y), float(_B3.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.x = float(_TMP73); + _TMP73 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.y = float(_TMP73); + _TMP73 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.z = float(_TMP73); + _TMP73 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.w = float(_TMP73); + _b1 = vec4(float(_r0132.x), float(_r0132.y), float(_r0132.z), float(_r0132.w)); + _TMP73 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.x = float(_TMP73); + _TMP73 = dot(vec3(float(_A3.x), float(_A3.y), float(_A3.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.y = float(_TMP73); + _TMP73 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.z = float(_TMP73); + _TMP73 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.w = float(_TMP73); + _c1 = vec4(float(_r0142.x), float(_r0142.y), float(_r0142.z), float(_r0142.w)); + _TMP73 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.x = float(_TMP73); + _TMP73 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.y = float(_TMP73); + _TMP73 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.z = float(_TMP73); + _TMP73 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.w = float(_TMP73); + _e1 = vec4(float(_r0152.x), float(_r0152.y), float(_r0152.z), float(_r0152.w)); + _TMP73 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.x = float(_TMP73); + _TMP73 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.y = float(_TMP73); + _TMP73 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.z = float(_TMP73); + _TMP73 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.w = float(_TMP73); + _i4 = vec4(float(_r0162.x), float(_r0162.y), float(_r0162.z), float(_r0162.w)); + _TMP73 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0172.x = float(_TMP73); + _TMP73 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0172.y = float(_TMP73); + _TMP73 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0172.z = float(_TMP73); + _TMP73 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0172.w = float(_TMP73); + _i5 = vec4(float(_r0172.x), float(_r0172.y), float(_r0172.z), float(_r0172.w)); + _TMP73 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0182.x = float(_TMP73); + _TMP73 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0182.y = float(_TMP73); + _TMP73 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0182.z = float(_TMP73); + _TMP73 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0182.w = float(_TMP73); + _h5 = vec4(float(_r0182.x), float(_r0182.y), float(_r0182.z), float(_r0182.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0196 = _e1 - _b1; + _TMP193 = abs(_a0196); + _TMP27 = bvec4(_TMP193.x < 2.00000000E+00, _TMP193.y < 2.00000000E+00, _TMP193.z < 2.00000000E+00, _TMP193.w < 2.00000000E+00); + _a0202 = _e1 - _b1.yzwx; + _TMP199 = abs(_a0202); + _TMP28 = bvec4(_TMP199.x < 2.00000000E+00, _TMP199.y < 2.00000000E+00, _TMP199.z < 2.00000000E+00, _TMP199.w < 2.00000000E+00); + _a0208 = _e1 - _c1.yzwx; + _TMP205 = abs(_a0208); + _TMP29 = bvec4(_TMP205.x < 2.00000000E+00, _TMP205.y < 2.00000000E+00, _TMP205.z < 2.00000000E+00, _TMP205.w < 2.00000000E+00); + _a0214 = _b1.wxyz - _h5.yzwx; + _TMP211 = abs(_a0214); + _TMP30 = bvec4(_TMP211.x < 2.00000000E+00, _TMP211.y < 2.00000000E+00, _TMP211.z < 2.00000000E+00, _TMP211.w < 2.00000000E+00); + _a0220 = _b1.wxyz - _c1; + _TMP217 = abs(_a0220); + _TMP31 = bvec4(_TMP217.x < 2.00000000E+00, _TMP217.y < 2.00000000E+00, _TMP217.z < 2.00000000E+00, _TMP217.w < 2.00000000E+00); + _a0226 = _b1.zwxy - _h5; + _TMP223 = abs(_a0226); + _TMP32 = bvec4(_TMP223.x < 2.00000000E+00, _TMP223.y < 2.00000000E+00, _TMP223.z < 2.00000000E+00, _TMP223.w < 2.00000000E+00); + _a0232 = _b1.zwxy - _c1.zwxy; + _TMP229 = abs(_a0232); + _TMP33 = bvec4(_TMP229.x < 2.00000000E+00, _TMP229.y < 2.00000000E+00, _TMP229.z < 2.00000000E+00, _TMP229.w < 2.00000000E+00); + _a0238 = _b1.wxyz - _b1; + _TMP235 = abs(_a0238); + _TMP34 = bvec4(_TMP235.x < 1.50000000E+01, _TMP235.y < 1.50000000E+01, _TMP235.z < 1.50000000E+01, _TMP235.w < 1.50000000E+01); + _a0244 = _b1.wxyz - _c1; + _TMP241 = abs(_a0244); + _TMP35 = bvec4(_TMP241.x < 1.50000000E+01, _TMP241.y < 1.50000000E+01, _TMP241.z < 1.50000000E+01, _TMP241.w < 1.50000000E+01); + _a0250 = _b1.zwxy - _b1.yzwx; + _TMP247 = abs(_a0250); + _TMP36 = bvec4(_TMP247.x < 1.50000000E+01, _TMP247.y < 1.50000000E+01, _TMP247.z < 1.50000000E+01, _TMP247.w < 1.50000000E+01); + _a0256 = _b1.zwxy - _c1.zwxy; + _TMP253 = abs(_a0256); + _TMP37 = bvec4(_TMP253.x < 1.50000000E+01, _TMP253.y < 1.50000000E+01, _TMP253.z < 1.50000000E+01, _TMP253.w < 1.50000000E+01); + _a0262 = _e1 - _c1.wxyz; + _TMP259 = abs(_a0262); + _TMP38 = bvec4(_TMP259.x < 1.50000000E+01, _TMP259.y < 1.50000000E+01, _TMP259.z < 1.50000000E+01, _TMP259.w < 1.50000000E+01); + _a0268 = _b1.wxyz - _h5.yzwx; + _TMP265 = abs(_a0268); + _TMP39 = bvec4(_TMP265.x < 1.50000000E+01, _TMP265.y < 1.50000000E+01, _TMP265.z < 1.50000000E+01, _TMP265.w < 1.50000000E+01); + _a0274 = _b1.wxyz - _i4; + _TMP271 = abs(_a0274); + _TMP40 = bvec4(_TMP271.x < 1.50000000E+01, _TMP271.y < 1.50000000E+01, _TMP271.z < 1.50000000E+01, _TMP271.w < 1.50000000E+01); + _a0280 = _b1.zwxy - _h5; + _TMP277 = abs(_a0280); + _TMP41 = bvec4(_TMP277.x < 1.50000000E+01, _TMP277.y < 1.50000000E+01, _TMP277.z < 1.50000000E+01, _TMP277.w < 1.50000000E+01); + _a0286 = _b1.zwxy - _i5; + _TMP283 = abs(_a0286); + _TMP42 = bvec4(_TMP283.x < 1.50000000E+01, _TMP283.y < 1.50000000E+01, _TMP283.z < 1.50000000E+01, _TMP283.w < 1.50000000E+01); + _a0292 = _e1 - _c1.zwxy; + _TMP289 = abs(_a0292); + _TMP43 = bvec4(_TMP289.x < 1.50000000E+01, _TMP289.y < 1.50000000E+01, _TMP289.z < 1.50000000E+01, _TMP289.w < 1.50000000E+01); + _a0298 = _e1 - _c1; + _TMP295 = abs(_a0298); + _TMP44 = bvec4(_TMP295.x < 1.50000000E+01, _TMP295.y < 1.50000000E+01, _TMP295.z < 1.50000000E+01, _TMP295.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (_TMP27.x || _TMP28.x || !_TMP29.x) && (_TMP30.x || _TMP31.x || _TMP32.x || _TMP33.x) && (!_TMP34.x && !_TMP35.x || !_TMP36.x && !_TMP37.x || _TMP38.x && (!_TMP39.x && !_TMP40.x || !_TMP41.x && !_TMP42.x) || _TMP43.x || _TMP44.x), _e1.y != _b1.x && _e1.y != _b1.w && (_TMP27.y || _TMP28.y || !_TMP29.y) && (_TMP30.y || _TMP31.y || _TMP32.y || _TMP33.y) && (!_TMP34.y && !_TMP35.y || !_TMP36.y && !_TMP37.y || _TMP38.y && (!_TMP39.y && !_TMP40.y || !_TMP41.y && !_TMP42.y) || _TMP43.y || _TMP44.y), _e1.z != _b1.y && _e1.z != _b1.x && (_TMP27.z || _TMP28.z || !_TMP29.z) && (_TMP30.z || _TMP31.z || _TMP32.z || _TMP33.z) && (!_TMP34.z && !_TMP35.z || !_TMP36.z && !_TMP37.z || _TMP38.z && (!_TMP39.z && !_TMP40.z || !_TMP41.z && !_TMP42.z) || _TMP43.z || _TMP44.z), _e1.w != _b1.z && _e1.w != _b1.y && (_TMP27.w || _TMP28.w || !_TMP29.w) && (_TMP30.w || _TMP31.w || _TMP32.w || _TMP33.w) && (!_TMP34.w && !_TMP35.w || !_TMP36.w && !_TMP37.w || _TMP38.w && (!_TMP39.w && !_TMP40.w || !_TMP41.w && !_TMP42.w) || _TMP43.w || _TMP44.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c1.z && _b1.y != _c1.z, _e1.y != _c1.w && _b1.z != _c1.w, _e1.z != _c1.x && _b1.w != _c1.x, _e1.w != _c1.y && _b1.x != _c1.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c1.x && _b1.x != _c1.x, _e1.y != _c1.y && _b1.y != _c1.y, _e1.z != _c1.z && _b1.z != _c1.z, _e1.w != _c1.w && _b1.w != _c1.w); + _x0302 = _fx - vec4( 1.00000000E+00, 0.00000000E+00, -1.00000000E+00, 0.00000000E+00); + _TMP74 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0302); + _TMP303 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP74); + _fx45 = _TMP303*_TMP303*(3.00000000E+00 - 2.00000000E+00*_TMP303); + _x0312 = _fx_left - vec4( 5.00000000E-01, 5.00000000E-01, -1.00000000E+00, -5.00000000E-01); + _TMP74 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0312); + _TMP313 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP74); + _fx30 = _TMP313*_TMP313*(3.00000000E+00 - 2.00000000E+00*_TMP313); + _x0322 = _fx_up - vec4( 1.50000000E+00, -5.00000000E-01, -1.50000000E+00, 0.00000000E+00); + _TMP74 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0322); + _TMP323 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP74); + _fx60 = _TMP323*_TMP323*(3.00000000E+00 - 2.00000000E+00*_TMP323); + _a0334 = _e1 - _c1; + _TMP331 = abs(_a0334); + _a0338 = _e1 - _c1.zwxy; + _TMP335 = abs(_a0338); + _a0342 = _c1.wxyz - _h5; + _TMP339 = abs(_a0342); + _a0346 = _c1.wxyz - _h5.yzwx; + _TMP343 = abs(_a0346); + _a0350 = _b1.zwxy - _b1.wxyz; + _TMP347 = abs(_a0350); + _TMP45 = _TMP331 + _TMP335 + _TMP339 + _TMP343 + 4.00000000E+00*_TMP347; + _a0356 = _b1.zwxy - _b1.yzwx; + _TMP353 = abs(_a0356); + _a0360 = _b1.zwxy - _i5; + _TMP357 = abs(_a0360); + _a0364 = _b1.wxyz - _i4; + _TMP361 = abs(_a0364); + _a0368 = _b1.wxyz - _b1; + _TMP365 = abs(_a0368); + _a0372 = _e1 - _c1.wxyz; + _TMP369 = abs(_a0372); + _TMP46 = _TMP353 + _TMP357 + _TMP361 + _TMP365 + 4.00000000E+00*_TMP369; + _edr = bvec4((_TMP45 + 3.50000000E+00).x < _TMP46.x && _interp_restriction_lv1.x, (_TMP45 + 3.50000000E+00).y < _TMP46.y && _interp_restriction_lv1.y, (_TMP45 + 3.50000000E+00).z < _TMP46.z && _interp_restriction_lv1.z, (_TMP45 + 3.50000000E+00).w < _TMP46.w && _interp_restriction_lv1.w); + _a0376 = _b1.wxyz - _c1.zwxy; + _TMP373 = abs(_a0376); + _a0380 = _b1.zwxy - _c1; + _TMP377 = abs(_a0380); + _edr_left = bvec4((2.00000000E+00*_TMP373).x <= _TMP377.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP373).y <= _TMP377.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP373).z <= _TMP377.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP373).w <= _TMP377.w && _interp_restriction_lv2_left.w); + _a0384 = _b1.wxyz - _c1.zwxy; + _TMP381 = abs(_a0384); + _a0388 = _b1.zwxy - _c1; + _TMP385 = abs(_a0388); + _edr_up = bvec4(_TMP381.x >= (2.00000000E+00*_TMP385).x && _interp_restriction_lv2_up.x, _TMP381.y >= (2.00000000E+00*_TMP385).y && _interp_restriction_lv2_up.y, _TMP381.z >= (2.00000000E+00*_TMP385).z && _interp_restriction_lv2_up.z, _TMP381.w >= (2.00000000E+00*_TMP385).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0392 = _e1 - _b1.wxyz; + _TMP389 = abs(_a0392); + _a0396 = _e1 - _b1.zwxy; + _TMP393 = abs(_a0396); + _px = bvec4(_TMP389.x <= _TMP393.x, _TMP389.y <= _TMP393.y, _TMP389.z <= _TMP393.z, _TMP389.w <= _TMP393.w); + _n1 = vec3(float(_B11.x), float(_B11.y), float(_B11.z)); + _n2 = vec3(float(_B3.x), float(_B3.y), float(_B3.z)); + _s = vec3(float(_E.x), float(_E.y), float(_E.z)); + _n3 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _n4 = vec3(float(_H5.x), float(_H5.y), float(_H5.z)); + _aa = _n2 - _n1; + _bb = _s - _n2; + _cc = _n3 - _s; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s.x < 5.00000000E-01 ? (2.00000000E+00*_s).x : (2.00000000E+00*(1.00000000E+00 - _s)).x, _s.y < 5.00000000E-01 ? (2.00000000E+00*_s).y : (2.00000000E+00*(1.00000000E+00 - _s)).y, _s.z < 5.00000000E-01 ? (2.00000000E+00*_s).z : (2.00000000E+00*(1.00000000E+00 - _s)).z); + _TMP53 = abs(_bb); + _b0400 = 2.00000000E+00*_TMP53; + _m = min(_m, _b0400); + _TMP54 = abs(_cc); + _b0404 = 2.00000000E+00*_TMP54; + _m = min(_m, _b0404); + _a0406 = -_m; + _TMP72 = min(_m, _t); + _TMP405 = max(_a0406, _TMP72); + _s1 = (2.00000000E+00*_fp.y - 1.00000000E+00)*_TMP405 + _s; + _n1 = vec3(float(_D0.x), float(_D0.y), float(_D0.z)); + _n2 = vec3(float(_D.x), float(_D.y), float(_D.z)); + _n3 = vec3(float(_F.x), float(_F.y), float(_F.z)); + _n4 = vec3(float(_F4.x), float(_F4.y), float(_F4.z)); + _aa = _n2 - _n1; + _bb = _s1 - _n2; + _cc = _n3 - _s1; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s1.x < 5.00000000E-01 ? (2.00000000E+00*_s1).x : (2.00000000E+00*(1.00000000E+00 - _s1)).x, _s1.y < 5.00000000E-01 ? (2.00000000E+00*_s1).y : (2.00000000E+00*(1.00000000E+00 - _s1)).y, _s1.z < 5.00000000E-01 ? (2.00000000E+00*_s1).z : (2.00000000E+00*(1.00000000E+00 - _s1)).z); + _TMP55 = abs(_bb); + _b0414 = 2.00000000E+00*_TMP55; + _m = min(_m, _b0414); + _TMP56 = abs(_cc); + _b0418 = 2.00000000E+00*_TMP56; + _m = min(_m, _b0418); + _a0420 = -_m; + _TMP72 = min(_m, _t); + _TMP419 = max(_a0420, _TMP72); + _s0 = (2.00000000E+00*_fp.x - 1.00000000E+00)*_TMP419 + _s1; + _res = vec3(float(_s0.x), float(_s0.y), float(_s0.z)); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _blend = 0.00000000E+00; + _pix = _res; + _a0426 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w)); + _TMP57 = dot(_a0426, _fx45); + _a0428 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w)); + _TMP58 = dot(_a0428, _fx30); + _a0430 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w)); + _TMP59 = dot(_a0430, _fx60); + _TMP60 = max(vec4(_TMP58, _TMP58, _TMP58, _TMP58), vec4(_TMP59, _TMP59, _TMP59, _TMP59)); + _maximo = max(_TMP60, vec4(_TMP57, _TMP57, _TMP57, _TMP57)); + if (_nc.x) { + if (_px.x) { + _TMP61 = _F; + } else { + _TMP61 = _H; + } + _pix = _TMP61; + _blend = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP62 = _B3; + } else { + _TMP62 = _F; + } + _pix = _TMP62; + _blend = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP63 = _D; + } else { + _TMP63 = _B3; + } + _pix = _TMP63; + _blend = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP64 = _H; + } else { + _TMP64 = _D; + } + _pix = _TMP64; + _blend = _maximo.w; + } + } + } + } + _t0436 = float(_blend); + _res = _res + _t0436*(_pix - _res); + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v4-gamma.glsl b/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v4-gamma.glsl new file mode 100644 index 0000000000..69ff0dbf48 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v4-gamma.glsl @@ -0,0 +1,745 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +vec3 _TMP67; +vec3 _TMP82; +vec3 _TMP87; +vec3 _TMP86; +float _TMP78; +float _TMP77; +float _TMP76; +float _TMP84; +float _TMP66; +float _TMP65; +float _TMP64; +vec3 _TMP85; +vec3 _TMP63; +vec3 _TMP62; +vec3 _TMP61; +vec3 _TMP60; +float _TMP81; +float _TMP80; +float _TMP79; +vec3 _TMP59; +vec3 _TMP58; +vec3 _TMP57; +vec3 _TMP56; +vec3 _TMP55; +vec3 _TMP54; +vec3 _TMP53; +vec3 _TMP52; +vec4 _TMP51; +vec3 _TMP75; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec3 _TMP46; +vec4 _TMP39; +vec4 _TMP38; +vec4 _TMP88; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP83; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0102; +vec4 _r0146; +vec4 _r0156; +vec4 _r0166; +vec4 _r0176; +vec4 _r0186; +vec4 _r0196; +vec4 _TMP207; +vec4 _a0210; +vec4 _TMP213; +vec4 _a0216; +vec4 _TMP219; +vec4 _a0222; +vec4 _TMP225; +vec4 _a0228; +vec4 _TMP231; +vec4 _a0234; +vec4 _TMP237; +vec4 _a0240; +vec4 _TMP243; +vec4 _a0246; +vec4 _TMP249; +vec4 _a0252; +vec4 _TMP255; +vec4 _a0258; +vec4 _TMP261; +vec4 _a0264; +vec4 _TMP267; +vec4 _a0270; +vec4 _x0274; +vec4 _TMP275; +vec4 _x0284; +vec4 _TMP285; +vec4 _x0294; +vec4 _TMP295; +vec4 _TMP303; +vec4 _a0306; +vec4 _TMP307; +vec4 _a0310; +vec4 _TMP311; +vec4 _a0314; +vec4 _TMP315; +vec4 _a0318; +vec4 _TMP319; +vec4 _a0322; +vec4 _TMP325; +vec4 _a0328; +vec4 _TMP329; +vec4 _a0332; +vec4 _TMP333; +vec4 _a0336; +vec4 _TMP337; +vec4 _a0340; +vec4 _TMP341; +vec4 _a0344; +vec4 _TMP345; +vec4 _a0348; +vec4 _TMP349; +vec4 _a0352; +vec4 _TMP353; +vec4 _a0356; +vec4 _TMP357; +vec4 _a0360; +vec4 _TMP361; +vec4 _a0364; +vec4 _TMP365; +vec4 _a0368; +vec3 _b0372; +vec3 _b0376; +vec3 _TMP377; +vec3 _a0378; +vec3 _b0386; +vec3 _b0390; +vec3 _TMP391; +vec3 _a0392; +vec3 _b0426; +vec3 _b0436; +vec3 _df0438; +vec3 _a0440; +vec3 _df0442; +vec3 _a0444; +vec3 _TMP457; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec3 _res; + vec3 _n1; + vec3 _n2; + vec3 _n3; + vec3 _n4; + vec3 _s; + vec3 _aa; + vec3 _bb; + vec3 _cc; + vec3 _dd; + vec3 _t; + vec3 _m; + vec3 _s1; + vec3 _s0; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + _x0102 = TEX0.xy*TextureSize; + _fp = fract(_x0102); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP83 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.x = float(_TMP83); + _TMP83 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.y = float(_TMP83); + _TMP83 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.z = float(_TMP83); + _TMP83 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.w = float(_TMP83); + _b1 = vec4(float(_r0146.x), float(_r0146.y), float(_r0146.z), float(_r0146.w)); + _TMP83 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.x = float(_TMP83); + _TMP83 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.y = float(_TMP83); + _TMP83 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.z = float(_TMP83); + _TMP83 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.w = float(_TMP83); + _c3 = vec4(float(_r0156.x), float(_r0156.y), float(_r0156.z), float(_r0156.w)); + _TMP83 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0166.x = float(_TMP83); + _TMP83 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0166.y = float(_TMP83); + _TMP83 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0166.z = float(_TMP83); + _TMP83 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0166.w = float(_TMP83); + _e1 = vec4(float(_r0166.x), float(_r0166.y), float(_r0166.z), float(_r0166.w)); + _TMP83 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0176.x = float(_TMP83); + _TMP83 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0176.y = float(_TMP83); + _TMP83 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0176.z = float(_TMP83); + _TMP83 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0176.w = float(_TMP83); + _i4 = vec4(float(_r0176.x), float(_r0176.y), float(_r0176.z), float(_r0176.w)); + _TMP83 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0186.x = float(_TMP83); + _TMP83 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0186.y = float(_TMP83); + _TMP83 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0186.z = float(_TMP83); + _TMP83 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0186.w = float(_TMP83); + _i5 = vec4(float(_r0186.x), float(_r0186.y), float(_r0186.z), float(_r0186.w)); + _TMP83 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0196.x = float(_TMP83); + _TMP83 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0196.y = float(_TMP83); + _TMP83 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0196.z = float(_TMP83); + _TMP83 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0196.w = float(_TMP83); + _h5 = vec4(float(_r0196.x), float(_r0196.y), float(_r0196.z), float(_r0196.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0210 = _b1.wxyz - _b1; + _TMP207 = abs(_a0210); + _TMP27 = bvec4(_TMP207.x < 1.50000000E+01, _TMP207.y < 1.50000000E+01, _TMP207.z < 1.50000000E+01, _TMP207.w < 1.50000000E+01); + _a0216 = _b1.wxyz - _c3; + _TMP213 = abs(_a0216); + _TMP28 = bvec4(_TMP213.x < 1.50000000E+01, _TMP213.y < 1.50000000E+01, _TMP213.z < 1.50000000E+01, _TMP213.w < 1.50000000E+01); + _a0222 = _b1.zwxy - _b1.yzwx; + _TMP219 = abs(_a0222); + _TMP29 = bvec4(_TMP219.x < 1.50000000E+01, _TMP219.y < 1.50000000E+01, _TMP219.z < 1.50000000E+01, _TMP219.w < 1.50000000E+01); + _a0228 = _b1.zwxy - _c3.zwxy; + _TMP225 = abs(_a0228); + _TMP30 = bvec4(_TMP225.x < 1.50000000E+01, _TMP225.y < 1.50000000E+01, _TMP225.z < 1.50000000E+01, _TMP225.w < 1.50000000E+01); + _a0234 = _e1 - _c3.wxyz; + _TMP231 = abs(_a0234); + _TMP31 = bvec4(_TMP231.x < 1.50000000E+01, _TMP231.y < 1.50000000E+01, _TMP231.z < 1.50000000E+01, _TMP231.w < 1.50000000E+01); + _a0240 = _b1.wxyz - _h5.yzwx; + _TMP237 = abs(_a0240); + _TMP32 = bvec4(_TMP237.x < 1.50000000E+01, _TMP237.y < 1.50000000E+01, _TMP237.z < 1.50000000E+01, _TMP237.w < 1.50000000E+01); + _a0246 = _b1.wxyz - _i4; + _TMP243 = abs(_a0246); + _TMP33 = bvec4(_TMP243.x < 1.50000000E+01, _TMP243.y < 1.50000000E+01, _TMP243.z < 1.50000000E+01, _TMP243.w < 1.50000000E+01); + _a0252 = _b1.zwxy - _h5; + _TMP249 = abs(_a0252); + _TMP34 = bvec4(_TMP249.x < 1.50000000E+01, _TMP249.y < 1.50000000E+01, _TMP249.z < 1.50000000E+01, _TMP249.w < 1.50000000E+01); + _a0258 = _b1.zwxy - _i5; + _TMP255 = abs(_a0258); + _TMP35 = bvec4(_TMP255.x < 1.50000000E+01, _TMP255.y < 1.50000000E+01, _TMP255.z < 1.50000000E+01, _TMP255.w < 1.50000000E+01); + _a0264 = _e1 - _c3.zwxy; + _TMP261 = abs(_a0264); + _TMP36 = bvec4(_TMP261.x < 1.50000000E+01, _TMP261.y < 1.50000000E+01, _TMP261.z < 1.50000000E+01, _TMP261.w < 1.50000000E+01); + _a0270 = _e1 - _c3; + _TMP267 = abs(_a0270); + _TMP37 = bvec4(_TMP267.x < 1.50000000E+01, _TMP267.y < 1.50000000E+01, _TMP267.z < 1.50000000E+01, _TMP267.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0274 = _fx - vec4( 1.00000000E+00, 0.00000000E+00, -1.00000000E+00, 0.00000000E+00); + _TMP88 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0274); + _TMP275 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP88); + _fx45 = _TMP275*_TMP275*(3.00000000E+00 - 2.00000000E+00*_TMP275); + _x0284 = _fx_left - vec4( 5.00000000E-01, 5.00000000E-01, -1.00000000E+00, -5.00000000E-01); + _TMP88 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0284); + _TMP285 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP88); + _fx30 = _TMP285*_TMP285*(3.00000000E+00 - 2.00000000E+00*_TMP285); + _x0294 = _fx_up - vec4( 1.50000000E+00, -5.00000000E-01, -1.50000000E+00, 0.00000000E+00); + _TMP88 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0294); + _TMP295 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP88); + _fx60 = _TMP295*_TMP295*(3.00000000E+00 - 2.00000000E+00*_TMP295); + _a0306 = _e1 - _c3; + _TMP303 = abs(_a0306); + _a0310 = _e1 - _c3.zwxy; + _TMP307 = abs(_a0310); + _a0314 = _c3.wxyz - _h5; + _TMP311 = abs(_a0314); + _a0318 = _c3.wxyz - _h5.yzwx; + _TMP315 = abs(_a0318); + _a0322 = _b1.zwxy - _b1.wxyz; + _TMP319 = abs(_a0322); + _TMP38 = _TMP303 + _TMP307 + _TMP311 + _TMP315 + 4.00000000E+00*_TMP319; + _a0328 = _b1.zwxy - _b1.yzwx; + _TMP325 = abs(_a0328); + _a0332 = _b1.zwxy - _i5; + _TMP329 = abs(_a0332); + _a0336 = _b1.wxyz - _i4; + _TMP333 = abs(_a0336); + _a0340 = _b1.wxyz - _b1; + _TMP337 = abs(_a0340); + _a0344 = _e1 - _c3.wxyz; + _TMP341 = abs(_a0344); + _TMP39 = _TMP325 + _TMP329 + _TMP333 + _TMP337 + 4.00000000E+00*_TMP341; + _edr = bvec4((_TMP38 + 3.50000000E+00).x < _TMP39.x && _interp_restriction_lv1.x, (_TMP38 + 3.50000000E+00).y < _TMP39.y && _interp_restriction_lv1.y, (_TMP38 + 3.50000000E+00).z < _TMP39.z && _interp_restriction_lv1.z, (_TMP38 + 3.50000000E+00).w < _TMP39.w && _interp_restriction_lv1.w); + _a0348 = _b1.wxyz - _c3.zwxy; + _TMP345 = abs(_a0348); + _a0352 = _b1.zwxy - _c3; + _TMP349 = abs(_a0352); + _edr_left = bvec4((2.00000000E+00*_TMP345).x <= _TMP349.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP345).y <= _TMP349.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP345).z <= _TMP349.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP345).w <= _TMP349.w && _interp_restriction_lv2_left.w); + _a0356 = _b1.wxyz - _c3.zwxy; + _TMP353 = abs(_a0356); + _a0360 = _b1.zwxy - _c3; + _TMP357 = abs(_a0360); + _edr_up = bvec4(_TMP353.x >= (2.00000000E+00*_TMP357).x && _interp_restriction_lv2_up.x, _TMP353.y >= (2.00000000E+00*_TMP357).y && _interp_restriction_lv2_up.y, _TMP353.z >= (2.00000000E+00*_TMP357).z && _interp_restriction_lv2_up.z, _TMP353.w >= (2.00000000E+00*_TMP357).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0364 = _e1 - _b1.wxyz; + _TMP361 = abs(_a0364); + _a0368 = _e1 - _b1.zwxy; + _TMP365 = abs(_a0368); + _px = bvec4(_TMP361.x <= _TMP365.x, _TMP361.y <= _TMP365.y, _TMP361.z <= _TMP365.z, _TMP361.w <= _TMP365.w); + _n1 = vec3(float(_B11.x), float(_B11.y), float(_B11.z)); + _n2 = vec3(float(_B2.x), float(_B2.y), float(_B2.z)); + _s = vec3(float(_E.x), float(_E.y), float(_E.z)); + _n3 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _n4 = vec3(float(_H5.x), float(_H5.y), float(_H5.z)); + _aa = _n2 - _n1; + _bb = _s - _n2; + _cc = _n3 - _s; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s.x < 5.00000000E-01 ? (2.00000000E+00*_s).x : (2.00000000E+00*(1.00000000E+00 - _s)).x, _s.y < 5.00000000E-01 ? (2.00000000E+00*_s).y : (2.00000000E+00*(1.00000000E+00 - _s)).y, _s.z < 5.00000000E-01 ? (2.00000000E+00*_s).z : (2.00000000E+00*(1.00000000E+00 - _s)).z); + _TMP46 = abs(_bb); + _b0372 = 6.49999976E-01*_TMP46; + _m = min(_m, _b0372); + _TMP47 = abs(_cc); + _b0376 = 6.49999976E-01*_TMP47; + _m = min(_m, _b0376); + _a0378 = -_m; + _TMP75 = min(_m, _t); + _TMP377 = max(_a0378, _TMP75); + _s1 = (2.00000000E+00*_fp.y - 1.00000000E+00)*_TMP377 + _s; + _n1 = vec3(float(_D0.x), float(_D0.y), float(_D0.z)); + _n2 = vec3(float(_D.x), float(_D.y), float(_D.z)); + _n3 = vec3(float(_F.x), float(_F.y), float(_F.z)); + _n4 = vec3(float(_F4.x), float(_F4.y), float(_F4.z)); + _aa = _n2 - _n1; + _bb = _s1 - _n2; + _cc = _n3 - _s1; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s1.x < 5.00000000E-01 ? (2.00000000E+00*_s1).x : (2.00000000E+00*(1.00000000E+00 - _s1)).x, _s1.y < 5.00000000E-01 ? (2.00000000E+00*_s1).y : (2.00000000E+00*(1.00000000E+00 - _s1)).y, _s1.z < 5.00000000E-01 ? (2.00000000E+00*_s1).z : (2.00000000E+00*(1.00000000E+00 - _s1)).z); + _TMP48 = abs(_bb); + _b0386 = 6.49999976E-01*_TMP48; + _m = min(_m, _b0386); + _TMP49 = abs(_cc); + _b0390 = 6.49999976E-01*_TMP49; + _m = min(_m, _b0390); + _a0392 = -_m; + _TMP75 = min(_m, _t); + _TMP391 = max(_a0392, _TMP75); + _s0 = (2.00000000E+00*_fp.x - 1.00000000E+00)*_TMP391 + _s1; + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _blend2 = 0.00000000E+00; + _blend1 = 0.00000000E+00; + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP51 = max(_final30, _final60); + _maximo = max(_TMP51, _final45); + if (_nc.x) { + if (_px.x) { + _TMP52 = _F; + } else { + _TMP52 = _H; + } + _pix1 = _TMP52; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP53 = _B2; + } else { + _TMP53 = _F; + } + _pix1 = _TMP53; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP54 = _D; + } else { + _TMP54 = _B2; + } + _pix1 = _TMP54; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP55 = _H; + } else { + _TMP55 = _D; + } + _pix1 = _TMP55; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP56 = _H; + } else { + _TMP56 = _D; + } + _pix2 = _TMP56; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP57 = _D; + } else { + _TMP57 = _B2; + } + _pix2 = _TMP57; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP58 = _B2; + } else { + _TMP58 = _F; + } + _pix2 = _TMP58; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP59 = _F; + } else { + _TMP59 = _H; + } + _pix2 = _TMP59; + _blend2 = _maximo.x; + } + } + } + } + _TMP84 = pow(float(_E.x), 2.40039062E+00); + _TMP76 = float(_TMP84); + _TMP84 = pow(float(_E.y), 2.40039062E+00); + _TMP77 = float(_TMP84); + _TMP84 = pow(float(_E.z), 2.40039062E+00); + _TMP78 = float(_TMP84); + _E = vec3(_TMP76, _TMP77, _TMP78); + _TMP79 = pow(_s0.x, 2.40000010E+00); + _TMP80 = pow(_s0.y, 2.40000010E+00); + _TMP81 = pow(_s0.z, 2.40000010E+00); + _s0 = vec3(_TMP79, _TMP80, _TMP81); + _TMP84 = pow(float(_pix1.x), 2.40039062E+00); + _TMP76 = float(_TMP84); + _TMP84 = pow(float(_pix1.y), 2.40039062E+00); + _TMP77 = float(_TMP84); + _TMP84 = pow(float(_pix1.z), 2.40039062E+00); + _TMP78 = float(_TMP84); + _TMP60 = vec3(_TMP76, _TMP77, _TMP78); + _b0426 = vec3(float(_TMP60.x), float(_TMP60.y), float(_TMP60.z)); + _TMP61 = _s0 + _blend1*(_b0426 - _s0); + _res1 = vec3(float(_TMP61.x), float(_TMP61.y), float(_TMP61.z)); + _TMP84 = pow(float(_pix2.x), 2.40039062E+00); + _TMP76 = float(_TMP84); + _TMP84 = pow(float(_pix2.y), 2.40039062E+00); + _TMP77 = float(_TMP84); + _TMP84 = pow(float(_pix2.z), 2.40039062E+00); + _TMP78 = float(_TMP84); + _TMP62 = vec3(_TMP76, _TMP77, _TMP78); + _b0436 = vec3(float(_TMP62.x), float(_TMP62.y), float(_TMP62.z)); + _TMP63 = _s0 + _blend2*(_b0436 - _s0); + _res2 = vec3(float(_TMP63.x), float(_TMP63.y), float(_TMP63.z)); + _a0440 = _E - _res1; + _TMP85 = abs(vec3(float(_a0440.x), float(_a0440.y), float(_a0440.z))); + _df0438 = vec3(float(_TMP85.x), float(_TMP85.y), float(_TMP85.z)); + _TMP64 = _df0438.x + _df0438.y + _df0438.z; + _a0444 = _E - _res2; + _TMP85 = abs(vec3(float(_a0444.x), float(_a0444.y), float(_a0444.z))); + _df0442 = vec3(float(_TMP85.x), float(_TMP85.y), float(_TMP85.z)); + _TMP65 = _df0442.x + _df0442.y + _df0442.z; + _TMP66 = float((_TMP65 >= _TMP64)); + _res = _res1 + _TMP66*(_res2 - _res1); + _TMP84 = pow(float(_res.x), 4.54589844E-01); + _TMP76 = float(_TMP84); + _TMP84 = pow(float(_res.y), 4.54589844E-01); + _TMP77 = float(_TMP84); + _TMP84 = pow(float(_res.z), 4.54589844E-01); + _TMP78 = float(_TMP84); + _TMP67 = vec3(_TMP76, _TMP77, _TMP78); + _TMP86 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), vec3(float(_TMP67.x), float(_TMP67.y), float(_TMP67.z))); + _TMP82 = vec3(float(_TMP86.x), float(_TMP86.y), float(_TMP86.z)); + _TMP87 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), vec3(float(_TMP82.x), float(_TMP82.y), float(_TMP82.z))); + _TMP457 = vec3(float(_TMP87.x), float(_TMP87.y), float(_TMP87.z)); + _ret_0 = vec4(float(_TMP457.x), float(_TMP457.y), float(_TMP457.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v4.glsl b/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v4.glsl new file mode 100644 index 0000000000..233b723a30 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v4.glsl @@ -0,0 +1,698 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP67; +float _TMP66; +float _TMP65; +vec3 _TMP76; +vec3 _TMP64; +vec3 _TMP63; +vec3 _TMP62; +vec3 _TMP61; +vec3 _TMP60; +vec3 _TMP59; +vec3 _TMP58; +vec3 _TMP57; +vec3 _TMP56; +vec3 _TMP55; +vec4 _TMP54; +float _TMP53; +float _TMP52; +float _TMP51; +vec3 _TMP74; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec3 _TMP46; +vec4 _TMP39; +vec4 _TMP38; +vec4 _TMP77; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP75; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0090; +vec4 _r0134; +vec4 _r0144; +vec4 _r0154; +vec4 _r0164; +vec4 _r0174; +vec4 _r0184; +vec4 _TMP195; +vec4 _a0198; +vec4 _TMP201; +vec4 _a0204; +vec4 _TMP207; +vec4 _a0210; +vec4 _TMP213; +vec4 _a0216; +vec4 _TMP219; +vec4 _a0222; +vec4 _TMP225; +vec4 _a0228; +vec4 _TMP231; +vec4 _a0234; +vec4 _TMP237; +vec4 _a0240; +vec4 _TMP243; +vec4 _a0246; +vec4 _TMP249; +vec4 _a0252; +vec4 _TMP255; +vec4 _a0258; +vec4 _x0262; +vec4 _TMP263; +vec4 _x0272; +vec4 _TMP273; +vec4 _x0282; +vec4 _TMP283; +vec4 _TMP291; +vec4 _a0294; +vec4 _TMP295; +vec4 _a0298; +vec4 _TMP299; +vec4 _a0302; +vec4 _TMP303; +vec4 _a0306; +vec4 _TMP307; +vec4 _a0310; +vec4 _TMP313; +vec4 _a0316; +vec4 _TMP317; +vec4 _a0320; +vec4 _TMP321; +vec4 _a0324; +vec4 _TMP325; +vec4 _a0328; +vec4 _TMP329; +vec4 _a0332; +vec4 _TMP333; +vec4 _a0336; +vec4 _TMP337; +vec4 _a0340; +vec4 _TMP341; +vec4 _a0344; +vec4 _TMP345; +vec4 _a0348; +vec4 _TMP349; +vec4 _a0352; +vec4 _TMP353; +vec4 _a0356; +vec3 _b0360; +vec3 _b0364; +vec3 _TMP365; +vec3 _a0366; +vec3 _b0374; +vec3 _b0378; +vec3 _TMP379; +vec3 _a0380; +vec4 _a0386; +vec4 _a0388; +vec4 _a0390; +vec3 _b0396; +vec3 _b0398; +vec3 _df0400; +vec3 _a0402; +vec3 _df0404; +vec3 _a0406; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec3 _res; + vec3 _n1; + vec3 _n2; + vec3 _n3; + vec3 _n4; + vec3 _s; + vec3 _aa; + vec3 _bb; + vec3 _cc; + vec3 _dd; + vec3 _t; + vec3 _m; + vec3 _s1; + vec3 _s0; + vec4 _maximo; + _x0090 = TEX0.xy*TextureSize; + _fp = fract(_x0090); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP75 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.x = float(_TMP75); + _TMP75 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.y = float(_TMP75); + _TMP75 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.z = float(_TMP75); + _TMP75 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.w = float(_TMP75); + _b1 = vec4(float(_r0134.x), float(_r0134.y), float(_r0134.z), float(_r0134.w)); + _TMP75 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.x = float(_TMP75); + _TMP75 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.y = float(_TMP75); + _TMP75 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.z = float(_TMP75); + _TMP75 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.w = float(_TMP75); + _c3 = vec4(float(_r0144.x), float(_r0144.y), float(_r0144.z), float(_r0144.w)); + _TMP75 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.x = float(_TMP75); + _TMP75 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.y = float(_TMP75); + _TMP75 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.z = float(_TMP75); + _TMP75 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.w = float(_TMP75); + _e1 = vec4(float(_r0154.x), float(_r0154.y), float(_r0154.z), float(_r0154.w)); + _TMP75 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.x = float(_TMP75); + _TMP75 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.y = float(_TMP75); + _TMP75 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.z = float(_TMP75); + _TMP75 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.w = float(_TMP75); + _i4 = vec4(float(_r0164.x), float(_r0164.y), float(_r0164.z), float(_r0164.w)); + _TMP75 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.x = float(_TMP75); + _TMP75 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.y = float(_TMP75); + _TMP75 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.z = float(_TMP75); + _TMP75 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.w = float(_TMP75); + _i5 = vec4(float(_r0174.x), float(_r0174.y), float(_r0174.z), float(_r0174.w)); + _TMP75 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0184.x = float(_TMP75); + _TMP75 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0184.y = float(_TMP75); + _TMP75 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0184.z = float(_TMP75); + _TMP75 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0184.w = float(_TMP75); + _h5 = vec4(float(_r0184.x), float(_r0184.y), float(_r0184.z), float(_r0184.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0198 = _b1.wxyz - _b1; + _TMP195 = abs(_a0198); + _TMP27 = bvec4(_TMP195.x < 1.50000000E+01, _TMP195.y < 1.50000000E+01, _TMP195.z < 1.50000000E+01, _TMP195.w < 1.50000000E+01); + _a0204 = _b1.wxyz - _c3; + _TMP201 = abs(_a0204); + _TMP28 = bvec4(_TMP201.x < 1.50000000E+01, _TMP201.y < 1.50000000E+01, _TMP201.z < 1.50000000E+01, _TMP201.w < 1.50000000E+01); + _a0210 = _b1.zwxy - _b1.yzwx; + _TMP207 = abs(_a0210); + _TMP29 = bvec4(_TMP207.x < 1.50000000E+01, _TMP207.y < 1.50000000E+01, _TMP207.z < 1.50000000E+01, _TMP207.w < 1.50000000E+01); + _a0216 = _b1.zwxy - _c3.zwxy; + _TMP213 = abs(_a0216); + _TMP30 = bvec4(_TMP213.x < 1.50000000E+01, _TMP213.y < 1.50000000E+01, _TMP213.z < 1.50000000E+01, _TMP213.w < 1.50000000E+01); + _a0222 = _e1 - _c3.wxyz; + _TMP219 = abs(_a0222); + _TMP31 = bvec4(_TMP219.x < 1.50000000E+01, _TMP219.y < 1.50000000E+01, _TMP219.z < 1.50000000E+01, _TMP219.w < 1.50000000E+01); + _a0228 = _b1.wxyz - _h5.yzwx; + _TMP225 = abs(_a0228); + _TMP32 = bvec4(_TMP225.x < 1.50000000E+01, _TMP225.y < 1.50000000E+01, _TMP225.z < 1.50000000E+01, _TMP225.w < 1.50000000E+01); + _a0234 = _b1.wxyz - _i4; + _TMP231 = abs(_a0234); + _TMP33 = bvec4(_TMP231.x < 1.50000000E+01, _TMP231.y < 1.50000000E+01, _TMP231.z < 1.50000000E+01, _TMP231.w < 1.50000000E+01); + _a0240 = _b1.zwxy - _h5; + _TMP237 = abs(_a0240); + _TMP34 = bvec4(_TMP237.x < 1.50000000E+01, _TMP237.y < 1.50000000E+01, _TMP237.z < 1.50000000E+01, _TMP237.w < 1.50000000E+01); + _a0246 = _b1.zwxy - _i5; + _TMP243 = abs(_a0246); + _TMP35 = bvec4(_TMP243.x < 1.50000000E+01, _TMP243.y < 1.50000000E+01, _TMP243.z < 1.50000000E+01, _TMP243.w < 1.50000000E+01); + _a0252 = _e1 - _c3.zwxy; + _TMP249 = abs(_a0252); + _TMP36 = bvec4(_TMP249.x < 1.50000000E+01, _TMP249.y < 1.50000000E+01, _TMP249.z < 1.50000000E+01, _TMP249.w < 1.50000000E+01); + _a0258 = _e1 - _c3; + _TMP255 = abs(_a0258); + _TMP37 = bvec4(_TMP255.x < 1.50000000E+01, _TMP255.y < 1.50000000E+01, _TMP255.z < 1.50000000E+01, _TMP255.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0262 = _fx - vec4( 1.00000000E+00, 0.00000000E+00, -1.00000000E+00, 0.00000000E+00); + _TMP77 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0262); + _TMP263 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP77); + _fx45 = _TMP263*_TMP263*(3.00000000E+00 - 2.00000000E+00*_TMP263); + _x0272 = _fx_left - vec4( 5.00000000E-01, 5.00000000E-01, -1.00000000E+00, -5.00000000E-01); + _TMP77 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0272); + _TMP273 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP77); + _fx30 = _TMP273*_TMP273*(3.00000000E+00 - 2.00000000E+00*_TMP273); + _x0282 = _fx_up - vec4( 1.50000000E+00, -5.00000000E-01, -1.50000000E+00, 0.00000000E+00); + _TMP77 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0282); + _TMP283 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP77); + _fx60 = _TMP283*_TMP283*(3.00000000E+00 - 2.00000000E+00*_TMP283); + _a0294 = _e1 - _c3; + _TMP291 = abs(_a0294); + _a0298 = _e1 - _c3.zwxy; + _TMP295 = abs(_a0298); + _a0302 = _c3.wxyz - _h5; + _TMP299 = abs(_a0302); + _a0306 = _c3.wxyz - _h5.yzwx; + _TMP303 = abs(_a0306); + _a0310 = _b1.zwxy - _b1.wxyz; + _TMP307 = abs(_a0310); + _TMP38 = _TMP291 + _TMP295 + _TMP299 + _TMP303 + 4.00000000E+00*_TMP307; + _a0316 = _b1.zwxy - _b1.yzwx; + _TMP313 = abs(_a0316); + _a0320 = _b1.zwxy - _i5; + _TMP317 = abs(_a0320); + _a0324 = _b1.wxyz - _i4; + _TMP321 = abs(_a0324); + _a0328 = _b1.wxyz - _b1; + _TMP325 = abs(_a0328); + _a0332 = _e1 - _c3.wxyz; + _TMP329 = abs(_a0332); + _TMP39 = _TMP313 + _TMP317 + _TMP321 + _TMP325 + 4.00000000E+00*_TMP329; + _edr = bvec4((_TMP38 + 3.50000000E+00).x < _TMP39.x && _interp_restriction_lv1.x, (_TMP38 + 3.50000000E+00).y < _TMP39.y && _interp_restriction_lv1.y, (_TMP38 + 3.50000000E+00).z < _TMP39.z && _interp_restriction_lv1.z, (_TMP38 + 3.50000000E+00).w < _TMP39.w && _interp_restriction_lv1.w); + _a0336 = _b1.wxyz - _c3.zwxy; + _TMP333 = abs(_a0336); + _a0340 = _b1.zwxy - _c3; + _TMP337 = abs(_a0340); + _edr_left = bvec4((2.00000000E+00*_TMP333).x <= _TMP337.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP333).y <= _TMP337.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP333).z <= _TMP337.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP333).w <= _TMP337.w && _interp_restriction_lv2_left.w); + _a0344 = _b1.wxyz - _c3.zwxy; + _TMP341 = abs(_a0344); + _a0348 = _b1.zwxy - _c3; + _TMP345 = abs(_a0348); + _edr_up = bvec4(_TMP341.x >= (2.00000000E+00*_TMP345).x && _interp_restriction_lv2_up.x, _TMP341.y >= (2.00000000E+00*_TMP345).y && _interp_restriction_lv2_up.y, _TMP341.z >= (2.00000000E+00*_TMP345).z && _interp_restriction_lv2_up.z, _TMP341.w >= (2.00000000E+00*_TMP345).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0352 = _e1 - _b1.wxyz; + _TMP349 = abs(_a0352); + _a0356 = _e1 - _b1.zwxy; + _TMP353 = abs(_a0356); + _px = bvec4(_TMP349.x <= _TMP353.x, _TMP349.y <= _TMP353.y, _TMP349.z <= _TMP353.z, _TMP349.w <= _TMP353.w); + _n1 = vec3(float(_B11.x), float(_B11.y), float(_B11.z)); + _n2 = vec3(float(_B2.x), float(_B2.y), float(_B2.z)); + _s = vec3(float(_E.x), float(_E.y), float(_E.z)); + _n3 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _n4 = vec3(float(_H5.x), float(_H5.y), float(_H5.z)); + _aa = _n2 - _n1; + _bb = _s - _n2; + _cc = _n3 - _s; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s.x < 5.00000000E-01 ? (2.00000000E+00*_s).x : (2.00000000E+00*(1.00000000E+00 - _s)).x, _s.y < 5.00000000E-01 ? (2.00000000E+00*_s).y : (2.00000000E+00*(1.00000000E+00 - _s)).y, _s.z < 5.00000000E-01 ? (2.00000000E+00*_s).z : (2.00000000E+00*(1.00000000E+00 - _s)).z); + _TMP46 = abs(_bb); + _b0360 = 6.49999976E-01*_TMP46; + _m = min(_m, _b0360); + _TMP47 = abs(_cc); + _b0364 = 6.49999976E-01*_TMP47; + _m = min(_m, _b0364); + _a0366 = -_m; + _TMP74 = min(_m, _t); + _TMP365 = max(_a0366, _TMP74); + _s1 = (2.00000000E+00*_fp.y - 1.00000000E+00)*_TMP365 + _s; + _n1 = vec3(float(_D0.x), float(_D0.y), float(_D0.z)); + _n2 = vec3(float(_D.x), float(_D.y), float(_D.z)); + _n3 = vec3(float(_F.x), float(_F.y), float(_F.z)); + _n4 = vec3(float(_F4.x), float(_F4.y), float(_F4.z)); + _aa = _n2 - _n1; + _bb = _s1 - _n2; + _cc = _n3 - _s1; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s1.x < 5.00000000E-01 ? (2.00000000E+00*_s1).x : (2.00000000E+00*(1.00000000E+00 - _s1)).x, _s1.y < 5.00000000E-01 ? (2.00000000E+00*_s1).y : (2.00000000E+00*(1.00000000E+00 - _s1)).y, _s1.z < 5.00000000E-01 ? (2.00000000E+00*_s1).z : (2.00000000E+00*(1.00000000E+00 - _s1)).z); + _TMP48 = abs(_bb); + _b0374 = 6.49999976E-01*_TMP48; + _m = min(_m, _b0374); + _TMP49 = abs(_cc); + _b0378 = 6.49999976E-01*_TMP49; + _m = min(_m, _b0378); + _a0380 = -_m; + _TMP74 = min(_m, _t); + _TMP379 = max(_a0380, _TMP74); + _s0 = (2.00000000E+00*_fp.x - 1.00000000E+00)*_TMP379 + _s1; + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _blend2 = 0.00000000E+00; + _blend1 = 0.00000000E+00; + _a0386 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w)); + _TMP51 = dot(_a0386, _fx45); + _a0388 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w)); + _TMP52 = dot(_a0388, _fx30); + _a0390 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w)); + _TMP53 = dot(_a0390, _fx60); + _TMP54 = max(vec4(_TMP52, _TMP52, _TMP52, _TMP52), vec4(_TMP53, _TMP53, _TMP53, _TMP53)); + _maximo = max(_TMP54, vec4(_TMP51, _TMP51, _TMP51, _TMP51)); + if (_nc.x) { + if (_px.x) { + _TMP55 = _F; + } else { + _TMP55 = _H; + } + _pix1 = _TMP55; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP56 = _B2; + } else { + _TMP56 = _F; + } + _pix1 = _TMP56; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP57 = _D; + } else { + _TMP57 = _B2; + } + _pix1 = _TMP57; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP58 = _H; + } else { + _TMP58 = _D; + } + _pix1 = _TMP58; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP59 = _H; + } else { + _TMP59 = _D; + } + _pix2 = _TMP59; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP60 = _D; + } else { + _TMP60 = _B2; + } + _pix2 = _TMP60; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP61 = _B2; + } else { + _TMP61 = _F; + } + _pix2 = _TMP61; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP62 = _F; + } else { + _TMP62 = _H; + } + _pix2 = _TMP62; + _blend2 = _maximo.x; + } + } + } + } + _b0396 = vec3(float(_pix1.x), float(_pix1.y), float(_pix1.z)); + _TMP63 = _s0 + _blend1*(_b0396 - _s0); + _res1 = vec3(float(_TMP63.x), float(_TMP63.y), float(_TMP63.z)); + _b0398 = vec3(float(_pix2.x), float(_pix2.y), float(_pix2.z)); + _TMP64 = _s0 + _blend2*(_b0398 - _s0); + _res2 = vec3(float(_TMP64.x), float(_TMP64.y), float(_TMP64.z)); + _a0402 = _E - _res1; + _TMP76 = abs(vec3(float(_a0402.x), float(_a0402.y), float(_a0402.z))); + _df0400 = vec3(float(_TMP76.x), float(_TMP76.y), float(_TMP76.z)); + _TMP65 = _df0400.x + _df0400.y + _df0400.z; + _a0406 = _E - _res2; + _TMP76 = abs(vec3(float(_a0406.x), float(_a0406.y), float(_a0406.z))); + _df0404 = vec3(float(_TMP76.x), float(_TMP76.y), float(_TMP76.z)); + _TMP66 = _df0404.x + _df0404.y + _df0404.z; + _TMP67 = float((_TMP66 >= _TMP65)); + _res = _res1 + _TMP67*(_res2 - _res1); + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v4b.glsl b/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v4b.glsl new file mode 100644 index 0000000000..301b2323b3 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v4b.glsl @@ -0,0 +1,674 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP63; +float _TMP62; +float _TMP61; +vec3 _TMP72; +vec3 _TMP60; +vec3 _TMP59; +vec3 _TMP58; +vec3 _TMP57; +vec3 _TMP56; +vec3 _TMP55; +vec3 _TMP54; +vec3 _TMP53; +vec3 _TMP52; +vec3 _TMP51; +vec4 _TMP50; +float _TMP49; +float _TMP48; +float _TMP47; +vec3 _TMP70; +vec3 _TMP45; +vec3 _TMP44; +vec3 _TMP43; +vec3 _TMP42; +vec4 _TMP35; +vec4 _TMP34; +vec4 _TMP73; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP71; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0086; +vec4 _r0130; +vec4 _r0140; +vec4 _r0150; +vec4 _r0160; +vec4 _r0170; +vec4 _r0180; +vec4 _TMP191; +vec4 _a0194; +vec4 _TMP197; +vec4 _a0200; +vec4 _TMP203; +vec4 _a0206; +vec4 _TMP209; +vec4 _a0212; +vec4 _TMP215; +vec4 _a0218; +vec4 _TMP221; +vec4 _a0224; +vec4 _TMP227; +vec4 _a0230; +vec4 _x0234; +vec4 _TMP235; +vec4 _x0244; +vec4 _TMP245; +vec4 _x0254; +vec4 _TMP255; +vec4 _TMP263; +vec4 _a0266; +vec4 _TMP267; +vec4 _a0270; +vec4 _TMP271; +vec4 _a0274; +vec4 _TMP275; +vec4 _a0278; +vec4 _TMP279; +vec4 _a0282; +vec4 _TMP285; +vec4 _a0288; +vec4 _TMP289; +vec4 _a0292; +vec4 _TMP293; +vec4 _a0296; +vec4 _TMP297; +vec4 _a0300; +vec4 _TMP301; +vec4 _a0304; +vec4 _TMP305; +vec4 _a0308; +vec4 _TMP309; +vec4 _a0312; +vec4 _TMP313; +vec4 _a0316; +vec4 _TMP317; +vec4 _a0320; +vec4 _TMP321; +vec4 _a0324; +vec4 _TMP325; +vec4 _a0328; +vec3 _b0332; +vec3 _b0336; +vec3 _TMP337; +vec3 _a0338; +vec3 _b0346; +vec3 _b0350; +vec3 _TMP351; +vec3 _a0352; +vec4 _a0358; +vec4 _a0360; +vec4 _a0362; +vec3 _b0368; +vec3 _b0370; +vec3 _df0372; +vec3 _a0374; +vec3 _df0376; +vec3 _a0378; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec3 _res; + vec3 _n1; + vec3 _n2; + vec3 _n3; + vec3 _n4; + vec3 _s; + vec3 _aa; + vec3 _bb; + vec3 _cc; + vec3 _dd; + vec3 _t; + vec3 _m; + vec3 _s1; + vec3 _s0; + vec4 _maximo; + _x0086 = TEX0.xy*TextureSize; + _fp = fract(_x0086); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP71 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.x = float(_TMP71); + _TMP71 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.y = float(_TMP71); + _TMP71 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.z = float(_TMP71); + _TMP71 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.w = float(_TMP71); + _b1 = vec4(float(_r0130.x), float(_r0130.y), float(_r0130.z), float(_r0130.w)); + _TMP71 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.x = float(_TMP71); + _TMP71 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.y = float(_TMP71); + _TMP71 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.z = float(_TMP71); + _TMP71 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.w = float(_TMP71); + _c3 = vec4(float(_r0140.x), float(_r0140.y), float(_r0140.z), float(_r0140.w)); + _TMP71 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.x = float(_TMP71); + _TMP71 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.y = float(_TMP71); + _TMP71 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.z = float(_TMP71); + _TMP71 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.w = float(_TMP71); + _e1 = vec4(float(_r0150.x), float(_r0150.y), float(_r0150.z), float(_r0150.w)); + _TMP71 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.x = float(_TMP71); + _TMP71 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.y = float(_TMP71); + _TMP71 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.z = float(_TMP71); + _TMP71 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.w = float(_TMP71); + _i4 = vec4(float(_r0160.x), float(_r0160.y), float(_r0160.z), float(_r0160.w)); + _TMP71 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.x = float(_TMP71); + _TMP71 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.y = float(_TMP71); + _TMP71 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.z = float(_TMP71); + _TMP71 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.w = float(_TMP71); + _i5 = vec4(float(_r0170.x), float(_r0170.y), float(_r0170.z), float(_r0170.w)); + _TMP71 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0180.x = float(_TMP71); + _TMP71 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0180.y = float(_TMP71); + _TMP71 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0180.z = float(_TMP71); + _TMP71 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0180.w = float(_TMP71); + _h5 = vec4(float(_r0180.x), float(_r0180.y), float(_r0180.z), float(_r0180.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0194 = _b1.wxyz - _b1; + _TMP191 = abs(_a0194); + _TMP27 = bvec4(_TMP191.x < 1.50000000E+01, _TMP191.y < 1.50000000E+01, _TMP191.z < 1.50000000E+01, _TMP191.w < 1.50000000E+01); + _a0200 = _b1.zwxy - _b1.yzwx; + _TMP197 = abs(_a0200); + _TMP28 = bvec4(_TMP197.x < 1.50000000E+01, _TMP197.y < 1.50000000E+01, _TMP197.z < 1.50000000E+01, _TMP197.w < 1.50000000E+01); + _a0206 = _e1 - _c3.wxyz; + _TMP203 = abs(_a0206); + _TMP29 = bvec4(_TMP203.x < 1.50000000E+01, _TMP203.y < 1.50000000E+01, _TMP203.z < 1.50000000E+01, _TMP203.w < 1.50000000E+01); + _a0212 = _b1.wxyz - _i4; + _TMP209 = abs(_a0212); + _TMP30 = bvec4(_TMP209.x < 1.50000000E+01, _TMP209.y < 1.50000000E+01, _TMP209.z < 1.50000000E+01, _TMP209.w < 1.50000000E+01); + _a0218 = _b1.zwxy - _i5; + _TMP215 = abs(_a0218); + _TMP31 = bvec4(_TMP215.x < 1.50000000E+01, _TMP215.y < 1.50000000E+01, _TMP215.z < 1.50000000E+01, _TMP215.w < 1.50000000E+01); + _a0224 = _e1 - _c3.zwxy; + _TMP221 = abs(_a0224); + _TMP32 = bvec4(_TMP221.x < 1.50000000E+01, _TMP221.y < 1.50000000E+01, _TMP221.z < 1.50000000E+01, _TMP221.w < 1.50000000E+01); + _a0230 = _e1 - _c3; + _TMP227 = abs(_a0230); + _TMP33 = bvec4(_TMP227.x < 1.50000000E+01, _TMP227.y < 1.50000000E+01, _TMP227.z < 1.50000000E+01, _TMP227.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || _TMP29.x && !_TMP30.x && !_TMP31.x || _TMP32.x || _TMP33.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || _TMP29.y && !_TMP30.y && !_TMP31.y || _TMP32.y || _TMP33.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || _TMP29.z && !_TMP30.z && !_TMP31.z || _TMP32.z || _TMP33.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || _TMP29.w && !_TMP30.w && !_TMP31.w || _TMP32.w || _TMP33.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0234 = _fx - vec4( 1.00000000E+00, 0.00000000E+00, -1.00000000E+00, 0.00000000E+00); + _TMP73 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0234); + _TMP235 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP73); + _fx45 = _TMP235*_TMP235*(3.00000000E+00 - 2.00000000E+00*_TMP235); + _x0244 = _fx_left - vec4( 5.00000000E-01, 5.00000000E-01, -1.00000000E+00, -5.00000000E-01); + _TMP73 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0244); + _TMP245 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP73); + _fx30 = _TMP245*_TMP245*(3.00000000E+00 - 2.00000000E+00*_TMP245); + _x0254 = _fx_up - vec4( 1.50000000E+00, -5.00000000E-01, -1.50000000E+00, 0.00000000E+00); + _TMP73 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0254); + _TMP255 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP73); + _fx60 = _TMP255*_TMP255*(3.00000000E+00 - 2.00000000E+00*_TMP255); + _a0266 = _e1 - _c3; + _TMP263 = abs(_a0266); + _a0270 = _e1 - _c3.zwxy; + _TMP267 = abs(_a0270); + _a0274 = _c3.wxyz - _h5; + _TMP271 = abs(_a0274); + _a0278 = _c3.wxyz - _h5.yzwx; + _TMP275 = abs(_a0278); + _a0282 = _b1.zwxy - _b1.wxyz; + _TMP279 = abs(_a0282); + _TMP34 = _TMP263 + _TMP267 + _TMP271 + _TMP275 + 4.00000000E+00*_TMP279; + _a0288 = _b1.zwxy - _b1.yzwx; + _TMP285 = abs(_a0288); + _a0292 = _b1.zwxy - _i5; + _TMP289 = abs(_a0292); + _a0296 = _b1.wxyz - _i4; + _TMP293 = abs(_a0296); + _a0300 = _b1.wxyz - _b1; + _TMP297 = abs(_a0300); + _a0304 = _e1 - _c3.wxyz; + _TMP301 = abs(_a0304); + _TMP35 = _TMP285 + _TMP289 + _TMP293 + _TMP297 + 4.00000000E+00*_TMP301; + _edr = bvec4((_TMP34 + 3.50000000E+00).x < _TMP35.x && _interp_restriction_lv1.x, (_TMP34 + 3.50000000E+00).y < _TMP35.y && _interp_restriction_lv1.y, (_TMP34 + 3.50000000E+00).z < _TMP35.z && _interp_restriction_lv1.z, (_TMP34 + 3.50000000E+00).w < _TMP35.w && _interp_restriction_lv1.w); + _a0308 = _b1.wxyz - _c3.zwxy; + _TMP305 = abs(_a0308); + _a0312 = _b1.zwxy - _c3; + _TMP309 = abs(_a0312); + _edr_left = bvec4((2.00000000E+00*_TMP305).x <= _TMP309.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP305).y <= _TMP309.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP305).z <= _TMP309.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP305).w <= _TMP309.w && _interp_restriction_lv2_left.w); + _a0316 = _b1.wxyz - _c3.zwxy; + _TMP313 = abs(_a0316); + _a0320 = _b1.zwxy - _c3; + _TMP317 = abs(_a0320); + _edr_up = bvec4(_TMP313.x >= (2.00000000E+00*_TMP317).x && _interp_restriction_lv2_up.x, _TMP313.y >= (2.00000000E+00*_TMP317).y && _interp_restriction_lv2_up.y, _TMP313.z >= (2.00000000E+00*_TMP317).z && _interp_restriction_lv2_up.z, _TMP313.w >= (2.00000000E+00*_TMP317).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0324 = _e1 - _b1.wxyz; + _TMP321 = abs(_a0324); + _a0328 = _e1 - _b1.zwxy; + _TMP325 = abs(_a0328); + _px = bvec4(_TMP321.x <= _TMP325.x, _TMP321.y <= _TMP325.y, _TMP321.z <= _TMP325.z, _TMP321.w <= _TMP325.w); + _n1 = vec3(float(_B11.x), float(_B11.y), float(_B11.z)); + _n2 = vec3(float(_B2.x), float(_B2.y), float(_B2.z)); + _s = vec3(float(_E.x), float(_E.y), float(_E.z)); + _n3 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _n4 = vec3(float(_H5.x), float(_H5.y), float(_H5.z)); + _aa = _n2 - _n1; + _bb = _s - _n2; + _cc = _n3 - _s; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s.x < 5.00000000E-01 ? (2.00000000E+00*_s).x : (2.00000000E+00*(1.00000000E+00 - _s)).x, _s.y < 5.00000000E-01 ? (2.00000000E+00*_s).y : (2.00000000E+00*(1.00000000E+00 - _s)).y, _s.z < 5.00000000E-01 ? (2.00000000E+00*_s).z : (2.00000000E+00*(1.00000000E+00 - _s)).z); + _TMP42 = abs(_bb); + _b0332 = 6.49999976E-01*_TMP42; + _m = min(_m, _b0332); + _TMP43 = abs(_cc); + _b0336 = 6.49999976E-01*_TMP43; + _m = min(_m, _b0336); + _a0338 = -_m; + _TMP70 = min(_m, _t); + _TMP337 = max(_a0338, _TMP70); + _s1 = (2.00000000E+00*_fp.y - 1.00000000E+00)*_TMP337 + _s; + _n1 = vec3(float(_D0.x), float(_D0.y), float(_D0.z)); + _n2 = vec3(float(_D.x), float(_D.y), float(_D.z)); + _n3 = vec3(float(_F.x), float(_F.y), float(_F.z)); + _n4 = vec3(float(_F4.x), float(_F4.y), float(_F4.z)); + _aa = _n2 - _n1; + _bb = _s1 - _n2; + _cc = _n3 - _s1; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s1.x < 5.00000000E-01 ? (2.00000000E+00*_s1).x : (2.00000000E+00*(1.00000000E+00 - _s1)).x, _s1.y < 5.00000000E-01 ? (2.00000000E+00*_s1).y : (2.00000000E+00*(1.00000000E+00 - _s1)).y, _s1.z < 5.00000000E-01 ? (2.00000000E+00*_s1).z : (2.00000000E+00*(1.00000000E+00 - _s1)).z); + _TMP44 = abs(_bb); + _b0346 = 6.49999976E-01*_TMP44; + _m = min(_m, _b0346); + _TMP45 = abs(_cc); + _b0350 = 6.49999976E-01*_TMP45; + _m = min(_m, _b0350); + _a0352 = -_m; + _TMP70 = min(_m, _t); + _TMP351 = max(_a0352, _TMP70); + _s0 = (2.00000000E+00*_fp.x - 1.00000000E+00)*_TMP351 + _s1; + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _blend2 = 0.00000000E+00; + _blend1 = 0.00000000E+00; + _a0358 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w)); + _TMP47 = dot(_a0358, _fx45); + _a0360 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w)); + _TMP48 = dot(_a0360, _fx30); + _a0362 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w)); + _TMP49 = dot(_a0362, _fx60); + _TMP50 = max(vec4(_TMP48, _TMP48, _TMP48, _TMP48), vec4(_TMP49, _TMP49, _TMP49, _TMP49)); + _maximo = max(_TMP50, vec4(_TMP47, _TMP47, _TMP47, _TMP47)); + if (_nc.x) { + if (_px.x) { + _TMP51 = _F; + } else { + _TMP51 = _H; + } + _pix1 = _TMP51; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP52 = _B2; + } else { + _TMP52 = _F; + } + _pix1 = _TMP52; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP53 = _D; + } else { + _TMP53 = _B2; + } + _pix1 = _TMP53; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP54 = _H; + } else { + _TMP54 = _D; + } + _pix1 = _TMP54; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP55 = _H; + } else { + _TMP55 = _D; + } + _pix2 = _TMP55; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP56 = _D; + } else { + _TMP56 = _B2; + } + _pix2 = _TMP56; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP57 = _B2; + } else { + _TMP57 = _F; + } + _pix2 = _TMP57; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP58 = _F; + } else { + _TMP58 = _H; + } + _pix2 = _TMP58; + _blend2 = _maximo.x; + } + } + } + } + _b0368 = vec3(float(_pix1.x), float(_pix1.y), float(_pix1.z)); + _TMP59 = _s0 + _blend1*(_b0368 - _s0); + _res1 = vec3(float(_TMP59.x), float(_TMP59.y), float(_TMP59.z)); + _b0370 = vec3(float(_pix2.x), float(_pix2.y), float(_pix2.z)); + _TMP60 = _s0 + _blend2*(_b0370 - _s0); + _res2 = vec3(float(_TMP60.x), float(_TMP60.y), float(_TMP60.z)); + _a0374 = _E - _res1; + _TMP72 = abs(vec3(float(_a0374.x), float(_a0374.y), float(_a0374.z))); + _df0372 = vec3(float(_TMP72.x), float(_TMP72.y), float(_TMP72.z)); + _TMP61 = _df0372.x + _df0372.y + _df0372.z; + _a0378 = _E - _res2; + _TMP72 = abs(vec3(float(_a0378.x), float(_a0378.y), float(_a0378.z))); + _df0376 = vec3(float(_TMP72.x), float(_TMP72.y), float(_TMP72.z)); + _TMP62 = _df0376.x + _df0376.y + _df0376.z; + _TMP63 = float((_TMP62 >= _TMP61)); + _res = _res1 + _TMP63*(_res2 - _res1); + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v5-gamma.glsl b/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v5-gamma.glsl new file mode 100644 index 0000000000..e7ed0d9b7a --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR-Hybrid/2xBR-Hybrid-v5-gamma.glsl @@ -0,0 +1,712 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +vec3 _TMP64; +vec3 _TMP78; +vec3 _TMP82; +vec3 _TMP81; +float _TMP77; +float _TMP76; +float _TMP75; +float _TMP80; +vec3 _TMP62; +vec3 _TMP60; +vec3 _TMP58; +vec3 _TMP56; +vec4 _TMP55; +bvec4 _TMP54; +vec4 _TMP53; +bvec4 _TMP50; +vec3 _TMP72; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec3 _TMP46; +vec4 _TMP39; +vec4 _TMP38; +vec4 _TMP83; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP79; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0097; +vec4 _r0141; +vec4 _r0151; +vec4 _r0161; +vec4 _r0171; +vec4 _r0181; +vec4 _r0191; +vec4 _TMP202; +vec4 _a0205; +vec4 _TMP208; +vec4 _a0211; +vec4 _TMP214; +vec4 _a0217; +vec4 _TMP220; +vec4 _a0223; +vec4 _TMP226; +vec4 _a0229; +vec4 _TMP232; +vec4 _a0235; +vec4 _TMP238; +vec4 _a0241; +vec4 _TMP244; +vec4 _a0247; +vec4 _TMP250; +vec4 _a0253; +vec4 _TMP256; +vec4 _a0259; +vec4 _TMP262; +vec4 _a0265; +vec4 _x0269; +vec4 _TMP270; +vec4 _x0279; +vec4 _TMP280; +vec4 _x0289; +vec4 _TMP290; +vec4 _TMP298; +vec4 _a0301; +vec4 _TMP302; +vec4 _a0305; +vec4 _TMP306; +vec4 _a0309; +vec4 _TMP310; +vec4 _a0313; +vec4 _TMP314; +vec4 _a0317; +vec4 _TMP320; +vec4 _a0323; +vec4 _TMP324; +vec4 _a0327; +vec4 _TMP328; +vec4 _a0331; +vec4 _TMP332; +vec4 _a0335; +vec4 _TMP336; +vec4 _a0339; +vec4 _TMP340; +vec4 _a0343; +vec4 _TMP344; +vec4 _a0347; +vec4 _TMP348; +vec4 _a0351; +vec4 _TMP352; +vec4 _a0355; +vec4 _TMP356; +vec4 _a0359; +vec4 _TMP360; +vec4 _a0363; +vec3 _b0367; +vec3 _b0371; +vec3 _TMP372; +vec3 _a0373; +vec3 _b0381; +vec3 _b0385; +vec3 _TMP386; +vec3 _a0387; +vec4 _t0393; +vec4 _TMP396; +vec4 _a0399; +vec4 _t0403; +vec4 _TMP406; +vec4 _a0409; +float _t0431; +vec3 _TMP440; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A4; + vec3 _B4; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c1; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec3 _res; + vec3 _n1; + vec3 _n2; + vec3 _n3; + vec3 _n4; + vec3 _s; + vec3 _aa; + vec3 _bb; + vec3 _cc; + vec3 _dd; + vec3 _t; + vec3 _m; + vec3 _s1; + vec3 _s0; + float _blend; + vec3 _pix; + vec4 _r1; + bool _yeseq3; + bvec4 _yes; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + _x0097 = TEX0.xy*TextureSize; + _fp = fract(_x0097); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A4 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B4 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP79 = dot(vec3(float(_B4.x), float(_B4.y), float(_B4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0141.x = float(_TMP79); + _TMP79 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0141.y = float(_TMP79); + _TMP79 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0141.z = float(_TMP79); + _TMP79 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0141.w = float(_TMP79); + _b1 = vec4(float(_r0141.x), float(_r0141.y), float(_r0141.z), float(_r0141.w)); + _TMP79 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0151.x = float(_TMP79); + _TMP79 = dot(vec3(float(_A4.x), float(_A4.y), float(_A4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0151.y = float(_TMP79); + _TMP79 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0151.z = float(_TMP79); + _TMP79 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0151.w = float(_TMP79); + _c1 = vec4(float(_r0151.x), float(_r0151.y), float(_r0151.z), float(_r0151.w)); + _TMP79 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0161.x = float(_TMP79); + _TMP79 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0161.y = float(_TMP79); + _TMP79 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0161.z = float(_TMP79); + _TMP79 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0161.w = float(_TMP79); + _e1 = vec4(float(_r0161.x), float(_r0161.y), float(_r0161.z), float(_r0161.w)); + _TMP79 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0171.x = float(_TMP79); + _TMP79 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0171.y = float(_TMP79); + _TMP79 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0171.z = float(_TMP79); + _TMP79 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0171.w = float(_TMP79); + _i4 = vec4(float(_r0171.x), float(_r0171.y), float(_r0171.z), float(_r0171.w)); + _TMP79 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0181.x = float(_TMP79); + _TMP79 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0181.y = float(_TMP79); + _TMP79 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0181.z = float(_TMP79); + _TMP79 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0181.w = float(_TMP79); + _i5 = vec4(float(_r0181.x), float(_r0181.y), float(_r0181.z), float(_r0181.w)); + _TMP79 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0191.x = float(_TMP79); + _TMP79 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0191.y = float(_TMP79); + _TMP79 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0191.z = float(_TMP79); + _TMP79 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0191.w = float(_TMP79); + _h5 = vec4(float(_r0191.x), float(_r0191.y), float(_r0191.z), float(_r0191.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0205 = _b1.wxyz - _b1; + _TMP202 = abs(_a0205); + _TMP27 = bvec4(_TMP202.x < 1.50000000E+01, _TMP202.y < 1.50000000E+01, _TMP202.z < 1.50000000E+01, _TMP202.w < 1.50000000E+01); + _a0211 = _b1.wxyz - _c1; + _TMP208 = abs(_a0211); + _TMP28 = bvec4(_TMP208.x < 1.50000000E+01, _TMP208.y < 1.50000000E+01, _TMP208.z < 1.50000000E+01, _TMP208.w < 1.50000000E+01); + _a0217 = _b1.zwxy - _b1.yzwx; + _TMP214 = abs(_a0217); + _TMP29 = bvec4(_TMP214.x < 1.50000000E+01, _TMP214.y < 1.50000000E+01, _TMP214.z < 1.50000000E+01, _TMP214.w < 1.50000000E+01); + _a0223 = _b1.zwxy - _c1.zwxy; + _TMP220 = abs(_a0223); + _TMP30 = bvec4(_TMP220.x < 1.50000000E+01, _TMP220.y < 1.50000000E+01, _TMP220.z < 1.50000000E+01, _TMP220.w < 1.50000000E+01); + _a0229 = _e1 - _c1.wxyz; + _TMP226 = abs(_a0229); + _TMP31 = bvec4(_TMP226.x < 1.50000000E+01, _TMP226.y < 1.50000000E+01, _TMP226.z < 1.50000000E+01, _TMP226.w < 1.50000000E+01); + _a0235 = _b1.wxyz - _h5.yzwx; + _TMP232 = abs(_a0235); + _TMP32 = bvec4(_TMP232.x < 1.50000000E+01, _TMP232.y < 1.50000000E+01, _TMP232.z < 1.50000000E+01, _TMP232.w < 1.50000000E+01); + _a0241 = _b1.wxyz - _i4; + _TMP238 = abs(_a0241); + _TMP33 = bvec4(_TMP238.x < 1.50000000E+01, _TMP238.y < 1.50000000E+01, _TMP238.z < 1.50000000E+01, _TMP238.w < 1.50000000E+01); + _a0247 = _b1.zwxy - _h5; + _TMP244 = abs(_a0247); + _TMP34 = bvec4(_TMP244.x < 1.50000000E+01, _TMP244.y < 1.50000000E+01, _TMP244.z < 1.50000000E+01, _TMP244.w < 1.50000000E+01); + _a0253 = _b1.zwxy - _i5; + _TMP250 = abs(_a0253); + _TMP35 = bvec4(_TMP250.x < 1.50000000E+01, _TMP250.y < 1.50000000E+01, _TMP250.z < 1.50000000E+01, _TMP250.w < 1.50000000E+01); + _a0259 = _e1 - _c1.zwxy; + _TMP256 = abs(_a0259); + _TMP36 = bvec4(_TMP256.x < 1.50000000E+01, _TMP256.y < 1.50000000E+01, _TMP256.z < 1.50000000E+01, _TMP256.w < 1.50000000E+01); + _a0265 = _e1 - _c1; + _TMP262 = abs(_a0265); + _TMP37 = bvec4(_TMP262.x < 1.50000000E+01, _TMP262.y < 1.50000000E+01, _TMP262.z < 1.50000000E+01, _TMP262.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c1.z && _b1.y != _c1.z, _e1.y != _c1.w && _b1.z != _c1.w, _e1.z != _c1.x && _b1.w != _c1.x, _e1.w != _c1.y && _b1.x != _c1.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c1.x && _b1.x != _c1.x, _e1.y != _c1.y && _b1.y != _c1.y, _e1.z != _c1.z && _b1.z != _c1.z, _e1.w != _c1.w && _b1.w != _c1.w); + _x0269 = _fx - vec4( 1.00000000E+00, 0.00000000E+00, -1.00000000E+00, 0.00000000E+00); + _TMP83 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0269); + _TMP270 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP83); + _fx45 = _TMP270*_TMP270*(3.00000000E+00 - 2.00000000E+00*_TMP270); + _x0279 = _fx_left - vec4( 5.00000000E-01, 5.00000000E-01, -1.00000000E+00, -5.00000000E-01); + _TMP83 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0279); + _TMP280 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP83); + _fx30 = _TMP280*_TMP280*(3.00000000E+00 - 2.00000000E+00*_TMP280); + _x0289 = _fx_up - vec4( 1.50000000E+00, -5.00000000E-01, -1.50000000E+00, 0.00000000E+00); + _TMP83 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0289); + _TMP290 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP83); + _fx60 = _TMP290*_TMP290*(3.00000000E+00 - 2.00000000E+00*_TMP290); + _a0301 = _e1 - _c1; + _TMP298 = abs(_a0301); + _a0305 = _e1 - _c1.zwxy; + _TMP302 = abs(_a0305); + _a0309 = _c1.wxyz - _h5; + _TMP306 = abs(_a0309); + _a0313 = _c1.wxyz - _h5.yzwx; + _TMP310 = abs(_a0313); + _a0317 = _b1.zwxy - _b1.wxyz; + _TMP314 = abs(_a0317); + _TMP38 = _TMP298 + _TMP302 + _TMP306 + _TMP310 + 4.00000000E+00*_TMP314; + _a0323 = _b1.zwxy - _b1.yzwx; + _TMP320 = abs(_a0323); + _a0327 = _b1.zwxy - _i5; + _TMP324 = abs(_a0327); + _a0331 = _b1.wxyz - _i4; + _TMP328 = abs(_a0331); + _a0335 = _b1.wxyz - _b1; + _TMP332 = abs(_a0335); + _a0339 = _e1 - _c1.wxyz; + _TMP336 = abs(_a0339); + _TMP39 = _TMP320 + _TMP324 + _TMP328 + _TMP332 + 4.00000000E+00*_TMP336; + _edr = bvec4((_TMP38 + 3.50000000E+00).x < _TMP39.x && _interp_restriction_lv1.x, (_TMP38 + 3.50000000E+00).y < _TMP39.y && _interp_restriction_lv1.y, (_TMP38 + 3.50000000E+00).z < _TMP39.z && _interp_restriction_lv1.z, (_TMP38 + 3.50000000E+00).w < _TMP39.w && _interp_restriction_lv1.w); + _a0343 = _b1.wxyz - _c1.zwxy; + _TMP340 = abs(_a0343); + _a0347 = _b1.zwxy - _c1; + _TMP344 = abs(_a0347); + _edr_left = bvec4((2.00000000E+00*_TMP340).x <= _TMP344.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP340).y <= _TMP344.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP340).z <= _TMP344.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP340).w <= _TMP344.w && _interp_restriction_lv2_left.w); + _a0351 = _b1.wxyz - _c1.zwxy; + _TMP348 = abs(_a0351); + _a0355 = _b1.zwxy - _c1; + _TMP352 = abs(_a0355); + _edr_up = bvec4(_TMP348.x >= (2.00000000E+00*_TMP352).x && _interp_restriction_lv2_up.x, _TMP348.y >= (2.00000000E+00*_TMP352).y && _interp_restriction_lv2_up.y, _TMP348.z >= (2.00000000E+00*_TMP352).z && _interp_restriction_lv2_up.z, _TMP348.w >= (2.00000000E+00*_TMP352).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0359 = _e1 - _b1.wxyz; + _TMP356 = abs(_a0359); + _a0363 = _e1 - _b1.zwxy; + _TMP360 = abs(_a0363); + _px = bvec4(_TMP356.x <= _TMP360.x, _TMP356.y <= _TMP360.y, _TMP356.z <= _TMP360.z, _TMP356.w <= _TMP360.w); + _res = _E; + _n1 = vec3(float(_B11.x), float(_B11.y), float(_B11.z)); + _n2 = vec3(float(_B4.x), float(_B4.y), float(_B4.z)); + _s = vec3(float(_E.x), float(_E.y), float(_E.z)); + _n3 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _n4 = vec3(float(_H5.x), float(_H5.y), float(_H5.z)); + _aa = _n2 - _n1; + _bb = _s - _n2; + _cc = _n3 - _s; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s.x < 5.00000000E-01 ? (2.00000000E+00*_s).x : (2.00000000E+00*(1.00000000E+00 - _s)).x, _s.y < 5.00000000E-01 ? (2.00000000E+00*_s).y : (2.00000000E+00*(1.00000000E+00 - _s)).y, _s.z < 5.00000000E-01 ? (2.00000000E+00*_s).z : (2.00000000E+00*(1.00000000E+00 - _s)).z); + _TMP46 = abs(_bb); + _b0367 = 6.49999976E-01*_TMP46; + _m = min(_m, _b0367); + _TMP47 = abs(_cc); + _b0371 = 6.49999976E-01*_TMP47; + _m = min(_m, _b0371); + _a0373 = -_m; + _TMP72 = min(_m, _t); + _TMP372 = max(_a0373, _TMP72); + _s1 = (2.00000000E+00*_fp.y - 1.00000000E+00)*_TMP372 + _s; + _n1 = vec3(float(_D0.x), float(_D0.y), float(_D0.z)); + _n2 = vec3(float(_D.x), float(_D.y), float(_D.z)); + _n3 = vec3(float(_F.x), float(_F.y), float(_F.z)); + _n4 = vec3(float(_F4.x), float(_F4.y), float(_F4.z)); + _aa = _n2 - _n1; + _bb = _s1 - _n2; + _cc = _n3 - _s1; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s1.x < 5.00000000E-01 ? (2.00000000E+00*_s1).x : (2.00000000E+00*(1.00000000E+00 - _s1)).x, _s1.y < 5.00000000E-01 ? (2.00000000E+00*_s1).y : (2.00000000E+00*(1.00000000E+00 - _s1)).y, _s1.z < 5.00000000E-01 ? (2.00000000E+00*_s1).z : (2.00000000E+00*(1.00000000E+00 - _s1)).z); + _TMP48 = abs(_bb); + _b0381 = 6.49999976E-01*_TMP48; + _m = min(_m, _b0381); + _TMP49 = abs(_cc); + _b0385 = 6.49999976E-01*_TMP49; + _m = min(_m, _b0385); + _a0387 = -_m; + _TMP72 = min(_m, _t); + _TMP386 = max(_a0387, _TMP72); + _s0 = (2.00000000E+00*_fp.x - 1.00000000E+00)*_TMP386 + _s1; + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _blend = 0.00000000E+00; + _t0393 = vec4(float(_edr.x), float(_edr.y), float(_edr.z), float(_edr.w)); + _r1 = _e1 + _t0393*(_b1.wxyz - _e1); + _yeseq3 = false; + _a0399 = _r1 - _e1; + _TMP396 = abs(_a0399); + _TMP50 = bvec4(_TMP396.x < 5.00000000E+00, _TMP396.y < 5.00000000E+00, _TMP396.z < 5.00000000E+00, _TMP396.w < 5.00000000E+00); + if (_TMP50.x && _TMP50.y && _TMP50.z && _TMP50.w) { + _yeseq3 = true; + _res = vec3(float(_s0.x), float(_s0.y), float(_s0.z)); + _pix = _res; + } else { + _pix = _E; + } + _t0403 = vec4(float(_px.x), float(_px.y), float(_px.z), float(_px.w)); + _TMP53 = _b1.wxyz + _t0403*(_b1.zwxy - _b1.wxyz); + _a0409 = _e1 - _TMP53; + _TMP406 = abs(_a0409); + _TMP54 = bvec4(_TMP406.x < 2.00000000E+00, _TMP406.y < 2.00000000E+00, _TMP406.z < 2.00000000E+00, _TMP406.w < 2.00000000E+00); + _yes = bvec4(_yeseq3 && _TMP54.x, _yeseq3 && _TMP54.y, _yeseq3 && _TMP54.z, _yeseq3 && _TMP54.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP55 = max(_final30, _final60); + _maximo = max(_TMP55, _final45); + if (_nc.x) { + if (_px.x) { + _TMP56 = _F; + } else { + _TMP56 = _H; + } + _pix = _TMP56; + _blend = _maximo.x; + if (_yes.x) { + _res = vec3(float(_s0.x), float(_s0.y), float(_s0.z)); + _pix = _res; + } else { + _res = _E; + } + } else { + if (_nc.y) { + if (_px.y) { + _TMP58 = _B4; + } else { + _TMP58 = _F; + } + _pix = _TMP58; + _blend = _maximo.y; + if (_yes.y) { + _res = vec3(float(_s0.x), float(_s0.y), float(_s0.z)); + _pix = _res; + } else { + _res = _E; + } + } else { + if (_nc.z) { + if (_px.z) { + _TMP60 = _D; + } else { + _TMP60 = _B4; + } + _pix = _TMP60; + _blend = _maximo.z; + if (_yes.z) { + _res = vec3(float(_s0.x), float(_s0.y), float(_s0.z)); + _pix = _res; + } else { + _res = _E; + } + } else { + if (_nc.w) { + if (_px.w) { + _TMP62 = _H; + } else { + _TMP62 = _D; + } + _pix = _TMP62; + _blend = _maximo.w; + if (_yes.w) { + _res = vec3(float(_s0.x), float(_s0.y), float(_s0.z)); + _pix = _res; + } else { + _res = _E; + } + } + } + } + } + _TMP80 = pow(float(_res.x), 2.40039062E+00); + _TMP75 = float(_TMP80); + _TMP80 = pow(float(_res.y), 2.40039062E+00); + _TMP76 = float(_TMP80); + _TMP80 = pow(float(_res.z), 2.40039062E+00); + _TMP77 = float(_TMP80); + _res = vec3(_TMP75, _TMP76, _TMP77); + _TMP80 = pow(float(_pix.x), 2.40039062E+00); + _TMP75 = float(_TMP80); + _TMP80 = pow(float(_pix.y), 2.40039062E+00); + _TMP76 = float(_TMP80); + _TMP80 = pow(float(_pix.z), 2.40039062E+00); + _TMP77 = float(_TMP80); + _pix = vec3(_TMP75, _TMP76, _TMP77); + _t0431 = float(_blend); + _res = _res + _t0431*(_pix - _res); + _TMP80 = pow(float(_res.x), 4.54589844E-01); + _TMP75 = float(_TMP80); + _TMP80 = pow(float(_res.y), 4.54589844E-01); + _TMP76 = float(_TMP80); + _TMP80 = pow(float(_res.z), 4.54589844E-01); + _TMP77 = float(_TMP80); + _TMP64 = vec3(_TMP75, _TMP76, _TMP77); + _TMP81 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), vec3(float(_TMP64.x), float(_TMP64.y), float(_TMP64.z))); + _TMP78 = vec3(float(_TMP81.x), float(_TMP81.y), float(_TMP81.z)); + _TMP82 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), vec3(float(_TMP78.x), float(_TMP78.y), float(_TMP78.z))); + _TMP440 = vec3(float(_TMP82.x), float(_TMP82.y), float(_TMP82.z)); + _ret_0 = vec4(float(_TMP440.x), float(_TMP440.y), float(_TMP440.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR-Hybrid/2xbr-hybrid-sharp.glsl b/ios/Assets/shaders_glsl/xBR-Hybrid/2xbr-hybrid-sharp.glsl new file mode 100644 index 0000000000..643f60551f --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR-Hybrid/2xbr-hybrid-sharp.glsl @@ -0,0 +1,668 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +bool _TMP59; +bool _TMP58; +vec3 _TMP66; +vec3 _TMP57; +vec3 _TMP56; +vec3 _TMP55; +vec3 _TMP54; +vec3 _TMP53; +vec3 _TMP52; +vec3 _TMP51; +vec3 _TMP50; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec3 _TMP46; +vec4 _TMP39; +vec4 _TMP38; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP67; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0081; +vec4 _r0125; +vec4 _r0135; +vec4 _r0145; +vec4 _r0155; +vec4 _r0165; +vec4 _r0175; +vec4 _TMP186; +vec4 _a0189; +vec4 _TMP192; +vec4 _a0195; +vec4 _TMP198; +vec4 _a0201; +vec4 _TMP204; +vec4 _a0207; +vec4 _TMP210; +vec4 _a0213; +vec4 _TMP216; +vec4 _a0219; +vec4 _TMP222; +vec4 _a0225; +vec4 _TMP228; +vec4 _a0231; +vec4 _TMP234; +vec4 _a0237; +vec4 _TMP240; +vec4 _a0243; +vec4 _TMP246; +vec4 _a0249; +vec4 _TMP252; +vec4 _a0255; +vec4 _TMP256; +vec4 _a0259; +vec4 _TMP260; +vec4 _a0263; +vec4 _TMP264; +vec4 _a0267; +vec4 _TMP268; +vec4 _a0271; +vec4 _TMP274; +vec4 _a0277; +vec4 _TMP278; +vec4 _a0281; +vec4 _TMP282; +vec4 _a0285; +vec4 _TMP286; +vec4 _a0289; +vec4 _TMP290; +vec4 _a0293; +vec4 _TMP294; +vec4 _a0297; +vec4 _TMP298; +vec4 _a0301; +vec4 _TMP302; +vec4 _a0305; +vec4 _TMP306; +vec4 _a0309; +vec4 _TMP310; +vec4 _a0313; +vec4 _TMP314; +vec4 _a0317; +vec3 _b0321; +vec3 _b0325; +vec3 _TMP330; +vec3 _a0331; +vec3 _b0339; +vec3 _b0343; +vec3 _TMP348; +vec3 _a0349; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c1; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec3 _res; + vec3 _n1; + vec3 _n2; + vec3 _n3; + vec3 _n4; + vec3 _s; + vec3 _aa; + vec3 _bb; + vec3 _cc; + vec3 _dd; + bvec3 _sim1; + bvec3 _sim2; + vec3 _t; + vec3 _m; + vec3 _s1; + vec3 _s0; + _x0081 = TEX0.xy*TextureSize; + _fp = fract(_x0081); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP67 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0125.x = float(_TMP67); + _TMP67 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0125.y = float(_TMP67); + _TMP67 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0125.z = float(_TMP67); + _TMP67 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0125.w = float(_TMP67); + _b1 = vec4(float(_r0125.x), float(_r0125.y), float(_r0125.z), float(_r0125.w)); + _TMP67 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0135.x = float(_TMP67); + _TMP67 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0135.y = float(_TMP67); + _TMP67 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0135.z = float(_TMP67); + _TMP67 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0135.w = float(_TMP67); + _c1 = vec4(float(_r0135.x), float(_r0135.y), float(_r0135.z), float(_r0135.w)); + _TMP67 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0145.x = float(_TMP67); + _TMP67 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0145.y = float(_TMP67); + _TMP67 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0145.z = float(_TMP67); + _TMP67 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0145.w = float(_TMP67); + _e1 = vec4(float(_r0145.x), float(_r0145.y), float(_r0145.z), float(_r0145.w)); + _TMP67 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0155.x = float(_TMP67); + _TMP67 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0155.y = float(_TMP67); + _TMP67 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0155.z = float(_TMP67); + _TMP67 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0155.w = float(_TMP67); + _i4 = vec4(float(_r0155.x), float(_r0155.y), float(_r0155.z), float(_r0155.w)); + _TMP67 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0165.x = float(_TMP67); + _TMP67 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0165.y = float(_TMP67); + _TMP67 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0165.z = float(_TMP67); + _TMP67 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0165.w = float(_TMP67); + _i5 = vec4(float(_r0165.x), float(_r0165.y), float(_r0165.z), float(_r0165.w)); + _TMP67 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0175.x = float(_TMP67); + _TMP67 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0175.y = float(_TMP67); + _TMP67 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0175.z = float(_TMP67); + _TMP67 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0175.w = float(_TMP67); + _h5 = vec4(float(_r0175.x), float(_r0175.y), float(_r0175.z), float(_r0175.w)); + _a0189 = _b1.wxyz - _b1; + _TMP186 = abs(_a0189); + _TMP27 = bvec4(_TMP186.x < 1.50000000E+01, _TMP186.y < 1.50000000E+01, _TMP186.z < 1.50000000E+01, _TMP186.w < 1.50000000E+01); + _a0195 = _b1.wxyz - _c1; + _TMP192 = abs(_a0195); + _TMP28 = bvec4(_TMP192.x < 1.50000000E+01, _TMP192.y < 1.50000000E+01, _TMP192.z < 1.50000000E+01, _TMP192.w < 1.50000000E+01); + _a0201 = _b1.zwxy - _b1.yzwx; + _TMP198 = abs(_a0201); + _TMP29 = bvec4(_TMP198.x < 1.50000000E+01, _TMP198.y < 1.50000000E+01, _TMP198.z < 1.50000000E+01, _TMP198.w < 1.50000000E+01); + _a0207 = _b1.zwxy - _c1.zwxy; + _TMP204 = abs(_a0207); + _TMP30 = bvec4(_TMP204.x < 1.50000000E+01, _TMP204.y < 1.50000000E+01, _TMP204.z < 1.50000000E+01, _TMP204.w < 1.50000000E+01); + _a0213 = _e1 - _c1.wxyz; + _TMP210 = abs(_a0213); + _TMP31 = bvec4(_TMP210.x < 1.50000000E+01, _TMP210.y < 1.50000000E+01, _TMP210.z < 1.50000000E+01, _TMP210.w < 1.50000000E+01); + _a0219 = _b1.wxyz - _h5.yzwx; + _TMP216 = abs(_a0219); + _TMP32 = bvec4(_TMP216.x < 1.50000000E+01, _TMP216.y < 1.50000000E+01, _TMP216.z < 1.50000000E+01, _TMP216.w < 1.50000000E+01); + _a0225 = _b1.wxyz - _i4; + _TMP222 = abs(_a0225); + _TMP33 = bvec4(_TMP222.x < 1.50000000E+01, _TMP222.y < 1.50000000E+01, _TMP222.z < 1.50000000E+01, _TMP222.w < 1.50000000E+01); + _a0231 = _b1.zwxy - _h5; + _TMP228 = abs(_a0231); + _TMP34 = bvec4(_TMP228.x < 1.50000000E+01, _TMP228.y < 1.50000000E+01, _TMP228.z < 1.50000000E+01, _TMP228.w < 1.50000000E+01); + _a0237 = _b1.zwxy - _i5; + _TMP234 = abs(_a0237); + _TMP35 = bvec4(_TMP234.x < 1.50000000E+01, _TMP234.y < 1.50000000E+01, _TMP234.z < 1.50000000E+01, _TMP234.w < 1.50000000E+01); + _a0243 = _e1 - _c1.zwxy; + _TMP240 = abs(_a0243); + _TMP36 = bvec4(_TMP240.x < 1.50000000E+01, _TMP240.y < 1.50000000E+01, _TMP240.z < 1.50000000E+01, _TMP240.w < 1.50000000E+01); + _a0249 = _e1 - _c1; + _TMP246 = abs(_a0249); + _TMP37 = bvec4(_TMP246.x < 1.50000000E+01, _TMP246.y < 1.50000000E+01, _TMP246.z < 1.50000000E+01, _TMP246.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c1.z && _b1.y != _c1.z, _e1.y != _c1.w && _b1.z != _c1.w, _e1.z != _c1.x && _b1.w != _c1.x, _e1.w != _c1.y && _b1.x != _c1.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c1.x && _b1.x != _c1.x, _e1.y != _c1.y && _b1.y != _c1.y, _e1.z != _c1.z && _b1.z != _c1.z, _e1.w != _c1.w && _b1.w != _c1.w); + _a0255 = _e1 - _c1; + _TMP252 = abs(_a0255); + _a0259 = _e1 - _c1.zwxy; + _TMP256 = abs(_a0259); + _a0263 = _c1.wxyz - _h5; + _TMP260 = abs(_a0263); + _a0267 = _c1.wxyz - _h5.yzwx; + _TMP264 = abs(_a0267); + _a0271 = _b1.zwxy - _b1.wxyz; + _TMP268 = abs(_a0271); + _TMP38 = _TMP252 + _TMP256 + _TMP260 + _TMP264 + 4.00000000E+00*_TMP268; + _a0277 = _b1.zwxy - _b1.yzwx; + _TMP274 = abs(_a0277); + _a0281 = _b1.zwxy - _i5; + _TMP278 = abs(_a0281); + _a0285 = _b1.wxyz - _i4; + _TMP282 = abs(_a0285); + _a0289 = _b1.wxyz - _b1; + _TMP286 = abs(_a0289); + _a0293 = _e1 - _c1.wxyz; + _TMP290 = abs(_a0293); + _TMP39 = _TMP274 + _TMP278 + _TMP282 + _TMP286 + 4.00000000E+00*_TMP290; + _edr = bvec4(_TMP38.x < _TMP39.x && _interp_restriction_lv1.x, _TMP38.y < _TMP39.y && _interp_restriction_lv1.y, _TMP38.z < _TMP39.z && _interp_restriction_lv1.z, _TMP38.w < _TMP39.w && _interp_restriction_lv1.w); + _a0297 = _b1.wxyz - _c1.zwxy; + _TMP294 = abs(_a0297); + _a0301 = _b1.zwxy - _c1; + _TMP298 = abs(_a0301); + _edr_left = bvec4((2.00000000E+00*_TMP294).x <= _TMP298.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP294).y <= _TMP298.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP294).z <= _TMP298.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP294).w <= _TMP298.w && _interp_restriction_lv2_left.w); + _a0305 = _b1.wxyz - _c1.zwxy; + _TMP302 = abs(_a0305); + _a0309 = _b1.zwxy - _c1; + _TMP306 = abs(_a0309); + _edr_up = bvec4(_TMP302.x >= (2.00000000E+00*_TMP306).x && _interp_restriction_lv2_up.x, _TMP302.y >= (2.00000000E+00*_TMP306).y && _interp_restriction_lv2_up.y, _TMP302.z >= (2.00000000E+00*_TMP306).z && _interp_restriction_lv2_up.z, _TMP302.w >= (2.00000000E+00*_TMP306).w && _interp_restriction_lv2_up.w); + _a0313 = _e1 - _b1.wxyz; + _TMP310 = abs(_a0313); + _a0317 = _e1 - _b1.zwxy; + _TMP314 = abs(_a0317); + _px = bvec4(_TMP310.x <= _TMP314.x, _TMP310.y <= _TMP314.y, _TMP310.z <= _TMP314.z, _TMP310.w <= _TMP314.w); + if (_px.x) { + _TMP46 = _F; + } else { + _TMP46 = _H; + } + if (_px.y) { + _TMP47 = _B2; + } else { + _TMP47 = _F; + } + if (_px.z) { + _TMP48 = _D; + } else { + _TMP48 = _B2; + } + if (_px.w) { + _TMP49 = _H; + } else { + _TMP49 = _D; + } + _n1 = vec3(float(_B11.x), float(_B11.y), float(_B11.z)); + _n2 = vec3(float(_B2.x), float(_B2.y), float(_B2.z)); + _s = vec3(float(_E.x), float(_E.y), float(_E.z)); + _n3 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _n4 = vec3(float(_H5.x), float(_H5.y), float(_H5.z)); + _aa = _n2 - _n1; + _bb = _s - _n2; + _cc = _n3 - _s; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s.x < 5.00000000E-01 ? (2.00000000E+00*_s).x : (2.00000000E+00*(1.00000000E+00 - _s)).x, _s.y < 5.00000000E-01 ? (2.00000000E+00*_s).y : (2.00000000E+00*(1.00000000E+00 - _s)).y, _s.z < 5.00000000E-01 ? (2.00000000E+00*_s).z : (2.00000000E+00*(1.00000000E+00 - _s)).z); + _TMP50 = abs(_bb); + _b0321 = 2.00000000E+00*_TMP50; + _m = min(_m, _b0321); + _TMP51 = abs(_cc); + _b0325 = 2.00000000E+00*_TMP51; + _m = min(_m, _b0325); + _TMP52 = abs(_bb); + _TMP53 = abs(_cc); + _sim1 = bvec3((_TMP52*2.00000000E+00).x > 8.00000012E-01 || (_TMP53*2.00000000E+00).x > 8.00000012E-01, (_TMP52*2.00000000E+00).y > 4.19999987E-01 || (_TMP53*2.00000000E+00).y > 4.19999987E-01, (_TMP52*2.00000000E+00).z > 2.89999992E-01 || (_TMP53*2.00000000E+00).z > 2.89999992E-01); + _a0331 = -_m; + _TMP66 = min(_m, _t); + _TMP330 = max(_a0331, _TMP66); + _s1 = (2.00000000E+00*_fp.y - 1.00000000E+00)*_TMP330 + _s; + _n1 = vec3(float(_D0.x), float(_D0.y), float(_D0.z)); + _n2 = vec3(float(_D.x), float(_D.y), float(_D.z)); + _n3 = vec3(float(_F.x), float(_F.y), float(_F.z)); + _n4 = vec3(float(_F4.x), float(_F4.y), float(_F4.z)); + _aa = _n2 - _n1; + _bb = _s1 - _n2; + _cc = _n3 - _s1; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s1.x < 5.00000000E-01 ? (2.00000000E+00*_s1).x : (2.00000000E+00*(1.00000000E+00 - _s1)).x, _s1.y < 5.00000000E-01 ? (2.00000000E+00*_s1).y : (2.00000000E+00*(1.00000000E+00 - _s1)).y, _s1.z < 5.00000000E-01 ? (2.00000000E+00*_s1).z : (2.00000000E+00*(1.00000000E+00 - _s1)).z); + _TMP54 = abs(_bb); + _b0339 = 2.00000000E+00*_TMP54; + _m = min(_m, _b0339); + _TMP55 = abs(_cc); + _b0343 = 2.00000000E+00*_TMP55; + _m = min(_m, _b0343); + _TMP56 = abs(_bb); + _TMP57 = abs(_cc); + _sim2 = bvec3((_TMP56*2.00000000E+00).x > 8.00000012E-01 || (_TMP57*2.00000000E+00).x > 8.00000012E-01, (_TMP56*2.00000000E+00).y > 4.19999987E-01 || (_TMP57*2.00000000E+00).y > 4.19999987E-01, (_TMP56*2.00000000E+00).z > 2.89999992E-01 || (_TMP57*2.00000000E+00).z > 2.89999992E-01); + _a0349 = -_m; + _TMP66 = min(_m, _t); + _TMP348 = max(_a0349, _TMP66); + _s0 = (2.00000000E+00*_fp.x - 1.00000000E+00)*_TMP348 + _s1; + _res = vec3(float(_s0.x), float(_s0.y), float(_s0.z)); + _TMP58 = _sim1.x || _sim1.y || _sim1.z; + _TMP59 = _sim2.x || _sim2.y || _sim2.z; + if (_TMP58 && _TMP59) { + if (_fp.x >= 5.00000000E-01) { + if (_fp.y >= 5.00000000E-01) { + if (_edr.x && _edr_left.x && _edr_up.x) { + _res = _E + 8.33496094E-01*(_TMP46 - _E); + } else { + if (_edr.x && (_edr_left.x || _edr_up.x)) { + _res = _E + 7.50000000E-01*(_TMP46 - _E); + } else { + if (_edr.y && _edr_left.y && _edr.w && _edr_up.w) { + _res = _E + 2.50000000E-01*(_TMP49 - _E); + } else { + if (_edr.y && _edr_left.y) { + _res = _E + 2.50000000E-01*(_TMP47 - _E); + } else { + if (_edr.w && _edr_up.w) { + _res = _E + 2.50000000E-01*(_TMP49 - _E); + } else { + if (_edr.x) { + _res = _E + 5.00000000E-01*(_TMP46 - _E); + } + } + } + } + } + } + } else { + if (_edr.y && _edr_left.y && _edr_up.y) { + _res = _E + 8.33496094E-01*(_TMP47 - _E); + } else { + if (_edr.y && (_edr_left.y || _edr_up.y)) { + _res = _E + 7.50000000E-01*(_TMP47 - _E); + } else { + if (_edr.z && _edr_left.z && _edr.x && _edr_up.x) { + _res = _E + 2.50000000E-01*(_TMP46 - _E); + } else { + if (_edr.z && _edr_left.z) { + _res = _E + 2.50000000E-01*(_TMP48 - _E); + } else { + if (_edr.x && _edr_up.x) { + _res = _E + 2.50000000E-01*(_TMP46 - _E); + } else { + if (_edr.y) { + _res = _E + 5.00000000E-01*(_TMP47 - _E); + } + } + } + } + } + } + } + } else { + if (_fp.y >= 5.00000000E-01) { + if (_edr.w && _edr_left.w && _edr_up.w) { + _res = _E + 8.33496094E-01*(_TMP49 - _E); + } else { + if (_edr.w && (_edr_left.w || _edr_up.w)) { + _res = _E + 7.50000000E-01*(_TMP49 - _E); + } else { + if (_edr.x && _edr_left.x && _edr.z && _edr_up.z) { + _res = _E + 2.50000000E-01*(_TMP48 - _E); + } else { + if (_edr.x && _edr_left.x) { + _res = _E + 2.50000000E-01*(_TMP46 - _E); + } else { + if (_edr.z && _edr_up.z) { + _res = _E + 2.50000000E-01*(_TMP48 - _E); + } else { + if (_edr.w) { + _res = _E + 5.00000000E-01*(_TMP49 - _E); + } + } + } + } + } + } + } else { + if (_edr.z && _edr_left.z && _edr_up.z) { + _res = _E + 8.33496094E-01*(_TMP48 - _E); + } else { + if (_edr.z && (_edr_left.z || _edr_up.z)) { + _res = _E + 7.50000000E-01*(_TMP48 - _E); + } else { + if (_edr.w && _edr_left.w && _edr.y && _edr_up.y) { + _res = _E + 2.50000000E-01*(_TMP47 - _E); + } else { + if (_edr.w && _edr_left.w) { + _res = _E + 2.50000000E-01*(_TMP49 - _E); + } else { + if (_edr.y && _edr_up.y) { + _res = _E + 2.50000000E-01*(_TMP47 - _E); + } else { + if (_edr.z) { + _res = _E + 5.00000000E-01*(_TMP48 - _E); + } + } + } + } + } + } + } + } + } + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR-Hybrid/2xbr-hybrid.glsl b/ios/Assets/shaders_glsl/xBR-Hybrid/2xbr-hybrid.glsl new file mode 100644 index 0000000000..c8dd495173 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR-Hybrid/2xbr-hybrid.glsl @@ -0,0 +1,676 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +bool _TMP63; +bool _TMP62; +vec3 _TMP70; +vec3 _TMP61; +vec3 _TMP60; +vec3 _TMP59; +vec3 _TMP58; +vec3 _TMP57; +vec3 _TMP56; +vec3 _TMP55; +vec3 _TMP54; +vec3 _TMP53; +vec3 _TMP52; +vec3 _TMP51; +vec3 _TMP50; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec3 _TMP46; +vec4 _TMP39; +vec4 _TMP38; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP71; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0085; +vec4 _r0129; +vec4 _r0139; +vec4 _r0149; +vec4 _r0159; +vec4 _r0169; +vec4 _r0179; +vec4 _TMP190; +vec4 _a0193; +vec4 _TMP196; +vec4 _a0199; +vec4 _TMP202; +vec4 _a0205; +vec4 _TMP208; +vec4 _a0211; +vec4 _TMP214; +vec4 _a0217; +vec4 _TMP220; +vec4 _a0223; +vec4 _TMP226; +vec4 _a0229; +vec4 _TMP232; +vec4 _a0235; +vec4 _TMP238; +vec4 _a0241; +vec4 _TMP244; +vec4 _a0247; +vec4 _TMP250; +vec4 _a0253; +vec4 _TMP256; +vec4 _a0259; +vec4 _TMP260; +vec4 _a0263; +vec4 _TMP264; +vec4 _a0267; +vec4 _TMP268; +vec4 _a0271; +vec4 _TMP272; +vec4 _a0275; +vec4 _TMP278; +vec4 _a0281; +vec4 _TMP282; +vec4 _a0285; +vec4 _TMP286; +vec4 _a0289; +vec4 _TMP290; +vec4 _a0293; +vec4 _TMP294; +vec4 _a0297; +vec4 _TMP298; +vec4 _a0301; +vec4 _TMP302; +vec4 _a0305; +vec4 _TMP306; +vec4 _a0309; +vec4 _TMP310; +vec4 _a0313; +vec4 _TMP314; +vec4 _a0317; +vec4 _TMP318; +vec4 _a0321; +vec3 _b0325; +vec3 _b0329; +vec3 _TMP338; +vec3 _a0339; +vec3 _b0347; +vec3 _b0351; +vec3 _TMP360; +vec3 _a0361; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c1; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec3 _res; + vec3 _n1; + vec3 _n2; + vec3 _n3; + vec3 _n4; + vec3 _s; + vec3 _aa; + vec3 _bb; + vec3 _cc; + vec3 _dd; + bvec3 _sim1; + bvec3 _sim2; + vec3 _t; + vec3 _m; + vec3 _s1; + vec3 _s0; + _x0085 = TEX0.xy*TextureSize; + _fp = fract(_x0085); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP71 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0129.x = float(_TMP71); + _TMP71 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0129.y = float(_TMP71); + _TMP71 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0129.z = float(_TMP71); + _TMP71 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0129.w = float(_TMP71); + _b1 = vec4(float(_r0129.x), float(_r0129.y), float(_r0129.z), float(_r0129.w)); + _TMP71 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0139.x = float(_TMP71); + _TMP71 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0139.y = float(_TMP71); + _TMP71 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0139.z = float(_TMP71); + _TMP71 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0139.w = float(_TMP71); + _c1 = vec4(float(_r0139.x), float(_r0139.y), float(_r0139.z), float(_r0139.w)); + _TMP71 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0149.x = float(_TMP71); + _TMP71 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0149.y = float(_TMP71); + _TMP71 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0149.z = float(_TMP71); + _TMP71 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0149.w = float(_TMP71); + _e1 = vec4(float(_r0149.x), float(_r0149.y), float(_r0149.z), float(_r0149.w)); + _TMP71 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0159.x = float(_TMP71); + _TMP71 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0159.y = float(_TMP71); + _TMP71 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0159.z = float(_TMP71); + _TMP71 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0159.w = float(_TMP71); + _i4 = vec4(float(_r0159.x), float(_r0159.y), float(_r0159.z), float(_r0159.w)); + _TMP71 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0169.x = float(_TMP71); + _TMP71 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0169.y = float(_TMP71); + _TMP71 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0169.z = float(_TMP71); + _TMP71 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0169.w = float(_TMP71); + _i5 = vec4(float(_r0169.x), float(_r0169.y), float(_r0169.z), float(_r0169.w)); + _TMP71 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0179.x = float(_TMP71); + _TMP71 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0179.y = float(_TMP71); + _TMP71 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0179.z = float(_TMP71); + _TMP71 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0179.w = float(_TMP71); + _h5 = vec4(float(_r0179.x), float(_r0179.y), float(_r0179.z), float(_r0179.w)); + _a0193 = _b1.wxyz - _b1; + _TMP190 = abs(_a0193); + _TMP27 = bvec4(_TMP190.x < 1.50000000E+01, _TMP190.y < 1.50000000E+01, _TMP190.z < 1.50000000E+01, _TMP190.w < 1.50000000E+01); + _a0199 = _b1.wxyz - _c1; + _TMP196 = abs(_a0199); + _TMP28 = bvec4(_TMP196.x < 1.50000000E+01, _TMP196.y < 1.50000000E+01, _TMP196.z < 1.50000000E+01, _TMP196.w < 1.50000000E+01); + _a0205 = _b1.zwxy - _b1.yzwx; + _TMP202 = abs(_a0205); + _TMP29 = bvec4(_TMP202.x < 1.50000000E+01, _TMP202.y < 1.50000000E+01, _TMP202.z < 1.50000000E+01, _TMP202.w < 1.50000000E+01); + _a0211 = _b1.zwxy - _c1.zwxy; + _TMP208 = abs(_a0211); + _TMP30 = bvec4(_TMP208.x < 1.50000000E+01, _TMP208.y < 1.50000000E+01, _TMP208.z < 1.50000000E+01, _TMP208.w < 1.50000000E+01); + _a0217 = _e1 - _c1.wxyz; + _TMP214 = abs(_a0217); + _TMP31 = bvec4(_TMP214.x < 1.50000000E+01, _TMP214.y < 1.50000000E+01, _TMP214.z < 1.50000000E+01, _TMP214.w < 1.50000000E+01); + _a0223 = _b1.wxyz - _h5.yzwx; + _TMP220 = abs(_a0223); + _TMP32 = bvec4(_TMP220.x < 1.50000000E+01, _TMP220.y < 1.50000000E+01, _TMP220.z < 1.50000000E+01, _TMP220.w < 1.50000000E+01); + _a0229 = _b1.wxyz - _i4; + _TMP226 = abs(_a0229); + _TMP33 = bvec4(_TMP226.x < 1.50000000E+01, _TMP226.y < 1.50000000E+01, _TMP226.z < 1.50000000E+01, _TMP226.w < 1.50000000E+01); + _a0235 = _b1.zwxy - _h5; + _TMP232 = abs(_a0235); + _TMP34 = bvec4(_TMP232.x < 1.50000000E+01, _TMP232.y < 1.50000000E+01, _TMP232.z < 1.50000000E+01, _TMP232.w < 1.50000000E+01); + _a0241 = _b1.zwxy - _i5; + _TMP238 = abs(_a0241); + _TMP35 = bvec4(_TMP238.x < 1.50000000E+01, _TMP238.y < 1.50000000E+01, _TMP238.z < 1.50000000E+01, _TMP238.w < 1.50000000E+01); + _a0247 = _e1 - _c1.zwxy; + _TMP244 = abs(_a0247); + _TMP36 = bvec4(_TMP244.x < 1.50000000E+01, _TMP244.y < 1.50000000E+01, _TMP244.z < 1.50000000E+01, _TMP244.w < 1.50000000E+01); + _a0253 = _e1 - _c1; + _TMP250 = abs(_a0253); + _TMP37 = bvec4(_TMP250.x < 1.50000000E+01, _TMP250.y < 1.50000000E+01, _TMP250.z < 1.50000000E+01, _TMP250.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c1.z && _b1.y != _c1.z, _e1.y != _c1.w && _b1.z != _c1.w, _e1.z != _c1.x && _b1.w != _c1.x, _e1.w != _c1.y && _b1.x != _c1.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c1.x && _b1.x != _c1.x, _e1.y != _c1.y && _b1.y != _c1.y, _e1.z != _c1.z && _b1.z != _c1.z, _e1.w != _c1.w && _b1.w != _c1.w); + _a0259 = _e1 - _c1; + _TMP256 = abs(_a0259); + _a0263 = _e1 - _c1.zwxy; + _TMP260 = abs(_a0263); + _a0267 = _c1.wxyz - _h5; + _TMP264 = abs(_a0267); + _a0271 = _c1.wxyz - _h5.yzwx; + _TMP268 = abs(_a0271); + _a0275 = _b1.zwxy - _b1.wxyz; + _TMP272 = abs(_a0275); + _TMP38 = _TMP256 + _TMP260 + _TMP264 + _TMP268 + 4.00000000E+00*_TMP272; + _a0281 = _b1.zwxy - _b1.yzwx; + _TMP278 = abs(_a0281); + _a0285 = _b1.zwxy - _i5; + _TMP282 = abs(_a0285); + _a0289 = _b1.wxyz - _i4; + _TMP286 = abs(_a0289); + _a0293 = _b1.wxyz - _b1; + _TMP290 = abs(_a0293); + _a0297 = _e1 - _c1.wxyz; + _TMP294 = abs(_a0297); + _TMP39 = _TMP278 + _TMP282 + _TMP286 + _TMP290 + 4.00000000E+00*_TMP294; + _edr = bvec4(_TMP38.x < _TMP39.x && _interp_restriction_lv1.x, _TMP38.y < _TMP39.y && _interp_restriction_lv1.y, _TMP38.z < _TMP39.z && _interp_restriction_lv1.z, _TMP38.w < _TMP39.w && _interp_restriction_lv1.w); + _a0301 = _b1.wxyz - _c1.zwxy; + _TMP298 = abs(_a0301); + _a0305 = _b1.zwxy - _c1; + _TMP302 = abs(_a0305); + _edr_left = bvec4((2.00000000E+00*_TMP298).x <= _TMP302.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP298).y <= _TMP302.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP298).z <= _TMP302.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP298).w <= _TMP302.w && _interp_restriction_lv2_left.w); + _a0309 = _b1.wxyz - _c1.zwxy; + _TMP306 = abs(_a0309); + _a0313 = _b1.zwxy - _c1; + _TMP310 = abs(_a0313); + _edr_up = bvec4(_TMP306.x >= (2.00000000E+00*_TMP310).x && _interp_restriction_lv2_up.x, _TMP306.y >= (2.00000000E+00*_TMP310).y && _interp_restriction_lv2_up.y, _TMP306.z >= (2.00000000E+00*_TMP310).z && _interp_restriction_lv2_up.z, _TMP306.w >= (2.00000000E+00*_TMP310).w && _interp_restriction_lv2_up.w); + _a0317 = _e1 - _b1.wxyz; + _TMP314 = abs(_a0317); + _a0321 = _e1 - _b1.zwxy; + _TMP318 = abs(_a0321); + _px = bvec4(_TMP314.x <= _TMP318.x, _TMP314.y <= _TMP318.y, _TMP314.z <= _TMP318.z, _TMP314.w <= _TMP318.w); + if (_px.x) { + _TMP46 = _F; + } else { + _TMP46 = _H; + } + if (_px.y) { + _TMP47 = _B2; + } else { + _TMP47 = _F; + } + if (_px.z) { + _TMP48 = _D; + } else { + _TMP48 = _B2; + } + if (_px.w) { + _TMP49 = _H; + } else { + _TMP49 = _D; + } + _n1 = vec3(float(_B11.x), float(_B11.y), float(_B11.z)); + _n2 = vec3(float(_B2.x), float(_B2.y), float(_B2.z)); + _s = vec3(float(_E.x), float(_E.y), float(_E.z)); + _n3 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _n4 = vec3(float(_H5.x), float(_H5.y), float(_H5.z)); + _aa = _n2 - _n1; + _bb = _s - _n2; + _cc = _n3 - _s; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s.x < 5.00000000E-01 ? (2.00000000E+00*_s).x : (2.00000000E+00*(1.00000000E+00 - _s)).x, _s.y < 5.00000000E-01 ? (2.00000000E+00*_s).y : (2.00000000E+00*(1.00000000E+00 - _s)).y, _s.z < 5.00000000E-01 ? (2.00000000E+00*_s).z : (2.00000000E+00*(1.00000000E+00 - _s)).z); + _TMP50 = abs(_bb); + _b0325 = 2.00000000E+00*_TMP50; + _m = min(_m, _b0325); + _TMP51 = abs(_cc); + _b0329 = 2.00000000E+00*_TMP51; + _m = min(_m, _b0329); + _TMP52 = abs(_bb); + _TMP53 = abs(_cc); + _TMP54 = abs(_bb); + _TMP55 = abs(_cc); + _sim1 = bvec3((_TMP52*2.00000000E+00).x > 4.00000006E-01 || (_TMP53*2.00000000E+00).x > 4.00000006E-01 || (_TMP54*2.00000000E+00).x <= 0.00000000E+00 || (_TMP55*2.00000000E+00).x <= 0.00000000E+00, (_TMP52*2.00000000E+00).y > 4.00000006E-01 || (_TMP53*2.00000000E+00).y > 4.00000006E-01 || (_TMP54*2.00000000E+00).y <= 0.00000000E+00 || (_TMP55*2.00000000E+00).y <= 0.00000000E+00, (_TMP52*2.00000000E+00).z > 4.00000006E-01 || (_TMP53*2.00000000E+00).z > 4.00000006E-01 || (_TMP54*2.00000000E+00).z <= 0.00000000E+00 || (_TMP55*2.00000000E+00).z <= 0.00000000E+00); + _a0339 = -_m; + _TMP70 = min(_m, _t); + _TMP338 = max(_a0339, _TMP70); + _s1 = (2.00000000E+00*_fp.y - 1.00000000E+00)*_TMP338 + _s; + _n1 = vec3(float(_D0.x), float(_D0.y), float(_D0.z)); + _n2 = vec3(float(_D.x), float(_D.y), float(_D.z)); + _n3 = vec3(float(_F.x), float(_F.y), float(_F.z)); + _n4 = vec3(float(_F4.x), float(_F4.y), float(_F4.z)); + _aa = _n2 - _n1; + _bb = _s1 - _n2; + _cc = _n3 - _s1; + _dd = _n4 - _n3; + _t = (7.00000000E+00*(_bb + _cc) - 3.00000000E+00*(_aa + _dd))/1.60000000E+01; + _m = vec3(_s1.x < 5.00000000E-01 ? (2.00000000E+00*_s1).x : (2.00000000E+00*(1.00000000E+00 - _s1)).x, _s1.y < 5.00000000E-01 ? (2.00000000E+00*_s1).y : (2.00000000E+00*(1.00000000E+00 - _s1)).y, _s1.z < 5.00000000E-01 ? (2.00000000E+00*_s1).z : (2.00000000E+00*(1.00000000E+00 - _s1)).z); + _TMP56 = abs(_bb); + _b0347 = 2.00000000E+00*_TMP56; + _m = min(_m, _b0347); + _TMP57 = abs(_cc); + _b0351 = 2.00000000E+00*_TMP57; + _m = min(_m, _b0351); + _TMP58 = abs(_bb); + _TMP59 = abs(_cc); + _TMP60 = abs(_bb); + _TMP61 = abs(_cc); + _sim2 = bvec3((_TMP58*2.00000000E+00).x > 4.00000006E-01 || (_TMP59*2.00000000E+00).x > 4.00000006E-01 || (_TMP60*2.00000000E+00).x <= 0.00000000E+00 || (_TMP61*2.00000000E+00).x <= 0.00000000E+00, (_TMP58*2.00000000E+00).y > 4.00000006E-01 || (_TMP59*2.00000000E+00).y > 4.00000006E-01 || (_TMP60*2.00000000E+00).y <= 0.00000000E+00 || (_TMP61*2.00000000E+00).y <= 0.00000000E+00, (_TMP58*2.00000000E+00).z > 4.00000006E-01 || (_TMP59*2.00000000E+00).z > 4.00000006E-01 || (_TMP60*2.00000000E+00).z <= 0.00000000E+00 || (_TMP61*2.00000000E+00).z <= 0.00000000E+00); + _a0361 = -_m; + _TMP70 = min(_m, _t); + _TMP360 = max(_a0361, _TMP70); + _s0 = (2.00000000E+00*_fp.x - 1.00000000E+00)*_TMP360 + _s1; + _res = vec3(float(_s0.x), float(_s0.y), float(_s0.z)); + _TMP62 = _sim1.x || _sim1.y || _sim1.z; + _TMP63 = _sim2.x || _sim2.y || _sim2.z; + if (_TMP62 && _TMP63) { + if (_fp.x >= 5.00000000E-01) { + if (_fp.y >= 5.00000000E-01) { + if (_edr.x && _edr_left.x && _edr_up.x) { + _res = _E + 8.33496094E-01*(_TMP46 - _E); + } else { + if (_edr.x && (_edr_left.x || _edr_up.x)) { + _res = _E + 7.50000000E-01*(_TMP46 - _E); + } else { + if (_edr.y && _edr_left.y && _edr.w && _edr_up.w) { + _res = _E + 2.50000000E-01*(_TMP49 - _E); + } else { + if (_edr.y && _edr_left.y) { + _res = _E + 2.50000000E-01*(_TMP47 - _E); + } else { + if (_edr.w && _edr_up.w) { + _res = _E + 2.50000000E-01*(_TMP49 - _E); + } else { + if (_edr.x) { + _res = _E + 5.00000000E-01*(_TMP46 - _E); + } + } + } + } + } + } + } else { + if (_edr.y && _edr_left.y && _edr_up.y) { + _res = _E + 8.33496094E-01*(_TMP47 - _E); + } else { + if (_edr.y && (_edr_left.y || _edr_up.y)) { + _res = _E + 7.50000000E-01*(_TMP47 - _E); + } else { + if (_edr.z && _edr_left.z && _edr.x && _edr_up.x) { + _res = _E + 2.50000000E-01*(_TMP46 - _E); + } else { + if (_edr.z && _edr_left.z) { + _res = _E + 2.50000000E-01*(_TMP48 - _E); + } else { + if (_edr.x && _edr_up.x) { + _res = _E + 2.50000000E-01*(_TMP46 - _E); + } else { + if (_edr.y) { + _res = _E + 5.00000000E-01*(_TMP47 - _E); + } + } + } + } + } + } + } + } else { + if (_fp.y >= 5.00000000E-01) { + if (_edr.w && _edr_left.w && _edr_up.w) { + _res = _E + 8.33496094E-01*(_TMP49 - _E); + } else { + if (_edr.w && (_edr_left.w || _edr_up.w)) { + _res = _E + 7.50000000E-01*(_TMP49 - _E); + } else { + if (_edr.x && _edr_left.x && _edr.z && _edr_up.z) { + _res = _E + 2.50000000E-01*(_TMP48 - _E); + } else { + if (_edr.x && _edr_left.x) { + _res = _E + 2.50000000E-01*(_TMP46 - _E); + } else { + if (_edr.z && _edr_up.z) { + _res = _E + 2.50000000E-01*(_TMP48 - _E); + } else { + if (_edr.w) { + _res = _E + 5.00000000E-01*(_TMP49 - _E); + } + } + } + } + } + } + } else { + if (_edr.z && _edr_left.z && _edr_up.z) { + _res = _E + 8.33496094E-01*(_TMP48 - _E); + } else { + if (_edr.z && (_edr_left.z || _edr_up.z)) { + _res = _E + 7.50000000E-01*(_TMP48 - _E); + } else { + if (_edr.w && _edr_left.w && _edr.y && _edr_up.y) { + _res = _E + 2.50000000E-01*(_TMP47 - _E); + } else { + if (_edr.w && _edr_left.w) { + _res = _E + 2.50000000E-01*(_TMP49 - _E); + } else { + if (_edr.y && _edr_up.y) { + _res = _E + 2.50000000E-01*(_TMP47 - _E); + } else { + if (_edr.z) { + _res = _E + 5.00000000E-01*(_TMP48 - _E); + } + } + } + } + } + } + } + } + } + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/2xBR-v2.2.glsl b/ios/Assets/shaders_glsl/xBR/2xBR-v2.2.glsl new file mode 100644 index 0000000000..f7fe667d16 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/2xBR-v2.2.glsl @@ -0,0 +1,561 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0003; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec3 _TMP28; +vec3 _TMP30; +vec3 _TMP29; +float _TMP31; +float _TMP32; +vec4 _TMP24; +vec4 _TMP23; +vec4 _TMP22; +vec4 _TMP21; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec2 _c0058; +vec2 _c0060; +vec2 _c0062; +vec2 _c0064; +vec2 _c0066; +vec2 _c0068; +vec2 _c0070; +vec2 _c0072; +vec2 _c0074; +vec2 _c0076; +vec2 _c0078; +vec2 _c0080; +vec2 _c0082; +vec2 _c0084; +vec2 _c0086; +vec2 _c0088; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _ps; + vec2 _dx; + vec2 _dy; + vec2 _pixcoord; + vec2 _fp; + vec2 _d11; + vec3 _E[4]; + vec3 _A; + vec3 _B; + vec3 _C; + vec3 _D; + vec3 _E0; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _P00; + vec3 _P04; + vec3 _P40; + vec3 _P44; + vec3 _A1; + vec3 _B1; + vec3 _C1; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec3 _G5; + vec3 _H5; + vec3 _I5; + float _a; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + float _p00; + float _p04; + float _p40; + float _p44; + float _a1; + float _b1; + float _c1; + float _a0; + float _d0; + float _g0; + float _c4; + float _f4; + float _i4; + float _g5; + float _h5; + float _i5; + vec3 _res; + output_dummy _OUT; + _ps = vec2(9.99899983E-01/TextureSize.x, 9.99899983E-01/TextureSize.y); + _dx = vec2(float(_ps.x), 0.00000000E+00); + _dy = vec2(0.00000000E+00, float(_ps.y)); + _pixcoord = TEX0.xy/_ps; + _fp = fract(_pixcoord); + _d11 = TEX0.xy - _fp*_ps; + _c0040 = (_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP0 = texture2D(Texture, _c0040); + _A = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0042 = _d11 - vec2(float(_dy.x), float(_dy.y)); + _TMP1 = texture2D(Texture, _c0042); + _B = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0044 = (_d11 + vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP2 = texture2D(Texture, _c0044); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0046 = _d11 - vec2(float(_dx.x), float(_dx.y)); + _TMP3 = texture2D(Texture, _c0046); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, _d11); + _E0 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0050 = _d11 + vec2(float(_dx.x), float(_dx.y)); + _TMP5 = texture2D(Texture, _c0050); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0052 = (_d11 - vec2(float(_dx.x), float(_dx.y))) + vec2(float(_dy.x), float(_dy.y)); + _TMP6 = texture2D(Texture, _c0052); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0054 = _d11 + vec2(float(_dy.x), float(_dy.y)); + _TMP7 = texture2D(Texture, _c0054); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0056 = _d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP8 = texture2D(Texture, _c0056); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0058 = (((_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP9 = texture2D(Texture, _c0058); + _P00 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0060 = ((_d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP10 = texture2D(Texture, _c0060); + _P04 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0062 = ((_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dx.x), float(_dx.y))) + vec2(float(_dy.x), float(_dy.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP11 = texture2D(Texture, _c0062); + _P40 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0064 = _d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dy.x), float(_dy.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP12 = texture2D(Texture, _c0064); + _P44 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0066 = ((_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP13 = texture2D(Texture, _c0066); + _A1 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0068 = (_d11 - vec2(float(_dy.x), float(_dy.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP14 = texture2D(Texture, _c0068); + _B1 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0070 = ((_d11 + vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP15 = texture2D(Texture, _c0070); + _C1 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0072 = ((_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP16 = texture2D(Texture, _c0072); + _A0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _c0074 = (_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dx.x), float(_dx.y)); + _TMP17 = texture2D(Texture, _c0074); + _D0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _c0076 = ((_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dx.x), float(_dx.y))) + vec2(float(_dy.x), float(_dy.y)); + _TMP18 = texture2D(Texture, _c0076); + _G0 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _c0078 = (_d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP19 = texture2D(Texture, _c0078); + _C4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _c0080 = _d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dx.x), float(_dx.y)); + _TMP20 = texture2D(Texture, _c0080); + _F4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _c0082 = _d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP21 = texture2D(Texture, _c0082); + _I4 = vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)); + _c0084 = (_d11 - vec2(float(_dx.x), float(_dx.y))) + vec2(float(_dy.x), float(_dy.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP22 = texture2D(Texture, _c0084); + _G5 = vec3(float(_TMP22.x), float(_TMP22.y), float(_TMP22.z)); + _c0086 = _d11 + vec2(float(_dy.x), float(_dy.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP23 = texture2D(Texture, _c0086); + _H5 = vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)); + _c0088 = _d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dy.x), float(_dy.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP24 = texture2D(Texture, _c0088); + _I5 = vec3(float(_TMP24.x), float(_TMP24.y), float(_TMP24.z)); + _E[3] = _E0; + _E[2] = _E0; + _E[1] = _E0; + _E[0] = _E0; + _TMP32 = dot(vec3(float(_A.x), float(_A.y), float(_A.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _a = float(_TMP31); + _TMP32 = dot(vec3(float(_B.x), float(_B.y), float(_B.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _b = float(_TMP31); + _TMP32 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c = float(_TMP31); + _TMP32 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _d = float(_TMP31); + _TMP32 = dot(vec3(float(_E0.x), float(_E0.y), float(_E0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _e = float(_TMP31); + _TMP32 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _f = float(_TMP31); + _TMP32 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _g = float(_TMP31); + _TMP32 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _h = float(_TMP31); + _TMP32 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _i = float(_TMP31); + _TMP32 = dot(vec3(float(_P00.x), float(_P00.y), float(_P00.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _p00 = float(_TMP31); + _TMP32 = dot(vec3(float(_P04.x), float(_P04.y), float(_P04.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _p04 = float(_TMP31); + _TMP32 = dot(vec3(float(_P40.x), float(_P40.y), float(_P40.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _p40 = float(_TMP31); + _TMP32 = dot(vec3(float(_P44.x), float(_P44.y), float(_P44.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _p44 = float(_TMP31); + _TMP32 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _a1 = float(_TMP31); + _TMP32 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _b1 = float(_TMP31); + _TMP32 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c1 = float(_TMP31); + _TMP32 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _a0 = float(_TMP31); + _TMP32 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _d0 = float(_TMP31); + _TMP32 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _g0 = float(_TMP31); + _TMP32 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c4 = float(_TMP31); + _TMP32 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _f4 = float(_TMP31); + _TMP32 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _i4 = float(_TMP31); + _TMP32 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _g5 = float(_TMP31); + _TMP32 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _h5 = float(_TMP31); + _TMP32 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _i5 = float(_TMP31); + if (_e != _h && _h == _f && (_e != _i && (_e != _b || _e != _d || _b == _c1 && _d == _g0 || _f != _b && _f != _c || _h != _d && _h != _g) || _e == _g && (_i == _h || _e == _d || _h != _d) || _e == _c && (_i == _h || _e == _b || _f != _b))) { + if (_e == _c && _e == _d && _h == _g) { + if (_d == _d0 && _g == _g0) { + _E[3] = _E0 + 8.33496094E-01*(_H - _E0); + _E[2] = _E0 + 5.00000000E-01*(_H - _E0); + } else { + _E[3] = _E0 + 7.50000000E-01*(_H - _E0); + _E[2] = (_E0 + _H) - _E[3]; + } + } else { + if (_e == _g && _e == _b && _f == _c) { + if (_b == _b1 && _c == _c1) { + _E[3] = _E0 + 8.33496094E-01*(_F - _E0); + _E[1] = (_E0 + _F)*5.00000000E-01; + } else { + _E[3] = _E0 + 7.50000000E-01*(_F - _E0); + _E[1] = (_E0 + _F) - _E[3]; + } + } else { + _E[3] = (_E0 + _F)*5.00000000E-01; + } + } + } else { + if (_f != _i && _i == _f4 && (_f != _i4 || _i != _p44) && _f == _c4 && _f == _e && _i == _h && _e == _d && _h == _g) { + _E[3] = _E0 + 1.66748047E-01*(_H - _E0); + } else { + if (_h != _i && _i == _h5 && (_h != _i5 || _i != _p44) && _h == _g5 && _h == _e && _i == _f && _e == _b && _f == _c) { + _E[3] = _E0 + 1.66748047E-01*(_F - _E0); + } else { + if (_e != _h && _e != _f && _f != _i && _e == _c && (_h == _i && _f != _b || _e != _i && _f == _c4)) { + _E[3] = (_E0 + _F)*5.00000000E-01; + } else { + if (_e != _h && _e != _f && _h != _i && _e == _g && (_f == _i && _h != _d || _e != _i && _h == _g5)) { + _E[3] = (_E0 + _H)*5.00000000E-01; + } else { + if (_e != _h && _e != _i && _e != _f && _g == _e && _e == _c) { + _E[3] = (_F + _H)*5.00000000E-01; + } + } + } + } + } + } + if (_e != _f && _f == _b && (_e != _c && (_e != _d || _e != _h || _d == _a0 && _h == _i5 || _b != _d && _b != _a || _f != _h && _f != _i) || _e == _i && (_c == _f || _e == _h || _f != _h) || _e == _a && (_c == _f || _e == _d || _b != _d))) { + if (_e == _a && _e == _h && _f == _i) { + if (_h == _h5 && _i == _i5) { + _E[1] = _E[1] + 8.33496094E-01*(_F - _E[1]); + _E[3] = _E[3] + 5.00000000E-01*(_F - _E[3]); + } else { + _E[1] = _E[1] + 7.50000000E-01*(_F - _E[1]); + _E[3] = (_E[3] + _F) - _E[1]; + } + } else { + if (_e == _i && _e == _d && _b == _a) { + if (_d == _d0 && _a == _a0) { + _E[1] = _E[1] + 8.33496094E-01*(_B - _E[1]); + _E[0] = (_E0 + _B)*5.00000000E-01; + } else { + _E[1] = _E[1] + 7.50000000E-01*(_B - _E[1]); + _E[0] = (_E0 + _B) - _E[1]; + } + } else { + _E[1] = (_E[1] + _B)*5.00000000E-01; + } + } + } else { + if (_b != _c && _c == _b1 && (_b != _c1 || _c != _p04) && _b == _a1 && _b == _e && _c == _f && _e == _h && _f == _i) { + _E[1] = _E[1] + 1.66748047E-01*(_F - _E[1]); + } else { + if (_f != _c && _c == _f4 && (_f != _c4 || _c != _p04) && _f == _i4 && _f == _e && _c == _b && _e == _d && _b == _a) { + _E[1] = _E[1] + 1.66748047E-01*(_B - _E[1]); + } else { + if (_e != _f && _e != _b && _b != _c && _e == _a && (_f == _c && _b != _d || _e != _c && _b == _a1)) { + _E[1] = (_E[1] + _B)*5.00000000E-01; + } else { + if (_e != _f && _e != _b && _f != _c && _e == _i && (_b == _c && _f != _h || _e != _c && _f == _i4)) { + _E[1] = (_E[1] + _F)*5.00000000E-01; + } else { + if (_e != _f && _e != _c && _e != _b && _i == _e && _e == _a) { + _E[1] = (_B + _F)*5.00000000E-01; + } + } + } + } + } + } + if (_e != _b && _b == _d && (_e != _a && (_e != _h || _e != _f || _h == _g5 && _f == _c4 || _d != _h && _d != _g || _b != _f && _b != _c) || _e == _c && (_a == _b || _e == _f || _b != _f) || _e == _g && (_a == _b || _e == _h || _d != _h))) { + if (_e == _g && _e == _f && _b == _c) { + if (_f == _f4 && _c == _c4) { + _E[0] = _E[0] + 8.33496094E-01*(_B - _E[0]); + _E[1] = _E[1] + 5.00000000E-01*(_B - _E[1]); + } else { + _E[0] = _E[0] + 7.50000000E-01*(_B - _E[0]); + _E[1] = (_E[1] + _B) - _E[0]; + } + } else { + if (_e == _c && _e == _h && _d == _g) { + if (_h == _h5 && _g == _g5) { + _E[0] = _E[0] + 8.33496094E-01*(_D - _E[0]); + _E[2] = (_E[2] + _D)*5.00000000E-01; + } else { + _E[0] = _E[0] + 7.50000000E-01*(_D - _E[0]); + _E[2] = (_E[2] + _D) - _E[0]; + } + } else { + _E[0] = (_E[0] + _D)*5.00000000E-01; + } + } + } else { + if (_d != _a && _a == _d0 && (_d != _a0 || _a != _p00) && _d == _g0 && _d == _e && _a == _b && _e == _f && _b == _c) { + _E[0] = _E[0] + 1.66748047E-01*(_B - _E[0]); + } else { + if (_b != _a && _a == _b1 && (_b != _a1 || _a != _p00) && _b == _c1 && _b == _e && _a == _d && _e == _h && _d == _g) { + _E[0] = _E[0] + 1.66748047E-01*(_D - _E[0]); + } else { + if (_e != _b && _e != _d && _d != _a && _e == _g && (_b == _a && _d != _h || _e != _a && _d == _g0)) { + _E[0] = (_E[0] + _D)*5.00000000E-01; + } else { + if (_e != _b && _e != _d && _b != _a && _e == _c && (_d == _a && _b != _f || _e != _a && _b == _c1)) { + _E[0] = (_E[0] + _B)*5.00000000E-01; + } else { + if (_e != _b && _e != _a && _e != _d && _c == _e && _e == _g) { + _E[0] = (_D + _B)*5.00000000E-01; + } + } + } + } + } + } + if (_e != _d && _d == _h && (_e != _g && (_e != _f || _e != _b || _f == _i4 && _b == _a1 || _h != _f && _h != _i || _d != _b && _d != _a) || _e == _a && (_g == _d || _e == _b || _d != _b) || _e == _i && (_g == _d || _e == _f || _h != _f))) { + if (_e == _i && _e == _b && _d == _a) { + if (_b == _b1 && _a == _a1) { + _E[2] = _E[2] + 8.33496094E-01*(_D - _E[2]); + _E[0] = _E[0] + 5.00000000E-01*(_D - _E[0]); + } else { + _E[2] = _E[2] + 7.50000000E-01*(_D - _E[2]); + _E[0] = (_E[0] + _D) - _E[2]; + } + } else { + if (_e == _a && _e == _f && _h == _i) { + if (_f == _f4 && _i == _i4) { + _E[2] = _E[2] + 8.33496094E-01*(_H - _E[2]); + _E[3] = (_E[3] + _H)*5.00000000E-01; + } else { + _E[2] = _E[2] + 7.50000000E-01*(_H - _E[2]); + _E[3] = (_E[3] + _H) - _E[2]; + } + } else { + _E[2] = (_E[2] + _H)*5.00000000E-01; + } + } + } else { + if (_h != _g && _g == _h5 && (_h != _g5 || _g != _p40) && _h == _i5 && _h == _e && _g == _d && _e == _b && _d == _a) { + _E[2] = _E[2] + 1.66748047E-01*(_D - _E[2]); + } else { + if (_d != _g && _g == _d0 && (_d != _g0 || _g != _p40) && _d == _a0 && _d == _e && _g == _h && _e == _f && _h == _i) { + _E[2] = _E[2] + 1.66748047E-01*(_H - _E[2]); + } else { + if (_e != _d && _e != _h && _h != _g && _e == _i && (_d == _g && _h != _f || _e != _g && _h == _i5)) { + _E[2] = (_E[2] + _H)*5.00000000E-01; + } else { + if (_e != _d && _e != _h && _d != _g && _e == _a && (_h == _g && _d != _b || _e != _g && _d == _a0)) { + _E[2] = (_E[2] + _D)*5.00000000E-01; + } else { + if (_e != _d && _e != _g && _e != _h && _a == _e && _e == _i) { + _E[2] = (_H + _D)*5.00000000E-01; + } + } + } + } + } + } + if (_fp.x < 5.00000000E-01) { + if (_fp.y < 5.00000000E-01) { + _TMP29 = _E[0]; + } else { + _TMP29 = _E[2]; + } + _TMP28 = _TMP29; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP30 = _E[1]; + } else { + _TMP30 = _E[3]; + } + _TMP28 = _TMP30; + } + _res = vec3(float(_TMP28.x), float(_TMP28.y), float(_TMP28.z)); + _OUT._color1 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _OUT._color1; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/2xBR-v3.7c-dark.glsl b/ios/Assets/shaders_glsl/xBR/2xBR-v3.7c-dark.glsl new file mode 100644 index 0000000000..b515670126 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/2xBR-v3.7c-dark.glsl @@ -0,0 +1,532 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 VARpos; +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 VARposition1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 VARposition1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; + vec2 VARpos; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARpos = TexCoord.xy*TextureSize; + VARposition1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + VARpos = _OUT.VARpos; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 VARpos; +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; + vec2 VARpos; +}; +vec4 _ret_0; +float _TMP57; +float _TMP55; +float _TMP56; +float _TMP65; +float _TMP64; +float _TMP54; +vec3 _TMP46; +vec3 _TMP48; +vec3 _TMP50; +vec3 _TMP52; +vec3 _TMP53; +vec3 _TMP51; +vec3 _TMP49; +vec3 _TMP47; +vec4 _TMP39; +vec4 _TMP38; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +vec4 _r0123; +vec4 _r0133; +vec4 _r0143; +vec4 _r0153; +vec4 _r0163; +vec4 _r0173; +vec4 _TMP184; +vec4 _a0187; +vec4 _TMP190; +vec4 _a0193; +vec4 _TMP196; +vec4 _a0199; +vec4 _TMP202; +vec4 _a0205; +vec4 _TMP208; +vec4 _a0211; +vec4 _TMP214; +vec4 _a0217; +vec4 _TMP220; +vec4 _a0223; +vec4 _TMP226; +vec4 _a0229; +vec4 _TMP232; +vec4 _a0235; +vec4 _TMP238; +vec4 _a0241; +vec4 _TMP244; +vec4 _a0247; +vec4 _TMP250; +vec4 _a0253; +vec4 _TMP254; +vec4 _a0257; +vec4 _TMP258; +vec4 _a0261; +vec4 _TMP262; +vec4 _a0265; +vec4 _TMP266; +vec4 _a0269; +vec4 _TMP272; +vec4 _a0275; +vec4 _TMP276; +vec4 _a0279; +vec4 _TMP280; +vec4 _a0283; +vec4 _TMP284; +vec4 _a0287; +vec4 _TMP288; +vec4 _a0291; +vec4 _TMP292; +vec4 _a0295; +vec4 _TMP296; +vec4 _a0299; +vec4 _TMP300; +vec4 _a0303; +vec4 _TMP304; +vec4 _a0307; +vec4 _TMP308; +vec4 _a0311; +vec4 _TMP312; +vec4 _a0315; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c1; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec3 _res; + _fp = fract(VARpos); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP64 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0123.x = float(_TMP64); + _TMP64 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0123.y = float(_TMP64); + _TMP64 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0123.z = float(_TMP64); + _TMP64 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0123.w = float(_TMP64); + _b1 = vec4(float(_r0123.x), float(_r0123.y), float(_r0123.z), float(_r0123.w)); + _TMP64 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.x = float(_TMP64); + _TMP64 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.y = float(_TMP64); + _TMP64 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.z = float(_TMP64); + _TMP64 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.w = float(_TMP64); + _c1 = vec4(float(_r0133.x), float(_r0133.y), float(_r0133.z), float(_r0133.w)); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.x = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.y = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.z = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.w = float(_TMP64); + _e1 = vec4(float(_r0143.x), float(_r0143.y), float(_r0143.z), float(_r0143.w)); + _TMP64 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.x = float(_TMP64); + _TMP64 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.y = float(_TMP64); + _TMP64 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.z = float(_TMP64); + _TMP64 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.w = float(_TMP64); + _i4 = vec4(float(_r0153.x), float(_r0153.y), float(_r0153.z), float(_r0153.w)); + _TMP64 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.x = float(_TMP64); + _TMP64 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.y = float(_TMP64); + _TMP64 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.z = float(_TMP64); + _TMP64 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.w = float(_TMP64); + _i5 = vec4(float(_r0163.x), float(_r0163.y), float(_r0163.z), float(_r0163.w)); + _TMP64 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.x = float(_TMP64); + _TMP64 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.y = float(_TMP64); + _TMP64 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.z = float(_TMP64); + _TMP64 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.w = float(_TMP64); + _h5 = vec4(float(_r0173.x), float(_r0173.y), float(_r0173.z), float(_r0173.w)); + _fx = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).x > 1.25000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).y > 2.50000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).z > -7.50000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).w > 2.50000000E-01); + _fx_left = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).x > 7.50000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).y > 5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).z > -7.50000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).w > -5.00000000E-01); + _fx_up = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).x > 1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).y > -2.50000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).z > -1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).w > 2.50000000E-01); + _a0187 = _b1.wxyz - _b1; + _TMP184 = abs(_a0187); + _TMP27 = bvec4(_TMP184.x < 1.50000000E+01, _TMP184.y < 1.50000000E+01, _TMP184.z < 1.50000000E+01, _TMP184.w < 1.50000000E+01); + _a0193 = _b1.wxyz - _c1; + _TMP190 = abs(_a0193); + _TMP28 = bvec4(_TMP190.x < 1.50000000E+01, _TMP190.y < 1.50000000E+01, _TMP190.z < 1.50000000E+01, _TMP190.w < 1.50000000E+01); + _a0199 = _b1.zwxy - _b1.yzwx; + _TMP196 = abs(_a0199); + _TMP29 = bvec4(_TMP196.x < 1.50000000E+01, _TMP196.y < 1.50000000E+01, _TMP196.z < 1.50000000E+01, _TMP196.w < 1.50000000E+01); + _a0205 = _b1.zwxy - _c1.zwxy; + _TMP202 = abs(_a0205); + _TMP30 = bvec4(_TMP202.x < 1.50000000E+01, _TMP202.y < 1.50000000E+01, _TMP202.z < 1.50000000E+01, _TMP202.w < 1.50000000E+01); + _a0211 = _e1 - _c1.wxyz; + _TMP208 = abs(_a0211); + _TMP31 = bvec4(_TMP208.x < 1.50000000E+01, _TMP208.y < 1.50000000E+01, _TMP208.z < 1.50000000E+01, _TMP208.w < 1.50000000E+01); + _a0217 = _b1.wxyz - _h5.yzwx; + _TMP214 = abs(_a0217); + _TMP32 = bvec4(_TMP214.x < 1.50000000E+01, _TMP214.y < 1.50000000E+01, _TMP214.z < 1.50000000E+01, _TMP214.w < 1.50000000E+01); + _a0223 = _b1.wxyz - _i4; + _TMP220 = abs(_a0223); + _TMP33 = bvec4(_TMP220.x < 1.50000000E+01, _TMP220.y < 1.50000000E+01, _TMP220.z < 1.50000000E+01, _TMP220.w < 1.50000000E+01); + _a0229 = _b1.zwxy - _h5; + _TMP226 = abs(_a0229); + _TMP34 = bvec4(_TMP226.x < 1.50000000E+01, _TMP226.y < 1.50000000E+01, _TMP226.z < 1.50000000E+01, _TMP226.w < 1.50000000E+01); + _a0235 = _b1.zwxy - _i5; + _TMP232 = abs(_a0235); + _TMP35 = bvec4(_TMP232.x < 1.50000000E+01, _TMP232.y < 1.50000000E+01, _TMP232.z < 1.50000000E+01, _TMP232.w < 1.50000000E+01); + _a0241 = _e1 - _c1.zwxy; + _TMP238 = abs(_a0241); + _TMP36 = bvec4(_TMP238.x < 1.50000000E+01, _TMP238.y < 1.50000000E+01, _TMP238.z < 1.50000000E+01, _TMP238.w < 1.50000000E+01); + _a0247 = _e1 - _c1; + _TMP244 = abs(_a0247); + _TMP37 = bvec4(_TMP244.x < 1.50000000E+01, _TMP244.y < 1.50000000E+01, _TMP244.z < 1.50000000E+01, _TMP244.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c1.z && _b1.y != _c1.z, _e1.y != _c1.w && _b1.z != _c1.w, _e1.z != _c1.x && _b1.w != _c1.x, _e1.w != _c1.y && _b1.x != _c1.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c1.x && _b1.x != _c1.x, _e1.y != _c1.y && _b1.y != _c1.y, _e1.z != _c1.z && _b1.z != _c1.z, _e1.w != _c1.w && _b1.w != _c1.w); + _a0253 = _e1 - _c1; + _TMP250 = abs(_a0253); + _a0257 = _e1 - _c1.zwxy; + _TMP254 = abs(_a0257); + _a0261 = _c1.wxyz - _h5; + _TMP258 = abs(_a0261); + _a0265 = _c1.wxyz - _h5.yzwx; + _TMP262 = abs(_a0265); + _a0269 = _b1.zwxy - _b1.wxyz; + _TMP266 = abs(_a0269); + _TMP38 = _TMP250 + _TMP254 + _TMP258 + _TMP262 + 4.00000000E+00*_TMP266; + _a0275 = _b1.zwxy - _b1.yzwx; + _TMP272 = abs(_a0275); + _a0279 = _b1.zwxy - _i5; + _TMP276 = abs(_a0279); + _a0283 = _b1.wxyz - _i4; + _TMP280 = abs(_a0283); + _a0287 = _b1.wxyz - _b1; + _TMP284 = abs(_a0287); + _a0291 = _e1 - _c1.wxyz; + _TMP288 = abs(_a0291); + _TMP39 = _TMP272 + _TMP276 + _TMP280 + _TMP284 + 4.00000000E+00*_TMP288; + _edr = bvec4(_TMP38.x < _TMP39.x && _interp_restriction_lv1.x, _TMP38.y < _TMP39.y && _interp_restriction_lv1.y, _TMP38.z < _TMP39.z && _interp_restriction_lv1.z, _TMP38.w < _TMP39.w && _interp_restriction_lv1.w); + _a0295 = _b1.wxyz - _c1.zwxy; + _TMP292 = abs(_a0295); + _a0299 = _b1.zwxy - _c1; + _TMP296 = abs(_a0299); + _edr_left = bvec4((2.00000000E+00*_TMP292).x < _TMP296.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP292).y < _TMP296.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP292).z < _TMP296.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP292).w < _TMP296.w && _interp_restriction_lv2_left.w); + _a0303 = _b1.wxyz - _c1.zwxy; + _TMP300 = abs(_a0303); + _a0307 = _b1.zwxy - _c1; + _TMP304 = abs(_a0307); + _edr_up = bvec4(_TMP300.x > (2.00000000E+00*_TMP304).x && _interp_restriction_lv2_up.x, _TMP300.y > (2.00000000E+00*_TMP304).y && _interp_restriction_lv2_up.y, _TMP300.z > (2.00000000E+00*_TMP304).z && _interp_restriction_lv2_up.z, _TMP300.w > (2.00000000E+00*_TMP304).w && _interp_restriction_lv2_up.w); + _nc = bvec4(_edr.x && (_fx.x || _edr_left.x && _fx_left.x || _edr_up.x && _fx_up.x), _edr.y && (_fx.y || _edr_left.y && _fx_left.y || _edr_up.y && _fx_up.y), _edr.z && (_fx.z || _edr_left.z && _fx_left.z || _edr_up.z && _fx_up.z), _edr.w && (_fx.w || _edr_left.w && _fx_left.w || _edr_up.w && _fx_up.w)); + _a0311 = _e1 - _b1.wxyz; + _TMP308 = abs(_a0311); + _a0315 = _e1 - _b1.zwxy; + _TMP312 = abs(_a0315); + _px = bvec4(_TMP308.x <= _TMP312.x, _TMP308.y <= _TMP312.y, _TMP308.z <= _TMP312.z, _TMP308.w <= _TMP312.w); + if (_nc.x) { + if (_px.x) { + _TMP47 = _F; + } else { + _TMP47 = _H; + } + _TMP46 = _TMP47; + } else { + if (_nc.y) { + if (_px.y) { + _TMP49 = _B2; + } else { + _TMP49 = _F; + } + _TMP48 = _TMP49; + } else { + if (_nc.z) { + if (_px.z) { + _TMP51 = _D; + } else { + _TMP51 = _B2; + } + _TMP50 = _TMP51; + } else { + if (_nc.w) { + if (_px.w) { + _TMP53 = _H; + } else { + _TMP53 = _D; + } + _TMP52 = _TMP53; + } else { + _TMP52 = _E; + } + _TMP50 = _TMP52; + } + _TMP48 = _TMP50; + } + _TMP46 = _TMP48; + } + _res = _TMP46; + _TMP64 = dot(vec3( 2.99072266E-01, 5.86914062E-01, 1.14013672E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _TMP54 = float(_TMP64); + _TMP65 = abs(float(_TMP54)); + _TMP55 = float(_TMP65); + _TMP64 = dot(vec3( 2.99072266E-01, 5.86914062E-01, 1.14013672E-01), vec3(float(_TMP46.x), float(_TMP46.y), float(_TMP46.z))); + _TMP56 = float(_TMP64); + _TMP65 = abs(float(_TMP56)); + _TMP57 = float(_TMP65); + if (_TMP55 < _TMP57) { + _res = _E; + } + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/2xBR-v3.7c-light.glsl b/ios/Assets/shaders_glsl/xBR/2xBR-v3.7c-light.glsl new file mode 100644 index 0000000000..529630a31d --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/2xBR-v3.7c-light.glsl @@ -0,0 +1,532 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 VARpos; +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 VARposition1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 VARposition1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; + vec2 VARpos; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARpos = TexCoord.xy*TextureSize; + VARposition1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + VARpos = _OUT.VARpos; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 VARpos; +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; + vec2 VARpos; +}; +vec4 _ret_0; +float _TMP57; +float _TMP55; +float _TMP56; +float _TMP65; +float _TMP64; +float _TMP54; +vec3 _TMP46; +vec3 _TMP48; +vec3 _TMP50; +vec3 _TMP52; +vec3 _TMP53; +vec3 _TMP51; +vec3 _TMP49; +vec3 _TMP47; +vec4 _TMP39; +vec4 _TMP38; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +vec4 _r0123; +vec4 _r0133; +vec4 _r0143; +vec4 _r0153; +vec4 _r0163; +vec4 _r0173; +vec4 _TMP184; +vec4 _a0187; +vec4 _TMP190; +vec4 _a0193; +vec4 _TMP196; +vec4 _a0199; +vec4 _TMP202; +vec4 _a0205; +vec4 _TMP208; +vec4 _a0211; +vec4 _TMP214; +vec4 _a0217; +vec4 _TMP220; +vec4 _a0223; +vec4 _TMP226; +vec4 _a0229; +vec4 _TMP232; +vec4 _a0235; +vec4 _TMP238; +vec4 _a0241; +vec4 _TMP244; +vec4 _a0247; +vec4 _TMP250; +vec4 _a0253; +vec4 _TMP254; +vec4 _a0257; +vec4 _TMP258; +vec4 _a0261; +vec4 _TMP262; +vec4 _a0265; +vec4 _TMP266; +vec4 _a0269; +vec4 _TMP272; +vec4 _a0275; +vec4 _TMP276; +vec4 _a0279; +vec4 _TMP280; +vec4 _a0283; +vec4 _TMP284; +vec4 _a0287; +vec4 _TMP288; +vec4 _a0291; +vec4 _TMP292; +vec4 _a0295; +vec4 _TMP296; +vec4 _a0299; +vec4 _TMP300; +vec4 _a0303; +vec4 _TMP304; +vec4 _a0307; +vec4 _TMP308; +vec4 _a0311; +vec4 _TMP312; +vec4 _a0315; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c1; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec3 _res; + _fp = fract(VARpos); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP64 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0123.x = float(_TMP64); + _TMP64 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0123.y = float(_TMP64); + _TMP64 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0123.z = float(_TMP64); + _TMP64 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0123.w = float(_TMP64); + _b1 = vec4(float(_r0123.x), float(_r0123.y), float(_r0123.z), float(_r0123.w)); + _TMP64 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.x = float(_TMP64); + _TMP64 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.y = float(_TMP64); + _TMP64 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.z = float(_TMP64); + _TMP64 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.w = float(_TMP64); + _c1 = vec4(float(_r0133.x), float(_r0133.y), float(_r0133.z), float(_r0133.w)); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.x = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.y = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.z = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.w = float(_TMP64); + _e1 = vec4(float(_r0143.x), float(_r0143.y), float(_r0143.z), float(_r0143.w)); + _TMP64 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.x = float(_TMP64); + _TMP64 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.y = float(_TMP64); + _TMP64 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.z = float(_TMP64); + _TMP64 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.w = float(_TMP64); + _i4 = vec4(float(_r0153.x), float(_r0153.y), float(_r0153.z), float(_r0153.w)); + _TMP64 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.x = float(_TMP64); + _TMP64 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.y = float(_TMP64); + _TMP64 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.z = float(_TMP64); + _TMP64 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.w = float(_TMP64); + _i5 = vec4(float(_r0163.x), float(_r0163.y), float(_r0163.z), float(_r0163.w)); + _TMP64 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.x = float(_TMP64); + _TMP64 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.y = float(_TMP64); + _TMP64 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.z = float(_TMP64); + _TMP64 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.w = float(_TMP64); + _h5 = vec4(float(_r0173.x), float(_r0173.y), float(_r0173.z), float(_r0173.w)); + _fx = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).x > 1.25000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).y > 2.50000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).z > -7.50000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).w > 2.50000000E-01); + _fx_left = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).x > 7.50000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).y > 5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).z > -7.50000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).w > -5.00000000E-01); + _fx_up = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).x > 1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).y > -2.50000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).z > -1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).w > 2.50000000E-01); + _a0187 = _b1.wxyz - _b1; + _TMP184 = abs(_a0187); + _TMP27 = bvec4(_TMP184.x < 1.50000000E+01, _TMP184.y < 1.50000000E+01, _TMP184.z < 1.50000000E+01, _TMP184.w < 1.50000000E+01); + _a0193 = _b1.wxyz - _c1; + _TMP190 = abs(_a0193); + _TMP28 = bvec4(_TMP190.x < 1.50000000E+01, _TMP190.y < 1.50000000E+01, _TMP190.z < 1.50000000E+01, _TMP190.w < 1.50000000E+01); + _a0199 = _b1.zwxy - _b1.yzwx; + _TMP196 = abs(_a0199); + _TMP29 = bvec4(_TMP196.x < 1.50000000E+01, _TMP196.y < 1.50000000E+01, _TMP196.z < 1.50000000E+01, _TMP196.w < 1.50000000E+01); + _a0205 = _b1.zwxy - _c1.zwxy; + _TMP202 = abs(_a0205); + _TMP30 = bvec4(_TMP202.x < 1.50000000E+01, _TMP202.y < 1.50000000E+01, _TMP202.z < 1.50000000E+01, _TMP202.w < 1.50000000E+01); + _a0211 = _e1 - _c1.wxyz; + _TMP208 = abs(_a0211); + _TMP31 = bvec4(_TMP208.x < 1.50000000E+01, _TMP208.y < 1.50000000E+01, _TMP208.z < 1.50000000E+01, _TMP208.w < 1.50000000E+01); + _a0217 = _b1.wxyz - _h5.yzwx; + _TMP214 = abs(_a0217); + _TMP32 = bvec4(_TMP214.x < 1.50000000E+01, _TMP214.y < 1.50000000E+01, _TMP214.z < 1.50000000E+01, _TMP214.w < 1.50000000E+01); + _a0223 = _b1.wxyz - _i4; + _TMP220 = abs(_a0223); + _TMP33 = bvec4(_TMP220.x < 1.50000000E+01, _TMP220.y < 1.50000000E+01, _TMP220.z < 1.50000000E+01, _TMP220.w < 1.50000000E+01); + _a0229 = _b1.zwxy - _h5; + _TMP226 = abs(_a0229); + _TMP34 = bvec4(_TMP226.x < 1.50000000E+01, _TMP226.y < 1.50000000E+01, _TMP226.z < 1.50000000E+01, _TMP226.w < 1.50000000E+01); + _a0235 = _b1.zwxy - _i5; + _TMP232 = abs(_a0235); + _TMP35 = bvec4(_TMP232.x < 1.50000000E+01, _TMP232.y < 1.50000000E+01, _TMP232.z < 1.50000000E+01, _TMP232.w < 1.50000000E+01); + _a0241 = _e1 - _c1.zwxy; + _TMP238 = abs(_a0241); + _TMP36 = bvec4(_TMP238.x < 1.50000000E+01, _TMP238.y < 1.50000000E+01, _TMP238.z < 1.50000000E+01, _TMP238.w < 1.50000000E+01); + _a0247 = _e1 - _c1; + _TMP244 = abs(_a0247); + _TMP37 = bvec4(_TMP244.x < 1.50000000E+01, _TMP244.y < 1.50000000E+01, _TMP244.z < 1.50000000E+01, _TMP244.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c1.z && _b1.y != _c1.z, _e1.y != _c1.w && _b1.z != _c1.w, _e1.z != _c1.x && _b1.w != _c1.x, _e1.w != _c1.y && _b1.x != _c1.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c1.x && _b1.x != _c1.x, _e1.y != _c1.y && _b1.y != _c1.y, _e1.z != _c1.z && _b1.z != _c1.z, _e1.w != _c1.w && _b1.w != _c1.w); + _a0253 = _e1 - _c1; + _TMP250 = abs(_a0253); + _a0257 = _e1 - _c1.zwxy; + _TMP254 = abs(_a0257); + _a0261 = _c1.wxyz - _h5; + _TMP258 = abs(_a0261); + _a0265 = _c1.wxyz - _h5.yzwx; + _TMP262 = abs(_a0265); + _a0269 = _b1.zwxy - _b1.wxyz; + _TMP266 = abs(_a0269); + _TMP38 = _TMP250 + _TMP254 + _TMP258 + _TMP262 + 4.00000000E+00*_TMP266; + _a0275 = _b1.zwxy - _b1.yzwx; + _TMP272 = abs(_a0275); + _a0279 = _b1.zwxy - _i5; + _TMP276 = abs(_a0279); + _a0283 = _b1.wxyz - _i4; + _TMP280 = abs(_a0283); + _a0287 = _b1.wxyz - _b1; + _TMP284 = abs(_a0287); + _a0291 = _e1 - _c1.wxyz; + _TMP288 = abs(_a0291); + _TMP39 = _TMP272 + _TMP276 + _TMP280 + _TMP284 + 4.00000000E+00*_TMP288; + _edr = bvec4(_TMP38.x < _TMP39.x && _interp_restriction_lv1.x, _TMP38.y < _TMP39.y && _interp_restriction_lv1.y, _TMP38.z < _TMP39.z && _interp_restriction_lv1.z, _TMP38.w < _TMP39.w && _interp_restriction_lv1.w); + _a0295 = _b1.wxyz - _c1.zwxy; + _TMP292 = abs(_a0295); + _a0299 = _b1.zwxy - _c1; + _TMP296 = abs(_a0299); + _edr_left = bvec4((2.00000000E+00*_TMP292).x < _TMP296.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP292).y < _TMP296.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP292).z < _TMP296.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP292).w < _TMP296.w && _interp_restriction_lv2_left.w); + _a0303 = _b1.wxyz - _c1.zwxy; + _TMP300 = abs(_a0303); + _a0307 = _b1.zwxy - _c1; + _TMP304 = abs(_a0307); + _edr_up = bvec4(_TMP300.x > (2.00000000E+00*_TMP304).x && _interp_restriction_lv2_up.x, _TMP300.y > (2.00000000E+00*_TMP304).y && _interp_restriction_lv2_up.y, _TMP300.z > (2.00000000E+00*_TMP304).z && _interp_restriction_lv2_up.z, _TMP300.w > (2.00000000E+00*_TMP304).w && _interp_restriction_lv2_up.w); + _nc = bvec4(_edr.x && (_fx.x || _edr_left.x && _fx_left.x || _edr_up.x && _fx_up.x), _edr.y && (_fx.y || _edr_left.y && _fx_left.y || _edr_up.y && _fx_up.y), _edr.z && (_fx.z || _edr_left.z && _fx_left.z || _edr_up.z && _fx_up.z), _edr.w && (_fx.w || _edr_left.w && _fx_left.w || _edr_up.w && _fx_up.w)); + _a0311 = _e1 - _b1.wxyz; + _TMP308 = abs(_a0311); + _a0315 = _e1 - _b1.zwxy; + _TMP312 = abs(_a0315); + _px = bvec4(_TMP308.x <= _TMP312.x, _TMP308.y <= _TMP312.y, _TMP308.z <= _TMP312.z, _TMP308.w <= _TMP312.w); + if (_nc.x) { + if (_px.x) { + _TMP47 = _F; + } else { + _TMP47 = _H; + } + _TMP46 = _TMP47; + } else { + if (_nc.y) { + if (_px.y) { + _TMP49 = _B2; + } else { + _TMP49 = _F; + } + _TMP48 = _TMP49; + } else { + if (_nc.z) { + if (_px.z) { + _TMP51 = _D; + } else { + _TMP51 = _B2; + } + _TMP50 = _TMP51; + } else { + if (_nc.w) { + if (_px.w) { + _TMP53 = _H; + } else { + _TMP53 = _D; + } + _TMP52 = _TMP53; + } else { + _TMP52 = _E; + } + _TMP50 = _TMP52; + } + _TMP48 = _TMP50; + } + _TMP46 = _TMP48; + } + _res = _TMP46; + _TMP64 = dot(vec3( 2.99072266E-01, 5.86914062E-01, 1.14013672E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _TMP54 = float(_TMP64); + _TMP65 = abs(float(_TMP54)); + _TMP55 = float(_TMP65); + _TMP64 = dot(vec3( 2.99072266E-01, 5.86914062E-01, 1.14013672E-01), vec3(float(_TMP46.x), float(_TMP46.y), float(_TMP46.z))); + _TMP56 = float(_TMP64); + _TMP65 = abs(float(_TMP56)); + _TMP57 = float(_TMP65); + if (_TMP55 > _TMP57) { + _res = _E; + } + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/2xBR-v3.7c.glsl b/ios/Assets/shaders_glsl/xBR/2xBR-v3.7c.glsl new file mode 100644 index 0000000000..aabc75de7f --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/2xBR-v3.7c.glsl @@ -0,0 +1,583 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec3 _TMP46; +vec4 _TMP39; +vec4 _TMP38; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP56; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0070; +vec4 _r0114; +vec4 _r0124; +vec4 _r0134; +vec4 _r0144; +vec4 _r0154; +vec4 _r0164; +vec4 _TMP175; +vec4 _a0178; +vec4 _TMP181; +vec4 _a0184; +vec4 _TMP187; +vec4 _a0190; +vec4 _TMP193; +vec4 _a0196; +vec4 _TMP199; +vec4 _a0202; +vec4 _TMP205; +vec4 _a0208; +vec4 _TMP211; +vec4 _a0214; +vec4 _TMP217; +vec4 _a0220; +vec4 _TMP223; +vec4 _a0226; +vec4 _TMP229; +vec4 _a0232; +vec4 _TMP235; +vec4 _a0238; +vec4 _TMP241; +vec4 _a0244; +vec4 _TMP245; +vec4 _a0248; +vec4 _TMP249; +vec4 _a0252; +vec4 _TMP253; +vec4 _a0256; +vec4 _TMP257; +vec4 _a0260; +vec4 _TMP263; +vec4 _a0266; +vec4 _TMP267; +vec4 _a0270; +vec4 _TMP271; +vec4 _a0274; +vec4 _TMP275; +vec4 _a0278; +vec4 _TMP279; +vec4 _a0282; +vec4 _TMP283; +vec4 _a0286; +vec4 _TMP287; +vec4 _a0290; +vec4 _TMP291; +vec4 _a0294; +vec4 _TMP295; +vec4 _a0298; +vec4 _TMP299; +vec4 _a0302; +vec4 _TMP303; +vec4 _a0306; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c1; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec3 _res; + _x0070 = TEX0.xy*TextureSize; + _fp = fract(_x0070); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP56 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0114.x = float(_TMP56); + _TMP56 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0114.y = float(_TMP56); + _TMP56 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0114.z = float(_TMP56); + _TMP56 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0114.w = float(_TMP56); + _b1 = vec4(float(_r0114.x), float(_r0114.y), float(_r0114.z), float(_r0114.w)); + _TMP56 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.x = float(_TMP56); + _TMP56 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.y = float(_TMP56); + _TMP56 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.z = float(_TMP56); + _TMP56 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.w = float(_TMP56); + _c1 = vec4(float(_r0124.x), float(_r0124.y), float(_r0124.z), float(_r0124.w)); + _TMP56 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.x = float(_TMP56); + _TMP56 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.y = float(_TMP56); + _TMP56 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.z = float(_TMP56); + _TMP56 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.w = float(_TMP56); + _e1 = vec4(float(_r0134.x), float(_r0134.y), float(_r0134.z), float(_r0134.w)); + _TMP56 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.x = float(_TMP56); + _TMP56 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.y = float(_TMP56); + _TMP56 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.z = float(_TMP56); + _TMP56 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.w = float(_TMP56); + _i4 = vec4(float(_r0144.x), float(_r0144.y), float(_r0144.z), float(_r0144.w)); + _TMP56 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.x = float(_TMP56); + _TMP56 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.y = float(_TMP56); + _TMP56 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.z = float(_TMP56); + _TMP56 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.w = float(_TMP56); + _i5 = vec4(float(_r0154.x), float(_r0154.y), float(_r0154.z), float(_r0154.w)); + _TMP56 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.x = float(_TMP56); + _TMP56 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.y = float(_TMP56); + _TMP56 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.z = float(_TMP56); + _TMP56 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.w = float(_TMP56); + _h5 = vec4(float(_r0164.x), float(_r0164.y), float(_r0164.z), float(_r0164.w)); + _a0178 = _b1.wxyz - _b1; + _TMP175 = abs(_a0178); + _TMP27 = bvec4(_TMP175.x < 1.50000000E+01, _TMP175.y < 1.50000000E+01, _TMP175.z < 1.50000000E+01, _TMP175.w < 1.50000000E+01); + _a0184 = _b1.wxyz - _c1; + _TMP181 = abs(_a0184); + _TMP28 = bvec4(_TMP181.x < 1.50000000E+01, _TMP181.y < 1.50000000E+01, _TMP181.z < 1.50000000E+01, _TMP181.w < 1.50000000E+01); + _a0190 = _b1.zwxy - _b1.yzwx; + _TMP187 = abs(_a0190); + _TMP29 = bvec4(_TMP187.x < 1.50000000E+01, _TMP187.y < 1.50000000E+01, _TMP187.z < 1.50000000E+01, _TMP187.w < 1.50000000E+01); + _a0196 = _b1.zwxy - _c1.zwxy; + _TMP193 = abs(_a0196); + _TMP30 = bvec4(_TMP193.x < 1.50000000E+01, _TMP193.y < 1.50000000E+01, _TMP193.z < 1.50000000E+01, _TMP193.w < 1.50000000E+01); + _a0202 = _e1 - _c1.wxyz; + _TMP199 = abs(_a0202); + _TMP31 = bvec4(_TMP199.x < 1.50000000E+01, _TMP199.y < 1.50000000E+01, _TMP199.z < 1.50000000E+01, _TMP199.w < 1.50000000E+01); + _a0208 = _b1.wxyz - _h5.yzwx; + _TMP205 = abs(_a0208); + _TMP32 = bvec4(_TMP205.x < 1.50000000E+01, _TMP205.y < 1.50000000E+01, _TMP205.z < 1.50000000E+01, _TMP205.w < 1.50000000E+01); + _a0214 = _b1.wxyz - _i4; + _TMP211 = abs(_a0214); + _TMP33 = bvec4(_TMP211.x < 1.50000000E+01, _TMP211.y < 1.50000000E+01, _TMP211.z < 1.50000000E+01, _TMP211.w < 1.50000000E+01); + _a0220 = _b1.zwxy - _h5; + _TMP217 = abs(_a0220); + _TMP34 = bvec4(_TMP217.x < 1.50000000E+01, _TMP217.y < 1.50000000E+01, _TMP217.z < 1.50000000E+01, _TMP217.w < 1.50000000E+01); + _a0226 = _b1.zwxy - _i5; + _TMP223 = abs(_a0226); + _TMP35 = bvec4(_TMP223.x < 1.50000000E+01, _TMP223.y < 1.50000000E+01, _TMP223.z < 1.50000000E+01, _TMP223.w < 1.50000000E+01); + _a0232 = _e1 - _c1.zwxy; + _TMP229 = abs(_a0232); + _TMP36 = bvec4(_TMP229.x < 1.50000000E+01, _TMP229.y < 1.50000000E+01, _TMP229.z < 1.50000000E+01, _TMP229.w < 1.50000000E+01); + _a0238 = _e1 - _c1; + _TMP235 = abs(_a0238); + _TMP37 = bvec4(_TMP235.x < 1.50000000E+01, _TMP235.y < 1.50000000E+01, _TMP235.z < 1.50000000E+01, _TMP235.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c1.z && _b1.y != _c1.z, _e1.y != _c1.w && _b1.z != _c1.w, _e1.z != _c1.x && _b1.w != _c1.x, _e1.w != _c1.y && _b1.x != _c1.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c1.x && _b1.x != _c1.x, _e1.y != _c1.y && _b1.y != _c1.y, _e1.z != _c1.z && _b1.z != _c1.z, _e1.w != _c1.w && _b1.w != _c1.w); + _a0244 = _e1 - _c1; + _TMP241 = abs(_a0244); + _a0248 = _e1 - _c1.zwxy; + _TMP245 = abs(_a0248); + _a0252 = _c1.wxyz - _h5; + _TMP249 = abs(_a0252); + _a0256 = _c1.wxyz - _h5.yzwx; + _TMP253 = abs(_a0256); + _a0260 = _b1.zwxy - _b1.wxyz; + _TMP257 = abs(_a0260); + _TMP38 = _TMP241 + _TMP245 + _TMP249 + _TMP253 + 4.00000000E+00*_TMP257; + _a0266 = _b1.zwxy - _b1.yzwx; + _TMP263 = abs(_a0266); + _a0270 = _b1.zwxy - _i5; + _TMP267 = abs(_a0270); + _a0274 = _b1.wxyz - _i4; + _TMP271 = abs(_a0274); + _a0278 = _b1.wxyz - _b1; + _TMP275 = abs(_a0278); + _a0282 = _e1 - _c1.wxyz; + _TMP279 = abs(_a0282); + _TMP39 = _TMP263 + _TMP267 + _TMP271 + _TMP275 + 4.00000000E+00*_TMP279; + _edr = bvec4(_TMP38.x < _TMP39.x && _interp_restriction_lv1.x, _TMP38.y < _TMP39.y && _interp_restriction_lv1.y, _TMP38.z < _TMP39.z && _interp_restriction_lv1.z, _TMP38.w < _TMP39.w && _interp_restriction_lv1.w); + _a0286 = _b1.wxyz - _c1.zwxy; + _TMP283 = abs(_a0286); + _a0290 = _b1.zwxy - _c1; + _TMP287 = abs(_a0290); + _edr_left = bvec4((2.00000000E+00*_TMP283).x <= _TMP287.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP283).y <= _TMP287.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP283).z <= _TMP287.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP283).w <= _TMP287.w && _interp_restriction_lv2_left.w); + _a0294 = _b1.wxyz - _c1.zwxy; + _TMP291 = abs(_a0294); + _a0298 = _b1.zwxy - _c1; + _TMP295 = abs(_a0298); + _edr_up = bvec4(_TMP291.x >= (2.00000000E+00*_TMP295).x && _interp_restriction_lv2_up.x, _TMP291.y >= (2.00000000E+00*_TMP295).y && _interp_restriction_lv2_up.y, _TMP291.z >= (2.00000000E+00*_TMP295).z && _interp_restriction_lv2_up.z, _TMP291.w >= (2.00000000E+00*_TMP295).w && _interp_restriction_lv2_up.w); + _a0302 = _e1 - _b1.wxyz; + _TMP299 = abs(_a0302); + _a0306 = _e1 - _b1.zwxy; + _TMP303 = abs(_a0306); + _px = bvec4(_TMP299.x <= _TMP303.x, _TMP299.y <= _TMP303.y, _TMP299.z <= _TMP303.z, _TMP299.w <= _TMP303.w); + if (_px.x) { + _TMP46 = _F; + } else { + _TMP46 = _H; + } + if (_px.y) { + _TMP47 = _B2; + } else { + _TMP47 = _F; + } + if (_px.z) { + _TMP48 = _D; + } else { + _TMP48 = _B2; + } + if (_px.w) { + _TMP49 = _H; + } else { + _TMP49 = _D; + } + _res = _E; + if (_fp.x >= 5.00000000E-01) { + if (_fp.y >= 5.00000000E-01) { + if (_edr.x && _edr_left.x && _edr_up.x) { + _res = _E + 8.33496094E-01*(_TMP46 - _E); + } else { + if (_edr.x && (_edr_left.x || _edr_up.x)) { + _res = _E + 7.50000000E-01*(_TMP46 - _E); + } else { + if (_edr.y && _edr_left.y && _edr.w && _edr_up.w) { + _res = _E + 2.50000000E-01*(_TMP49 - _E); + } else { + if (_edr.y && _edr_left.y) { + _res = _E + 2.50000000E-01*(_TMP47 - _E); + } else { + if (_edr.w && _edr_up.w) { + _res = _E + 2.50000000E-01*(_TMP49 - _E); + } else { + if (_edr.x) { + _res = _E + 5.00000000E-01*(_TMP46 - _E); + } + } + } + } + } + } + } else { + if (_edr.y && _edr_left.y && _edr_up.y) { + _res = _E + 8.33496094E-01*(_TMP47 - _E); + } else { + if (_edr.y && (_edr_left.y || _edr_up.y)) { + _res = _E + 7.50000000E-01*(_TMP47 - _E); + } else { + if (_edr.z && _edr_left.z && _edr.x && _edr_up.x) { + _res = _E + 2.50000000E-01*(_TMP46 - _E); + } else { + if (_edr.z && _edr_left.z) { + _res = _E + 2.50000000E-01*(_TMP48 - _E); + } else { + if (_edr.x && _edr_up.x) { + _res = _E + 2.50000000E-01*(_TMP46 - _E); + } else { + if (_edr.y) { + _res = _E + 5.00000000E-01*(_TMP47 - _E); + } + } + } + } + } + } + } + } else { + if (_fp.y >= 5.00000000E-01) { + if (_edr.w && _edr_left.w && _edr_up.w) { + _res = _E + 8.33496094E-01*(_TMP49 - _E); + } else { + if (_edr.w && (_edr_left.w || _edr_up.w)) { + _res = _E + 7.50000000E-01*(_TMP49 - _E); + } else { + if (_edr.x && _edr_left.x && _edr.z && _edr_up.z) { + _res = _E + 2.50000000E-01*(_TMP48 - _E); + } else { + if (_edr.x && _edr_left.x) { + _res = _E + 2.50000000E-01*(_TMP46 - _E); + } else { + if (_edr.z && _edr_up.z) { + _res = _E + 2.50000000E-01*(_TMP48 - _E); + } else { + if (_edr.w) { + _res = _E + 5.00000000E-01*(_TMP49 - _E); + } + } + } + } + } + } + } else { + if (_edr.z && _edr_left.z && _edr_up.z) { + _res = _E + 8.33496094E-01*(_TMP48 - _E); + } else { + if (_edr.z && (_edr_left.z || _edr_up.z)) { + _res = _E + 7.50000000E-01*(_TMP48 - _E); + } else { + if (_edr.w && _edr_left.w && _edr.y && _edr_up.y) { + _res = _E + 2.50000000E-01*(_TMP47 - _E); + } else { + if (_edr.w && _edr_left.w) { + _res = _E + 2.50000000E-01*(_TMP49 - _E); + } else { + if (_edr.y && _edr_up.y) { + _res = _E + 2.50000000E-01*(_TMP47 - _E); + } else { + if (_edr.z) { + _res = _E + 5.00000000E-01*(_TMP48 - _E); + } + } + } + } + } + } + } + } + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/2xBR-v3.8a.glsl b/ios/Assets/shaders_glsl/xBR/2xBR-v3.8a.glsl new file mode 100644 index 0000000000..2867572f2a --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/2xBR-v3.8a.glsl @@ -0,0 +1,556 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP46; +float _TMP45; +float _TMP44; +vec3 _TMP53; +vec3 _TMP43; +vec3 _TMP42; +vec3 _TMP41; +vec3 _TMP40; +vec3 _TMP39; +vec3 _TMP38; +vec3 _TMP37; +vec3 _TMP36; +vec4 _TMP35; +vec4 _TMP28; +vec4 _TMP27; +vec4 _TMP54; +float _TMP52; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0068; +vec4 _r0112; +vec4 _r0122; +vec4 _r0132; +vec4 _r0142; +vec4 _r0152; +vec4 _r0162; +vec4 _x0174; +vec4 _TMP175; +vec4 _x0184; +vec4 _TMP185; +vec4 _x0194; +vec4 _TMP195; +vec4 _TMP203; +vec4 _a0206; +vec4 _TMP207; +vec4 _a0210; +vec4 _TMP211; +vec4 _a0214; +vec4 _TMP215; +vec4 _a0218; +vec4 _TMP219; +vec4 _a0222; +vec4 _TMP225; +vec4 _a0228; +vec4 _TMP229; +vec4 _a0232; +vec4 _TMP233; +vec4 _a0236; +vec4 _TMP237; +vec4 _a0240; +vec4 _TMP241; +vec4 _a0244; +vec4 _TMP245; +vec4 _a0248; +vec4 _TMP249; +vec4 _a0252; +vec4 _TMP253; +vec4 _a0256; +vec4 _TMP257; +vec4 _a0260; +vec4 _TMP261; +vec4 _a0264; +vec4 _TMP265; +vec4 _a0268; +float _t0274; +float _t0276; +vec3 _df0278; +vec3 _a0280; +vec3 _df0282; +vec3 _a0284; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A1; + vec3 _B1; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0068 = TEX0.xy*TextureSize; + _fp = fract(_x0068); + _TMP0 = texture2D(Texture, VARt1.xw); + _A1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP52 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.x = float(_TMP52); + _TMP52 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.y = float(_TMP52); + _TMP52 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.z = float(_TMP52); + _TMP52 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.w = float(_TMP52); + _b1 = vec4(float(_r0112.x), float(_r0112.y), float(_r0112.z), float(_r0112.w)); + _TMP52 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.x = float(_TMP52); + _TMP52 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.y = float(_TMP52); + _TMP52 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.z = float(_TMP52); + _TMP52 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.w = float(_TMP52); + _c3 = vec4(float(_r0122.x), float(_r0122.y), float(_r0122.z), float(_r0122.w)); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.x = float(_TMP52); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.y = float(_TMP52); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.z = float(_TMP52); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.w = float(_TMP52); + _e1 = vec4(float(_r0132.x), float(_r0132.y), float(_r0132.z), float(_r0132.w)); + _TMP52 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.x = float(_TMP52); + _TMP52 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.y = float(_TMP52); + _TMP52 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.z = float(_TMP52); + _TMP52 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.w = float(_TMP52); + _i4 = vec4(float(_r0142.x), float(_r0142.y), float(_r0142.z), float(_r0142.w)); + _TMP52 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.x = float(_TMP52); + _TMP52 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.y = float(_TMP52); + _TMP52 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.z = float(_TMP52); + _TMP52 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.w = float(_TMP52); + _i5 = vec4(float(_r0152.x), float(_r0152.y), float(_r0152.z), float(_r0152.w)); + _TMP52 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.x = float(_TMP52); + _TMP52 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.y = float(_TMP52); + _TMP52 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.z = float(_TMP52); + _TMP52 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.w = float(_TMP52); + _h5 = vec4(float(_r0162.x), float(_r0162.y), float(_r0162.z), float(_r0162.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z, _e1.y != _b1.x && _e1.y != _b1.w, _e1.z != _b1.y && _e1.z != _b1.x, _e1.w != _b1.z && _e1.w != _b1.y); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0174 = _fx - vec4( 1.00000000E+00, 0.00000000E+00, -1.00000000E+00, 0.00000000E+00); + _TMP54 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0174); + _TMP175 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP54); + _fx45 = _TMP175*_TMP175*(3.00000000E+00 - 2.00000000E+00*_TMP175); + _x0184 = _fx_left - vec4( 5.00000000E-01, 5.00000000E-01, -1.00000000E+00, -5.00000000E-01); + _TMP54 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0184); + _TMP185 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP54); + _fx30 = _TMP185*_TMP185*(3.00000000E+00 - 2.00000000E+00*_TMP185); + _x0194 = _fx_up - vec4( 1.50000000E+00, -5.00000000E-01, -1.50000000E+00, 0.00000000E+00); + _TMP54 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0194); + _TMP195 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP54); + _fx60 = _TMP195*_TMP195*(3.00000000E+00 - 2.00000000E+00*_TMP195); + _a0206 = _e1 - _c3; + _TMP203 = abs(_a0206); + _a0210 = _e1 - _c3.zwxy; + _TMP207 = abs(_a0210); + _a0214 = _c3.wxyz - _h5; + _TMP211 = abs(_a0214); + _a0218 = _c3.wxyz - _h5.yzwx; + _TMP215 = abs(_a0218); + _a0222 = _b1.zwxy - _b1.wxyz; + _TMP219 = abs(_a0222); + _TMP27 = _TMP203 + _TMP207 + _TMP211 + _TMP215 + 4.00000000E+00*_TMP219; + _a0228 = _b1.zwxy - _b1.yzwx; + _TMP225 = abs(_a0228); + _a0232 = _b1.zwxy - _i5; + _TMP229 = abs(_a0232); + _a0236 = _b1.wxyz - _i4; + _TMP233 = abs(_a0236); + _a0240 = _b1.wxyz - _b1; + _TMP237 = abs(_a0240); + _a0244 = _e1 - _c3.wxyz; + _TMP241 = abs(_a0244); + _TMP28 = _TMP225 + _TMP229 + _TMP233 + _TMP237 + 4.00000000E+00*_TMP241; + _edr = bvec4(_TMP27.x < _TMP28.x && _interp_restriction_lv1.x, _TMP27.y < _TMP28.y && _interp_restriction_lv1.y, _TMP27.z < _TMP28.z && _interp_restriction_lv1.z, _TMP27.w < _TMP28.w && _interp_restriction_lv1.w); + _a0248 = _b1.wxyz - _c3.zwxy; + _TMP245 = abs(_a0248); + _a0252 = _b1.zwxy - _c3; + _TMP249 = abs(_a0252); + _edr_left = bvec4((2.00000000E+00*_TMP245).x <= _TMP249.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP245).y <= _TMP249.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP245).z <= _TMP249.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP245).w <= _TMP249.w && _interp_restriction_lv2_left.w); + _a0256 = _b1.wxyz - _c3.zwxy; + _TMP253 = abs(_a0256); + _a0260 = _b1.zwxy - _c3; + _TMP257 = abs(_a0260); + _edr_up = bvec4(_TMP253.x >= (2.00000000E+00*_TMP257).x && _interp_restriction_lv2_up.x, _TMP253.y >= (2.00000000E+00*_TMP257).y && _interp_restriction_lv2_up.y, _TMP253.z >= (2.00000000E+00*_TMP257).z && _interp_restriction_lv2_up.z, _TMP253.w >= (2.00000000E+00*_TMP257).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0264 = _e1 - _b1.wxyz; + _TMP261 = abs(_a0264); + _a0268 = _e1 - _b1.zwxy; + _TMP265 = abs(_a0268); + _px = bvec4(_TMP261.x <= _TMP265.x, _TMP261.y <= _TMP265.y, _TMP261.z <= _TMP265.z, _TMP261.w <= _TMP265.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP35 = max(_final30, _final60); + _maximo = max(_TMP35, _final45); + if (_nc.x) { + if (_px.x) { + _TMP36 = _F; + } else { + _TMP36 = _H; + } + _pix1 = _TMP36; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP37 = _B2; + } else { + _TMP37 = _F; + } + _pix1 = _TMP37; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP38 = _D; + } else { + _TMP38 = _B2; + } + _pix1 = _TMP38; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP39 = _H; + } else { + _TMP39 = _D; + } + _pix1 = _TMP39; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP40 = _H; + } else { + _TMP40 = _D; + } + _pix2 = _TMP40; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP41 = _D; + } else { + _TMP41 = _B2; + } + _pix2 = _TMP41; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP42 = _B2; + } else { + _TMP42 = _F; + } + _pix2 = _TMP42; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP43 = _F; + } else { + _TMP43 = _H; + } + _pix2 = _TMP43; + _blend2 = _maximo.x; + } + } + } + } + _t0274 = float(_blend1); + _res1 = _E + _t0274*(_pix1 - _E); + _t0276 = float(_blend2); + _res2 = _E + _t0276*(_pix2 - _E); + _a0280 = _E - _res1; + _TMP53 = abs(vec3(float(_a0280.x), float(_a0280.y), float(_a0280.z))); + _df0278 = vec3(float(_TMP53.x), float(_TMP53.y), float(_TMP53.z)); + _TMP44 = _df0278.x + _df0278.y + _df0278.z; + _a0284 = _E - _res2; + _TMP53 = abs(vec3(float(_a0284.x), float(_a0284.y), float(_a0284.z))); + _df0282 = vec3(float(_TMP53.x), float(_TMP53.y), float(_TMP53.z)); + _TMP45 = _df0282.x + _df0282.y + _df0282.z; + _TMP46 = float((_TMP45 >= _TMP44)); + _res = _res1 + _TMP46*(_res2 - _res1); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/2xBR-v3.8b.glsl b/ios/Assets/shaders_glsl/xBR/2xBR-v3.8b.glsl new file mode 100644 index 0000000000..c7dcbf364e --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/2xBR-v3.8b.glsl @@ -0,0 +1,598 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP53; +float _TMP52; +float _TMP51; +vec3 _TMP61; +vec3 _TMP50; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec3 _TMP46; +vec3 _TMP45; +vec3 _TMP44; +vec3 _TMP43; +vec4 _TMP42; +vec4 _TMP35; +vec4 _TMP34; +vec4 _TMP62; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP60; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0076; +vec4 _r0120; +vec4 _r0130; +vec4 _r0140; +vec4 _r0150; +vec4 _r0160; +vec4 _r0170; +vec4 _TMP181; +vec4 _a0184; +vec4 _TMP187; +vec4 _a0190; +vec4 _TMP193; +vec4 _a0196; +vec4 _TMP199; +vec4 _a0202; +vec4 _TMP205; +vec4 _a0208; +vec4 _TMP211; +vec4 _a0214; +vec4 _TMP217; +vec4 _a0220; +vec4 _x0224; +vec4 _TMP225; +vec4 _x0234; +vec4 _TMP235; +vec4 _x0244; +vec4 _TMP245; +vec4 _TMP253; +vec4 _a0256; +vec4 _TMP257; +vec4 _a0260; +vec4 _TMP261; +vec4 _a0264; +vec4 _TMP265; +vec4 _a0268; +vec4 _TMP269; +vec4 _a0272; +vec4 _TMP275; +vec4 _a0278; +vec4 _TMP279; +vec4 _a0282; +vec4 _TMP283; +vec4 _a0286; +vec4 _TMP287; +vec4 _a0290; +vec4 _TMP291; +vec4 _a0294; +vec4 _TMP295; +vec4 _a0298; +vec4 _TMP299; +vec4 _a0302; +vec4 _TMP303; +vec4 _a0306; +vec4 _TMP307; +vec4 _a0310; +vec4 _TMP311; +vec4 _a0314; +vec4 _TMP315; +vec4 _a0318; +float _t0324; +float _t0326; +vec3 _df0328; +vec3 _a0330; +vec3 _df0332; +vec3 _a0334; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0076 = TEX0.xy*TextureSize; + _fp = fract(_x0076); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP60 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.x = float(_TMP60); + _TMP60 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.y = float(_TMP60); + _TMP60 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.z = float(_TMP60); + _TMP60 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.w = float(_TMP60); + _b1 = vec4(float(_r0120.x), float(_r0120.y), float(_r0120.z), float(_r0120.w)); + _TMP60 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.x = float(_TMP60); + _TMP60 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.y = float(_TMP60); + _TMP60 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.z = float(_TMP60); + _TMP60 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.w = float(_TMP60); + _c3 = vec4(float(_r0130.x), float(_r0130.y), float(_r0130.z), float(_r0130.w)); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.x = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.y = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.z = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.w = float(_TMP60); + _e1 = vec4(float(_r0140.x), float(_r0140.y), float(_r0140.z), float(_r0140.w)); + _TMP60 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.x = float(_TMP60); + _TMP60 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.y = float(_TMP60); + _TMP60 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.z = float(_TMP60); + _TMP60 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.w = float(_TMP60); + _i4 = vec4(float(_r0150.x), float(_r0150.y), float(_r0150.z), float(_r0150.w)); + _TMP60 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.x = float(_TMP60); + _TMP60 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.y = float(_TMP60); + _TMP60 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.z = float(_TMP60); + _TMP60 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.w = float(_TMP60); + _i5 = vec4(float(_r0160.x), float(_r0160.y), float(_r0160.z), float(_r0160.w)); + _TMP60 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.x = float(_TMP60); + _TMP60 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.y = float(_TMP60); + _TMP60 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.z = float(_TMP60); + _TMP60 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.w = float(_TMP60); + _h5 = vec4(float(_r0170.x), float(_r0170.y), float(_r0170.z), float(_r0170.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0184 = _b1.wxyz - _b1; + _TMP181 = abs(_a0184); + _TMP27 = bvec4(_TMP181.x < 1.50000000E+01, _TMP181.y < 1.50000000E+01, _TMP181.z < 1.50000000E+01, _TMP181.w < 1.50000000E+01); + _a0190 = _b1.zwxy - _b1.yzwx; + _TMP187 = abs(_a0190); + _TMP28 = bvec4(_TMP187.x < 1.50000000E+01, _TMP187.y < 1.50000000E+01, _TMP187.z < 1.50000000E+01, _TMP187.w < 1.50000000E+01); + _a0196 = _e1 - _c3.wxyz; + _TMP193 = abs(_a0196); + _TMP29 = bvec4(_TMP193.x < 1.50000000E+01, _TMP193.y < 1.50000000E+01, _TMP193.z < 1.50000000E+01, _TMP193.w < 1.50000000E+01); + _a0202 = _b1.wxyz - _i4; + _TMP199 = abs(_a0202); + _TMP30 = bvec4(_TMP199.x < 1.50000000E+01, _TMP199.y < 1.50000000E+01, _TMP199.z < 1.50000000E+01, _TMP199.w < 1.50000000E+01); + _a0208 = _b1.zwxy - _i5; + _TMP205 = abs(_a0208); + _TMP31 = bvec4(_TMP205.x < 1.50000000E+01, _TMP205.y < 1.50000000E+01, _TMP205.z < 1.50000000E+01, _TMP205.w < 1.50000000E+01); + _a0214 = _e1 - _c3.zwxy; + _TMP211 = abs(_a0214); + _TMP32 = bvec4(_TMP211.x < 1.50000000E+01, _TMP211.y < 1.50000000E+01, _TMP211.z < 1.50000000E+01, _TMP211.w < 1.50000000E+01); + _a0220 = _e1 - _c3; + _TMP217 = abs(_a0220); + _TMP33 = bvec4(_TMP217.x < 1.50000000E+01, _TMP217.y < 1.50000000E+01, _TMP217.z < 1.50000000E+01, _TMP217.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || _TMP29.x && !_TMP30.x && !_TMP31.x || _TMP32.x || _TMP33.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || _TMP29.y && !_TMP30.y && !_TMP31.y || _TMP32.y || _TMP33.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || _TMP29.z && !_TMP30.z && !_TMP31.z || _TMP32.z || _TMP33.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || _TMP29.w && !_TMP30.w && !_TMP31.w || _TMP32.w || _TMP33.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0224 = _fx - vec4( 1.00000000E+00, 0.00000000E+00, -1.00000000E+00, 0.00000000E+00); + _TMP62 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0224); + _TMP225 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP62); + _fx45 = _TMP225*_TMP225*(3.00000000E+00 - 2.00000000E+00*_TMP225); + _x0234 = _fx_left - vec4( 5.00000000E-01, 5.00000000E-01, -1.00000000E+00, -5.00000000E-01); + _TMP62 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0234); + _TMP235 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP62); + _fx30 = _TMP235*_TMP235*(3.00000000E+00 - 2.00000000E+00*_TMP235); + _x0244 = _fx_up - vec4( 1.50000000E+00, -5.00000000E-01, -1.50000000E+00, 0.00000000E+00); + _TMP62 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0244); + _TMP245 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP62); + _fx60 = _TMP245*_TMP245*(3.00000000E+00 - 2.00000000E+00*_TMP245); + _a0256 = _e1 - _c3; + _TMP253 = abs(_a0256); + _a0260 = _e1 - _c3.zwxy; + _TMP257 = abs(_a0260); + _a0264 = _c3.wxyz - _h5; + _TMP261 = abs(_a0264); + _a0268 = _c3.wxyz - _h5.yzwx; + _TMP265 = abs(_a0268); + _a0272 = _b1.zwxy - _b1.wxyz; + _TMP269 = abs(_a0272); + _TMP34 = _TMP253 + _TMP257 + _TMP261 + _TMP265 + 4.00000000E+00*_TMP269; + _a0278 = _b1.zwxy - _b1.yzwx; + _TMP275 = abs(_a0278); + _a0282 = _b1.zwxy - _i5; + _TMP279 = abs(_a0282); + _a0286 = _b1.wxyz - _i4; + _TMP283 = abs(_a0286); + _a0290 = _b1.wxyz - _b1; + _TMP287 = abs(_a0290); + _a0294 = _e1 - _c3.wxyz; + _TMP291 = abs(_a0294); + _TMP35 = _TMP275 + _TMP279 + _TMP283 + _TMP287 + 4.00000000E+00*_TMP291; + _edr = bvec4(_TMP34.x < _TMP35.x && _interp_restriction_lv1.x, _TMP34.y < _TMP35.y && _interp_restriction_lv1.y, _TMP34.z < _TMP35.z && _interp_restriction_lv1.z, _TMP34.w < _TMP35.w && _interp_restriction_lv1.w); + _a0298 = _b1.wxyz - _c3.zwxy; + _TMP295 = abs(_a0298); + _a0302 = _b1.zwxy - _c3; + _TMP299 = abs(_a0302); + _edr_left = bvec4((2.00000000E+00*_TMP295).x <= _TMP299.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP295).y <= _TMP299.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP295).z <= _TMP299.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP295).w <= _TMP299.w && _interp_restriction_lv2_left.w); + _a0306 = _b1.wxyz - _c3.zwxy; + _TMP303 = abs(_a0306); + _a0310 = _b1.zwxy - _c3; + _TMP307 = abs(_a0310); + _edr_up = bvec4(_TMP303.x >= (2.00000000E+00*_TMP307).x && _interp_restriction_lv2_up.x, _TMP303.y >= (2.00000000E+00*_TMP307).y && _interp_restriction_lv2_up.y, _TMP303.z >= (2.00000000E+00*_TMP307).z && _interp_restriction_lv2_up.z, _TMP303.w >= (2.00000000E+00*_TMP307).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0314 = _e1 - _b1.wxyz; + _TMP311 = abs(_a0314); + _a0318 = _e1 - _b1.zwxy; + _TMP315 = abs(_a0318); + _px = bvec4(_TMP311.x <= _TMP315.x, _TMP311.y <= _TMP315.y, _TMP311.z <= _TMP315.z, _TMP311.w <= _TMP315.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP42 = max(_final30, _final60); + _maximo = max(_TMP42, _final45); + if (_nc.x) { + if (_px.x) { + _TMP43 = _F; + } else { + _TMP43 = _H; + } + _pix1 = _TMP43; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP44 = _B2; + } else { + _TMP44 = _F; + } + _pix1 = _TMP44; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP45 = _D; + } else { + _TMP45 = _B2; + } + _pix1 = _TMP45; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP46 = _H; + } else { + _TMP46 = _D; + } + _pix1 = _TMP46; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP47 = _H; + } else { + _TMP47 = _D; + } + _pix2 = _TMP47; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP48 = _D; + } else { + _TMP48 = _B2; + } + _pix2 = _TMP48; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP49 = _B2; + } else { + _TMP49 = _F; + } + _pix2 = _TMP49; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP50 = _F; + } else { + _TMP50 = _H; + } + _pix2 = _TMP50; + _blend2 = _maximo.x; + } + } + } + } + _t0324 = float(_blend1); + _res1 = _E + _t0324*(_pix1 - _E); + _t0326 = float(_blend2); + _res2 = _E + _t0326*(_pix2 - _E); + _a0330 = _E - _res1; + _TMP61 = abs(vec3(float(_a0330.x), float(_a0330.y), float(_a0330.z))); + _df0328 = vec3(float(_TMP61.x), float(_TMP61.y), float(_TMP61.z)); + _TMP51 = _df0328.x + _df0328.y + _df0328.z; + _a0334 = _E - _res2; + _TMP61 = abs(vec3(float(_a0334.x), float(_a0334.y), float(_a0334.z))); + _df0332 = vec3(float(_TMP61.x), float(_TMP61.y), float(_TMP61.z)); + _TMP52 = _df0332.x + _df0332.y + _df0332.z; + _TMP53 = float((_TMP52 >= _TMP51)); + _res = _res1 + _TMP53*(_res2 - _res1); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/2xBR-v3.8c.glsl b/ios/Assets/shaders_glsl/xBR/2xBR-v3.8c.glsl new file mode 100644 index 0000000000..4768c4e31f --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/2xBR-v3.8c.glsl @@ -0,0 +1,622 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP57; +float _TMP56; +float _TMP55; +vec3 _TMP65; +vec3 _TMP54; +vec3 _TMP53; +vec3 _TMP52; +vec3 _TMP51; +vec3 _TMP50; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec4 _TMP46; +vec4 _TMP39; +vec4 _TMP38; +vec4 _TMP66; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP64; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0080; +vec4 _r0124; +vec4 _r0134; +vec4 _r0144; +vec4 _r0154; +vec4 _r0164; +vec4 _r0174; +vec4 _TMP185; +vec4 _a0188; +vec4 _TMP191; +vec4 _a0194; +vec4 _TMP197; +vec4 _a0200; +vec4 _TMP203; +vec4 _a0206; +vec4 _TMP209; +vec4 _a0212; +vec4 _TMP215; +vec4 _a0218; +vec4 _TMP221; +vec4 _a0224; +vec4 _TMP227; +vec4 _a0230; +vec4 _TMP233; +vec4 _a0236; +vec4 _TMP239; +vec4 _a0242; +vec4 _TMP245; +vec4 _a0248; +vec4 _x0252; +vec4 _TMP253; +vec4 _x0262; +vec4 _TMP263; +vec4 _x0272; +vec4 _TMP273; +vec4 _TMP281; +vec4 _a0284; +vec4 _TMP285; +vec4 _a0288; +vec4 _TMP289; +vec4 _a0292; +vec4 _TMP293; +vec4 _a0296; +vec4 _TMP297; +vec4 _a0300; +vec4 _TMP303; +vec4 _a0306; +vec4 _TMP307; +vec4 _a0310; +vec4 _TMP311; +vec4 _a0314; +vec4 _TMP315; +vec4 _a0318; +vec4 _TMP319; +vec4 _a0322; +vec4 _TMP323; +vec4 _a0326; +vec4 _TMP327; +vec4 _a0330; +vec4 _TMP331; +vec4 _a0334; +vec4 _TMP335; +vec4 _a0338; +vec4 _TMP339; +vec4 _a0342; +vec4 _TMP343; +vec4 _a0346; +float _t0352; +float _t0354; +vec3 _df0356; +vec3 _a0358; +vec3 _df0360; +vec3 _a0362; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0080 = TEX0.xy*TextureSize; + _fp = fract(_x0080); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP64 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.x = float(_TMP64); + _TMP64 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.y = float(_TMP64); + _TMP64 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.z = float(_TMP64); + _TMP64 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.w = float(_TMP64); + _b1 = vec4(float(_r0124.x), float(_r0124.y), float(_r0124.z), float(_r0124.w)); + _TMP64 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.x = float(_TMP64); + _TMP64 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.y = float(_TMP64); + _TMP64 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.z = float(_TMP64); + _TMP64 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.w = float(_TMP64); + _c3 = vec4(float(_r0134.x), float(_r0134.y), float(_r0134.z), float(_r0134.w)); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.x = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.y = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.z = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.w = float(_TMP64); + _e1 = vec4(float(_r0144.x), float(_r0144.y), float(_r0144.z), float(_r0144.w)); + _TMP64 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.x = float(_TMP64); + _TMP64 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.y = float(_TMP64); + _TMP64 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.z = float(_TMP64); + _TMP64 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.w = float(_TMP64); + _i4 = vec4(float(_r0154.x), float(_r0154.y), float(_r0154.z), float(_r0154.w)); + _TMP64 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.x = float(_TMP64); + _TMP64 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.y = float(_TMP64); + _TMP64 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.z = float(_TMP64); + _TMP64 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.w = float(_TMP64); + _i5 = vec4(float(_r0164.x), float(_r0164.y), float(_r0164.z), float(_r0164.w)); + _TMP64 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.x = float(_TMP64); + _TMP64 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.y = float(_TMP64); + _TMP64 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.z = float(_TMP64); + _TMP64 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.w = float(_TMP64); + _h5 = vec4(float(_r0174.x), float(_r0174.y), float(_r0174.z), float(_r0174.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0188 = _b1.wxyz - _b1; + _TMP185 = abs(_a0188); + _TMP27 = bvec4(_TMP185.x < 1.50000000E+01, _TMP185.y < 1.50000000E+01, _TMP185.z < 1.50000000E+01, _TMP185.w < 1.50000000E+01); + _a0194 = _b1.wxyz - _c3; + _TMP191 = abs(_a0194); + _TMP28 = bvec4(_TMP191.x < 1.50000000E+01, _TMP191.y < 1.50000000E+01, _TMP191.z < 1.50000000E+01, _TMP191.w < 1.50000000E+01); + _a0200 = _b1.zwxy - _b1.yzwx; + _TMP197 = abs(_a0200); + _TMP29 = bvec4(_TMP197.x < 1.50000000E+01, _TMP197.y < 1.50000000E+01, _TMP197.z < 1.50000000E+01, _TMP197.w < 1.50000000E+01); + _a0206 = _b1.zwxy - _c3.zwxy; + _TMP203 = abs(_a0206); + _TMP30 = bvec4(_TMP203.x < 1.50000000E+01, _TMP203.y < 1.50000000E+01, _TMP203.z < 1.50000000E+01, _TMP203.w < 1.50000000E+01); + _a0212 = _e1 - _c3.wxyz; + _TMP209 = abs(_a0212); + _TMP31 = bvec4(_TMP209.x < 1.50000000E+01, _TMP209.y < 1.50000000E+01, _TMP209.z < 1.50000000E+01, _TMP209.w < 1.50000000E+01); + _a0218 = _b1.wxyz - _h5.yzwx; + _TMP215 = abs(_a0218); + _TMP32 = bvec4(_TMP215.x < 1.50000000E+01, _TMP215.y < 1.50000000E+01, _TMP215.z < 1.50000000E+01, _TMP215.w < 1.50000000E+01); + _a0224 = _b1.wxyz - _i4; + _TMP221 = abs(_a0224); + _TMP33 = bvec4(_TMP221.x < 1.50000000E+01, _TMP221.y < 1.50000000E+01, _TMP221.z < 1.50000000E+01, _TMP221.w < 1.50000000E+01); + _a0230 = _b1.zwxy - _h5; + _TMP227 = abs(_a0230); + _TMP34 = bvec4(_TMP227.x < 1.50000000E+01, _TMP227.y < 1.50000000E+01, _TMP227.z < 1.50000000E+01, _TMP227.w < 1.50000000E+01); + _a0236 = _b1.zwxy - _i5; + _TMP233 = abs(_a0236); + _TMP35 = bvec4(_TMP233.x < 1.50000000E+01, _TMP233.y < 1.50000000E+01, _TMP233.z < 1.50000000E+01, _TMP233.w < 1.50000000E+01); + _a0242 = _e1 - _c3.zwxy; + _TMP239 = abs(_a0242); + _TMP36 = bvec4(_TMP239.x < 1.50000000E+01, _TMP239.y < 1.50000000E+01, _TMP239.z < 1.50000000E+01, _TMP239.w < 1.50000000E+01); + _a0248 = _e1 - _c3; + _TMP245 = abs(_a0248); + _TMP37 = bvec4(_TMP245.x < 1.50000000E+01, _TMP245.y < 1.50000000E+01, _TMP245.z < 1.50000000E+01, _TMP245.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0252 = _fx - vec4( 1.00000000E+00, 0.00000000E+00, -1.00000000E+00, 0.00000000E+00); + _TMP66 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0252); + _TMP253 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP66); + _fx45 = _TMP253*_TMP253*(3.00000000E+00 - 2.00000000E+00*_TMP253); + _x0262 = _fx_left - vec4( 5.00000000E-01, 5.00000000E-01, -1.00000000E+00, -5.00000000E-01); + _TMP66 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0262); + _TMP263 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP66); + _fx30 = _TMP263*_TMP263*(3.00000000E+00 - 2.00000000E+00*_TMP263); + _x0272 = _fx_up - vec4( 1.50000000E+00, -5.00000000E-01, -1.50000000E+00, 0.00000000E+00); + _TMP66 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0272); + _TMP273 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP66); + _fx60 = _TMP273*_TMP273*(3.00000000E+00 - 2.00000000E+00*_TMP273); + _a0284 = _e1 - _c3; + _TMP281 = abs(_a0284); + _a0288 = _e1 - _c3.zwxy; + _TMP285 = abs(_a0288); + _a0292 = _c3.wxyz - _h5; + _TMP289 = abs(_a0292); + _a0296 = _c3.wxyz - _h5.yzwx; + _TMP293 = abs(_a0296); + _a0300 = _b1.zwxy - _b1.wxyz; + _TMP297 = abs(_a0300); + _TMP38 = _TMP281 + _TMP285 + _TMP289 + _TMP293 + 4.00000000E+00*_TMP297; + _a0306 = _b1.zwxy - _b1.yzwx; + _TMP303 = abs(_a0306); + _a0310 = _b1.zwxy - _i5; + _TMP307 = abs(_a0310); + _a0314 = _b1.wxyz - _i4; + _TMP311 = abs(_a0314); + _a0318 = _b1.wxyz - _b1; + _TMP315 = abs(_a0318); + _a0322 = _e1 - _c3.wxyz; + _TMP319 = abs(_a0322); + _TMP39 = _TMP303 + _TMP307 + _TMP311 + _TMP315 + 4.00000000E+00*_TMP319; + _edr = bvec4(_TMP38.x < _TMP39.x && _interp_restriction_lv1.x, _TMP38.y < _TMP39.y && _interp_restriction_lv1.y, _TMP38.z < _TMP39.z && _interp_restriction_lv1.z, _TMP38.w < _TMP39.w && _interp_restriction_lv1.w); + _a0326 = _b1.wxyz - _c3.zwxy; + _TMP323 = abs(_a0326); + _a0330 = _b1.zwxy - _c3; + _TMP327 = abs(_a0330); + _edr_left = bvec4((2.00000000E+00*_TMP323).x <= _TMP327.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP323).y <= _TMP327.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP323).z <= _TMP327.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP323).w <= _TMP327.w && _interp_restriction_lv2_left.w); + _a0334 = _b1.wxyz - _c3.zwxy; + _TMP331 = abs(_a0334); + _a0338 = _b1.zwxy - _c3; + _TMP335 = abs(_a0338); + _edr_up = bvec4(_TMP331.x >= (2.00000000E+00*_TMP335).x && _interp_restriction_lv2_up.x, _TMP331.y >= (2.00000000E+00*_TMP335).y && _interp_restriction_lv2_up.y, _TMP331.z >= (2.00000000E+00*_TMP335).z && _interp_restriction_lv2_up.z, _TMP331.w >= (2.00000000E+00*_TMP335).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0342 = _e1 - _b1.wxyz; + _TMP339 = abs(_a0342); + _a0346 = _e1 - _b1.zwxy; + _TMP343 = abs(_a0346); + _px = bvec4(_TMP339.x <= _TMP343.x, _TMP339.y <= _TMP343.y, _TMP339.z <= _TMP343.z, _TMP339.w <= _TMP343.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP46 = max(_final30, _final60); + _maximo = max(_TMP46, _final45); + if (_nc.x) { + if (_px.x) { + _TMP47 = _F; + } else { + _TMP47 = _H; + } + _pix1 = _TMP47; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP48 = _B2; + } else { + _TMP48 = _F; + } + _pix1 = _TMP48; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP49 = _D; + } else { + _TMP49 = _B2; + } + _pix1 = _TMP49; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP50 = _H; + } else { + _TMP50 = _D; + } + _pix1 = _TMP50; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP51 = _H; + } else { + _TMP51 = _D; + } + _pix2 = _TMP51; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP52 = _D; + } else { + _TMP52 = _B2; + } + _pix2 = _TMP52; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP53 = _B2; + } else { + _TMP53 = _F; + } + _pix2 = _TMP53; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP54 = _F; + } else { + _TMP54 = _H; + } + _pix2 = _TMP54; + _blend2 = _maximo.x; + } + } + } + } + _t0352 = float(_blend1); + _res1 = _E + _t0352*(_pix1 - _E); + _t0354 = float(_blend2); + _res2 = _E + _t0354*(_pix2 - _E); + _a0358 = _E - _res1; + _TMP65 = abs(vec3(float(_a0358.x), float(_a0358.y), float(_a0358.z))); + _df0356 = vec3(float(_TMP65.x), float(_TMP65.y), float(_TMP65.z)); + _TMP55 = _df0356.x + _df0356.y + _df0356.z; + _a0362 = _E - _res2; + _TMP65 = abs(vec3(float(_a0362.x), float(_a0362.y), float(_a0362.z))); + _df0360 = vec3(float(_TMP65.x), float(_TMP65.y), float(_TMP65.z)); + _TMP56 = _df0360.x + _df0360.y + _df0360.z; + _TMP57 = float((_TMP56 >= _TMP55)); + _res = _res1 + _TMP57*(_res2 - _res1); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/2xBR.glsl b/ios/Assets/shaders_glsl/xBR/2xBR.glsl new file mode 100644 index 0000000000..ff8151f2ed --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/2xBR.glsl @@ -0,0 +1,226 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT._t1.xy = vec2(0.00000000E+00, -_ps.y); + _OUT._t1.zw = vec2(-_ps.x, 0.00000000E+00); + _ret_0._position1 = _r0003; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +float _TMP16; +float _TMP17; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +float _TMP7; +float _TMP6; +float _TMP5; +float _TMP4; +float _TMP3; +float _TMP2; +float _TMP1; +float _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0023; +vec2 _c0041; +vec2 _c0043; +vec2 _c0045; +vec2 _c0049; +vec2 _c0051; +vec2 _c0053; +vec2 _c0055; +vec3 _b0089; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _res; + vec2 _fp; + vec2 _g1; + vec2 _g2; + vec3 _B; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + _x0023 = TEX0.xy*TextureSize; + _fp = fract(_x0023); + _TMP0 = float((_fp.x >= 5.00000000E-01)); + _TMP1 = float((_fp.y >= 5.00000000E-01)); + _TMP2 = float((_fp.x >= 5.00000000E-01)); + _TMP3 = float((_fp.y >= 5.00000000E-01)); + _g1 = TEX1.xy*((_TMP0 + _TMP1) - 1.00000000E+00) + TEX1.zw*(_TMP2 - _TMP3); + _TMP4 = float((_fp.y >= 5.00000000E-01)); + _TMP5 = float((_fp.x >= 5.00000000E-01)); + _TMP6 = float((_fp.x >= 5.00000000E-01)); + _TMP7 = float((_fp.y >= 5.00000000E-01)); + _g2 = TEX1.xy*(_TMP4 - _TMP5) + TEX1.zw*((_TMP6 + _TMP7) - 1.00000000E+00); + _c0041 = TEX0.xy + _g1; + _TMP8 = texture2D(Texture, _c0041); + _B = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0043 = (TEX0.xy + _g1) - _g2; + _TMP9 = texture2D(Texture, _c0043); + _C = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0045 = TEX0.xy + _g2; + _TMP10 = texture2D(Texture, _c0045); + _D = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0049 = TEX0.xy - _g2; + _TMP12 = texture2D(Texture, _c0049); + _F = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0051 = (TEX0.xy - _g1) + _g2; + _TMP13 = texture2D(Texture, _c0051); + _G = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0053 = TEX0.xy - _g1; + _TMP14 = texture2D(Texture, _c0053); + _H = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0055 = (TEX0.xy - _g1) - _g2; + _TMP15 = texture2D(Texture, _c0055); + _I = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP17 = dot(vec3(float(_B.x), float(_B.y), float(_B.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _b = float(_TMP16); + _TMP17 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _c = float(_TMP16); + _TMP17 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _d = float(_TMP16); + _TMP17 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _e = float(_TMP16); + _TMP17 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _f = float(_TMP16); + _TMP17 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _g = float(_TMP16); + _TMP17 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _h = float(_TMP16); + _TMP17 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _i = float(_TMP16); + _res = vec3(float(_E.x), float(_E.y), float(_E.z)); + if (_h == _f && _h != _e && (_e == _g && (_h == _i || _e == _d) || _e == _c && (_h == _i || _e == _b))) { + _b0089 = vec3(float(_F.x), float(_F.y), float(_F.z)); + _res = _res + 5.00000000E-01*(_b0089 - _res); + } + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/3xBR-v3.8a.glsl b/ios/Assets/shaders_glsl/xBR/3xBR-v3.8a.glsl new file mode 100644 index 0000000000..a2202d5ca5 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/3xBR-v3.8a.glsl @@ -0,0 +1,556 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP46; +float _TMP45; +float _TMP44; +vec3 _TMP53; +vec3 _TMP43; +vec3 _TMP42; +vec3 _TMP41; +vec3 _TMP40; +vec3 _TMP39; +vec3 _TMP38; +vec3 _TMP37; +vec3 _TMP36; +vec4 _TMP35; +vec4 _TMP28; +vec4 _TMP27; +vec4 _TMP54; +float _TMP52; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0068; +vec4 _r0112; +vec4 _r0122; +vec4 _r0132; +vec4 _r0142; +vec4 _r0152; +vec4 _r0162; +vec4 _x0174; +vec4 _TMP175; +vec4 _x0184; +vec4 _TMP185; +vec4 _x0194; +vec4 _TMP195; +vec4 _TMP203; +vec4 _a0206; +vec4 _TMP207; +vec4 _a0210; +vec4 _TMP211; +vec4 _a0214; +vec4 _TMP215; +vec4 _a0218; +vec4 _TMP219; +vec4 _a0222; +vec4 _TMP225; +vec4 _a0228; +vec4 _TMP229; +vec4 _a0232; +vec4 _TMP233; +vec4 _a0236; +vec4 _TMP237; +vec4 _a0240; +vec4 _TMP241; +vec4 _a0244; +vec4 _TMP245; +vec4 _a0248; +vec4 _TMP249; +vec4 _a0252; +vec4 _TMP253; +vec4 _a0256; +vec4 _TMP257; +vec4 _a0260; +vec4 _TMP261; +vec4 _a0264; +vec4 _TMP265; +vec4 _a0268; +float _t0274; +float _t0276; +vec3 _df0278; +vec3 _a0280; +vec3 _df0282; +vec3 _a0284; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A1; + vec3 _B1; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0068 = TEX0.xy*TextureSize; + _fp = fract(_x0068); + _TMP0 = texture2D(Texture, VARt1.xw); + _A1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP52 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.x = float(_TMP52); + _TMP52 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.y = float(_TMP52); + _TMP52 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.z = float(_TMP52); + _TMP52 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.w = float(_TMP52); + _b1 = vec4(float(_r0112.x), float(_r0112.y), float(_r0112.z), float(_r0112.w)); + _TMP52 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.x = float(_TMP52); + _TMP52 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.y = float(_TMP52); + _TMP52 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.z = float(_TMP52); + _TMP52 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.w = float(_TMP52); + _c3 = vec4(float(_r0122.x), float(_r0122.y), float(_r0122.z), float(_r0122.w)); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.x = float(_TMP52); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.y = float(_TMP52); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.z = float(_TMP52); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.w = float(_TMP52); + _e1 = vec4(float(_r0132.x), float(_r0132.y), float(_r0132.z), float(_r0132.w)); + _TMP52 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.x = float(_TMP52); + _TMP52 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.y = float(_TMP52); + _TMP52 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.z = float(_TMP52); + _TMP52 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.w = float(_TMP52); + _i4 = vec4(float(_r0142.x), float(_r0142.y), float(_r0142.z), float(_r0142.w)); + _TMP52 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.x = float(_TMP52); + _TMP52 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.y = float(_TMP52); + _TMP52 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.z = float(_TMP52); + _TMP52 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.w = float(_TMP52); + _i5 = vec4(float(_r0152.x), float(_r0152.y), float(_r0152.z), float(_r0152.w)); + _TMP52 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.x = float(_TMP52); + _TMP52 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.y = float(_TMP52); + _TMP52 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.z = float(_TMP52); + _TMP52 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.w = float(_TMP52); + _h5 = vec4(float(_r0162.x), float(_r0162.y), float(_r0162.z), float(_r0162.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z, _e1.y != _b1.x && _e1.y != _b1.w, _e1.z != _b1.y && _e1.z != _b1.x, _e1.w != _b1.z && _e1.w != _b1.y); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0174 = (_fx - vec4( 1.10000002E+00, 9.99999940E-02, -8.99999976E-01, 9.99999940E-02))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 7.99999952E-01); + _TMP54 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0174); + _TMP175 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP54); + _fx45 = _TMP175*_TMP175*(3.00000000E+00 - 2.00000000E+00*_TMP175); + _x0184 = (_fx_left - vec4( 6.00000024E-01, 6.00000024E-01, -8.99999976E-01, -4.00000006E-01))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 8.00000012E-01); + _TMP54 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0184); + _TMP185 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP54); + _fx30 = _TMP185*_TMP185*(3.00000000E+00 - 2.00000000E+00*_TMP185); + _x0194 = (_fx_up - vec4( 1.60000002E+00, -4.00000006E-01, -1.39999998E+00, 9.99999940E-02))/vec4( 8.00000072E-01, 8.00000012E-01, 7.99999952E-01, 7.99999952E-01); + _TMP54 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0194); + _TMP195 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP54); + _fx60 = _TMP195*_TMP195*(3.00000000E+00 - 2.00000000E+00*_TMP195); + _a0206 = _e1 - _c3; + _TMP203 = abs(_a0206); + _a0210 = _e1 - _c3.zwxy; + _TMP207 = abs(_a0210); + _a0214 = _c3.wxyz - _h5; + _TMP211 = abs(_a0214); + _a0218 = _c3.wxyz - _h5.yzwx; + _TMP215 = abs(_a0218); + _a0222 = _b1.zwxy - _b1.wxyz; + _TMP219 = abs(_a0222); + _TMP27 = _TMP203 + _TMP207 + _TMP211 + _TMP215 + 4.00000000E+00*_TMP219; + _a0228 = _b1.zwxy - _b1.yzwx; + _TMP225 = abs(_a0228); + _a0232 = _b1.zwxy - _i5; + _TMP229 = abs(_a0232); + _a0236 = _b1.wxyz - _i4; + _TMP233 = abs(_a0236); + _a0240 = _b1.wxyz - _b1; + _TMP237 = abs(_a0240); + _a0244 = _e1 - _c3.wxyz; + _TMP241 = abs(_a0244); + _TMP28 = _TMP225 + _TMP229 + _TMP233 + _TMP237 + 4.00000000E+00*_TMP241; + _edr = bvec4(_TMP27.x < _TMP28.x && _interp_restriction_lv1.x, _TMP27.y < _TMP28.y && _interp_restriction_lv1.y, _TMP27.z < _TMP28.z && _interp_restriction_lv1.z, _TMP27.w < _TMP28.w && _interp_restriction_lv1.w); + _a0248 = _b1.wxyz - _c3.zwxy; + _TMP245 = abs(_a0248); + _a0252 = _b1.zwxy - _c3; + _TMP249 = abs(_a0252); + _edr_left = bvec4((2.00000000E+00*_TMP245).x <= _TMP249.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP245).y <= _TMP249.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP245).z <= _TMP249.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP245).w <= _TMP249.w && _interp_restriction_lv2_left.w); + _a0256 = _b1.wxyz - _c3.zwxy; + _TMP253 = abs(_a0256); + _a0260 = _b1.zwxy - _c3; + _TMP257 = abs(_a0260); + _edr_up = bvec4(_TMP253.x >= (2.00000000E+00*_TMP257).x && _interp_restriction_lv2_up.x, _TMP253.y >= (2.00000000E+00*_TMP257).y && _interp_restriction_lv2_up.y, _TMP253.z >= (2.00000000E+00*_TMP257).z && _interp_restriction_lv2_up.z, _TMP253.w >= (2.00000000E+00*_TMP257).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0264 = _e1 - _b1.wxyz; + _TMP261 = abs(_a0264); + _a0268 = _e1 - _b1.zwxy; + _TMP265 = abs(_a0268); + _px = bvec4(_TMP261.x <= _TMP265.x, _TMP261.y <= _TMP265.y, _TMP261.z <= _TMP265.z, _TMP261.w <= _TMP265.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP35 = max(_final30, _final60); + _maximo = max(_TMP35, _final45); + if (_nc.x) { + if (_px.x) { + _TMP36 = _F; + } else { + _TMP36 = _H; + } + _pix1 = _TMP36; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP37 = _B2; + } else { + _TMP37 = _F; + } + _pix1 = _TMP37; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP38 = _D; + } else { + _TMP38 = _B2; + } + _pix1 = _TMP38; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP39 = _H; + } else { + _TMP39 = _D; + } + _pix1 = _TMP39; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP40 = _H; + } else { + _TMP40 = _D; + } + _pix2 = _TMP40; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP41 = _D; + } else { + _TMP41 = _B2; + } + _pix2 = _TMP41; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP42 = _B2; + } else { + _TMP42 = _F; + } + _pix2 = _TMP42; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP43 = _F; + } else { + _TMP43 = _H; + } + _pix2 = _TMP43; + _blend2 = _maximo.x; + } + } + } + } + _t0274 = float(_blend1); + _res1 = _E + _t0274*(_pix1 - _E); + _t0276 = float(_blend2); + _res2 = _E + _t0276*(_pix2 - _E); + _a0280 = _E - _res1; + _TMP53 = abs(vec3(float(_a0280.x), float(_a0280.y), float(_a0280.z))); + _df0278 = vec3(float(_TMP53.x), float(_TMP53.y), float(_TMP53.z)); + _TMP44 = _df0278.x + _df0278.y + _df0278.z; + _a0284 = _E - _res2; + _TMP53 = abs(vec3(float(_a0284.x), float(_a0284.y), float(_a0284.z))); + _df0282 = vec3(float(_TMP53.x), float(_TMP53.y), float(_TMP53.z)); + _TMP45 = _df0282.x + _df0282.y + _df0282.z; + _TMP46 = float((_TMP45 >= _TMP44)); + _res = _res1 + _TMP46*(_res2 - _res1); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/3xBR-v3.8b.glsl b/ios/Assets/shaders_glsl/xBR/3xBR-v3.8b.glsl new file mode 100644 index 0000000000..c0b4f1852a --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/3xBR-v3.8b.glsl @@ -0,0 +1,598 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP53; +float _TMP52; +float _TMP51; +vec3 _TMP61; +vec3 _TMP50; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec3 _TMP46; +vec3 _TMP45; +vec3 _TMP44; +vec3 _TMP43; +vec4 _TMP42; +vec4 _TMP35; +vec4 _TMP34; +vec4 _TMP62; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP60; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0076; +vec4 _r0120; +vec4 _r0130; +vec4 _r0140; +vec4 _r0150; +vec4 _r0160; +vec4 _r0170; +vec4 _TMP181; +vec4 _a0184; +vec4 _TMP187; +vec4 _a0190; +vec4 _TMP193; +vec4 _a0196; +vec4 _TMP199; +vec4 _a0202; +vec4 _TMP205; +vec4 _a0208; +vec4 _TMP211; +vec4 _a0214; +vec4 _TMP217; +vec4 _a0220; +vec4 _x0224; +vec4 _TMP225; +vec4 _x0234; +vec4 _TMP235; +vec4 _x0244; +vec4 _TMP245; +vec4 _TMP253; +vec4 _a0256; +vec4 _TMP257; +vec4 _a0260; +vec4 _TMP261; +vec4 _a0264; +vec4 _TMP265; +vec4 _a0268; +vec4 _TMP269; +vec4 _a0272; +vec4 _TMP275; +vec4 _a0278; +vec4 _TMP279; +vec4 _a0282; +vec4 _TMP283; +vec4 _a0286; +vec4 _TMP287; +vec4 _a0290; +vec4 _TMP291; +vec4 _a0294; +vec4 _TMP295; +vec4 _a0298; +vec4 _TMP299; +vec4 _a0302; +vec4 _TMP303; +vec4 _a0306; +vec4 _TMP307; +vec4 _a0310; +vec4 _TMP311; +vec4 _a0314; +vec4 _TMP315; +vec4 _a0318; +float _t0324; +float _t0326; +vec3 _df0328; +vec3 _a0330; +vec3 _df0332; +vec3 _a0334; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0076 = TEX0.xy*TextureSize; + _fp = fract(_x0076); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP60 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.x = float(_TMP60); + _TMP60 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.y = float(_TMP60); + _TMP60 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.z = float(_TMP60); + _TMP60 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.w = float(_TMP60); + _b1 = vec4(float(_r0120.x), float(_r0120.y), float(_r0120.z), float(_r0120.w)); + _TMP60 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.x = float(_TMP60); + _TMP60 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.y = float(_TMP60); + _TMP60 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.z = float(_TMP60); + _TMP60 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.w = float(_TMP60); + _c3 = vec4(float(_r0130.x), float(_r0130.y), float(_r0130.z), float(_r0130.w)); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.x = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.y = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.z = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.w = float(_TMP60); + _e1 = vec4(float(_r0140.x), float(_r0140.y), float(_r0140.z), float(_r0140.w)); + _TMP60 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.x = float(_TMP60); + _TMP60 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.y = float(_TMP60); + _TMP60 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.z = float(_TMP60); + _TMP60 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.w = float(_TMP60); + _i4 = vec4(float(_r0150.x), float(_r0150.y), float(_r0150.z), float(_r0150.w)); + _TMP60 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.x = float(_TMP60); + _TMP60 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.y = float(_TMP60); + _TMP60 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.z = float(_TMP60); + _TMP60 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.w = float(_TMP60); + _i5 = vec4(float(_r0160.x), float(_r0160.y), float(_r0160.z), float(_r0160.w)); + _TMP60 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.x = float(_TMP60); + _TMP60 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.y = float(_TMP60); + _TMP60 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.z = float(_TMP60); + _TMP60 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.w = float(_TMP60); + _h5 = vec4(float(_r0170.x), float(_r0170.y), float(_r0170.z), float(_r0170.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0184 = _b1.wxyz - _b1; + _TMP181 = abs(_a0184); + _TMP27 = bvec4(_TMP181.x < 1.50000000E+01, _TMP181.y < 1.50000000E+01, _TMP181.z < 1.50000000E+01, _TMP181.w < 1.50000000E+01); + _a0190 = _b1.zwxy - _b1.yzwx; + _TMP187 = abs(_a0190); + _TMP28 = bvec4(_TMP187.x < 1.50000000E+01, _TMP187.y < 1.50000000E+01, _TMP187.z < 1.50000000E+01, _TMP187.w < 1.50000000E+01); + _a0196 = _e1 - _c3.wxyz; + _TMP193 = abs(_a0196); + _TMP29 = bvec4(_TMP193.x < 1.50000000E+01, _TMP193.y < 1.50000000E+01, _TMP193.z < 1.50000000E+01, _TMP193.w < 1.50000000E+01); + _a0202 = _b1.wxyz - _i4; + _TMP199 = abs(_a0202); + _TMP30 = bvec4(_TMP199.x < 1.50000000E+01, _TMP199.y < 1.50000000E+01, _TMP199.z < 1.50000000E+01, _TMP199.w < 1.50000000E+01); + _a0208 = _b1.zwxy - _i5; + _TMP205 = abs(_a0208); + _TMP31 = bvec4(_TMP205.x < 1.50000000E+01, _TMP205.y < 1.50000000E+01, _TMP205.z < 1.50000000E+01, _TMP205.w < 1.50000000E+01); + _a0214 = _e1 - _c3.zwxy; + _TMP211 = abs(_a0214); + _TMP32 = bvec4(_TMP211.x < 1.50000000E+01, _TMP211.y < 1.50000000E+01, _TMP211.z < 1.50000000E+01, _TMP211.w < 1.50000000E+01); + _a0220 = _e1 - _c3; + _TMP217 = abs(_a0220); + _TMP33 = bvec4(_TMP217.x < 1.50000000E+01, _TMP217.y < 1.50000000E+01, _TMP217.z < 1.50000000E+01, _TMP217.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || _TMP29.x && !_TMP30.x && !_TMP31.x || _TMP32.x || _TMP33.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || _TMP29.y && !_TMP30.y && !_TMP31.y || _TMP32.y || _TMP33.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || _TMP29.z && !_TMP30.z && !_TMP31.z || _TMP32.z || _TMP33.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || _TMP29.w && !_TMP30.w && !_TMP31.w || _TMP32.w || _TMP33.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0224 = (_fx - vec4( 1.10000002E+00, 9.99999940E-02, -8.99999976E-01, 9.99999940E-02))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 7.99999952E-01); + _TMP62 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0224); + _TMP225 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP62); + _fx45 = _TMP225*_TMP225*(3.00000000E+00 - 2.00000000E+00*_TMP225); + _x0234 = (_fx_left - vec4( 6.00000024E-01, 6.00000024E-01, -8.99999976E-01, -4.00000006E-01))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 8.00000012E-01); + _TMP62 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0234); + _TMP235 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP62); + _fx30 = _TMP235*_TMP235*(3.00000000E+00 - 2.00000000E+00*_TMP235); + _x0244 = (_fx_up - vec4( 1.60000002E+00, -4.00000006E-01, -1.39999998E+00, 9.99999940E-02))/vec4( 8.00000072E-01, 8.00000012E-01, 7.99999952E-01, 7.99999952E-01); + _TMP62 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0244); + _TMP245 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP62); + _fx60 = _TMP245*_TMP245*(3.00000000E+00 - 2.00000000E+00*_TMP245); + _a0256 = _e1 - _c3; + _TMP253 = abs(_a0256); + _a0260 = _e1 - _c3.zwxy; + _TMP257 = abs(_a0260); + _a0264 = _c3.wxyz - _h5; + _TMP261 = abs(_a0264); + _a0268 = _c3.wxyz - _h5.yzwx; + _TMP265 = abs(_a0268); + _a0272 = _b1.zwxy - _b1.wxyz; + _TMP269 = abs(_a0272); + _TMP34 = _TMP253 + _TMP257 + _TMP261 + _TMP265 + 4.00000000E+00*_TMP269; + _a0278 = _b1.zwxy - _b1.yzwx; + _TMP275 = abs(_a0278); + _a0282 = _b1.zwxy - _i5; + _TMP279 = abs(_a0282); + _a0286 = _b1.wxyz - _i4; + _TMP283 = abs(_a0286); + _a0290 = _b1.wxyz - _b1; + _TMP287 = abs(_a0290); + _a0294 = _e1 - _c3.wxyz; + _TMP291 = abs(_a0294); + _TMP35 = _TMP275 + _TMP279 + _TMP283 + _TMP287 + 4.00000000E+00*_TMP291; + _edr = bvec4(_TMP34.x < _TMP35.x && _interp_restriction_lv1.x, _TMP34.y < _TMP35.y && _interp_restriction_lv1.y, _TMP34.z < _TMP35.z && _interp_restriction_lv1.z, _TMP34.w < _TMP35.w && _interp_restriction_lv1.w); + _a0298 = _b1.wxyz - _c3.zwxy; + _TMP295 = abs(_a0298); + _a0302 = _b1.zwxy - _c3; + _TMP299 = abs(_a0302); + _edr_left = bvec4((2.00000000E+00*_TMP295).x <= _TMP299.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP295).y <= _TMP299.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP295).z <= _TMP299.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP295).w <= _TMP299.w && _interp_restriction_lv2_left.w); + _a0306 = _b1.wxyz - _c3.zwxy; + _TMP303 = abs(_a0306); + _a0310 = _b1.zwxy - _c3; + _TMP307 = abs(_a0310); + _edr_up = bvec4(_TMP303.x >= (2.00000000E+00*_TMP307).x && _interp_restriction_lv2_up.x, _TMP303.y >= (2.00000000E+00*_TMP307).y && _interp_restriction_lv2_up.y, _TMP303.z >= (2.00000000E+00*_TMP307).z && _interp_restriction_lv2_up.z, _TMP303.w >= (2.00000000E+00*_TMP307).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0314 = _e1 - _b1.wxyz; + _TMP311 = abs(_a0314); + _a0318 = _e1 - _b1.zwxy; + _TMP315 = abs(_a0318); + _px = bvec4(_TMP311.x <= _TMP315.x, _TMP311.y <= _TMP315.y, _TMP311.z <= _TMP315.z, _TMP311.w <= _TMP315.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP42 = max(_final30, _final60); + _maximo = max(_TMP42, _final45); + if (_nc.x) { + if (_px.x) { + _TMP43 = _F; + } else { + _TMP43 = _H; + } + _pix1 = _TMP43; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP44 = _B2; + } else { + _TMP44 = _F; + } + _pix1 = _TMP44; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP45 = _D; + } else { + _TMP45 = _B2; + } + _pix1 = _TMP45; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP46 = _H; + } else { + _TMP46 = _D; + } + _pix1 = _TMP46; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP47 = _H; + } else { + _TMP47 = _D; + } + _pix2 = _TMP47; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP48 = _D; + } else { + _TMP48 = _B2; + } + _pix2 = _TMP48; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP49 = _B2; + } else { + _TMP49 = _F; + } + _pix2 = _TMP49; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP50 = _F; + } else { + _TMP50 = _H; + } + _pix2 = _TMP50; + _blend2 = _maximo.x; + } + } + } + } + _t0324 = float(_blend1); + _res1 = _E + _t0324*(_pix1 - _E); + _t0326 = float(_blend2); + _res2 = _E + _t0326*(_pix2 - _E); + _a0330 = _E - _res1; + _TMP61 = abs(vec3(float(_a0330.x), float(_a0330.y), float(_a0330.z))); + _df0328 = vec3(float(_TMP61.x), float(_TMP61.y), float(_TMP61.z)); + _TMP51 = _df0328.x + _df0328.y + _df0328.z; + _a0334 = _E - _res2; + _TMP61 = abs(vec3(float(_a0334.x), float(_a0334.y), float(_a0334.z))); + _df0332 = vec3(float(_TMP61.x), float(_TMP61.y), float(_TMP61.z)); + _TMP52 = _df0332.x + _df0332.y + _df0332.z; + _TMP53 = float((_TMP52 >= _TMP51)); + _res = _res1 + _TMP53*(_res2 - _res1); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/3xBR-v3.8c.glsl b/ios/Assets/shaders_glsl/xBR/3xBR-v3.8c.glsl new file mode 100644 index 0000000000..0034c40a02 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/3xBR-v3.8c.glsl @@ -0,0 +1,622 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP57; +float _TMP56; +float _TMP55; +vec3 _TMP65; +vec3 _TMP54; +vec3 _TMP53; +vec3 _TMP52; +vec3 _TMP51; +vec3 _TMP50; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec4 _TMP46; +vec4 _TMP39; +vec4 _TMP38; +vec4 _TMP66; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP64; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0080; +vec4 _r0124; +vec4 _r0134; +vec4 _r0144; +vec4 _r0154; +vec4 _r0164; +vec4 _r0174; +vec4 _TMP185; +vec4 _a0188; +vec4 _TMP191; +vec4 _a0194; +vec4 _TMP197; +vec4 _a0200; +vec4 _TMP203; +vec4 _a0206; +vec4 _TMP209; +vec4 _a0212; +vec4 _TMP215; +vec4 _a0218; +vec4 _TMP221; +vec4 _a0224; +vec4 _TMP227; +vec4 _a0230; +vec4 _TMP233; +vec4 _a0236; +vec4 _TMP239; +vec4 _a0242; +vec4 _TMP245; +vec4 _a0248; +vec4 _x0252; +vec4 _TMP253; +vec4 _x0262; +vec4 _TMP263; +vec4 _x0272; +vec4 _TMP273; +vec4 _TMP281; +vec4 _a0284; +vec4 _TMP285; +vec4 _a0288; +vec4 _TMP289; +vec4 _a0292; +vec4 _TMP293; +vec4 _a0296; +vec4 _TMP297; +vec4 _a0300; +vec4 _TMP303; +vec4 _a0306; +vec4 _TMP307; +vec4 _a0310; +vec4 _TMP311; +vec4 _a0314; +vec4 _TMP315; +vec4 _a0318; +vec4 _TMP319; +vec4 _a0322; +vec4 _TMP323; +vec4 _a0326; +vec4 _TMP327; +vec4 _a0330; +vec4 _TMP331; +vec4 _a0334; +vec4 _TMP335; +vec4 _a0338; +vec4 _TMP339; +vec4 _a0342; +vec4 _TMP343; +vec4 _a0346; +float _t0352; +float _t0354; +vec3 _df0356; +vec3 _a0358; +vec3 _df0360; +vec3 _a0362; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0080 = TEX0.xy*TextureSize; + _fp = fract(_x0080); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP64 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.x = float(_TMP64); + _TMP64 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.y = float(_TMP64); + _TMP64 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.z = float(_TMP64); + _TMP64 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.w = float(_TMP64); + _b1 = vec4(float(_r0124.x), float(_r0124.y), float(_r0124.z), float(_r0124.w)); + _TMP64 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.x = float(_TMP64); + _TMP64 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.y = float(_TMP64); + _TMP64 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.z = float(_TMP64); + _TMP64 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.w = float(_TMP64); + _c3 = vec4(float(_r0134.x), float(_r0134.y), float(_r0134.z), float(_r0134.w)); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.x = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.y = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.z = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.w = float(_TMP64); + _e1 = vec4(float(_r0144.x), float(_r0144.y), float(_r0144.z), float(_r0144.w)); + _TMP64 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.x = float(_TMP64); + _TMP64 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.y = float(_TMP64); + _TMP64 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.z = float(_TMP64); + _TMP64 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.w = float(_TMP64); + _i4 = vec4(float(_r0154.x), float(_r0154.y), float(_r0154.z), float(_r0154.w)); + _TMP64 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.x = float(_TMP64); + _TMP64 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.y = float(_TMP64); + _TMP64 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.z = float(_TMP64); + _TMP64 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.w = float(_TMP64); + _i5 = vec4(float(_r0164.x), float(_r0164.y), float(_r0164.z), float(_r0164.w)); + _TMP64 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.x = float(_TMP64); + _TMP64 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.y = float(_TMP64); + _TMP64 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.z = float(_TMP64); + _TMP64 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.w = float(_TMP64); + _h5 = vec4(float(_r0174.x), float(_r0174.y), float(_r0174.z), float(_r0174.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0188 = _b1.wxyz - _b1; + _TMP185 = abs(_a0188); + _TMP27 = bvec4(_TMP185.x < 1.50000000E+01, _TMP185.y < 1.50000000E+01, _TMP185.z < 1.50000000E+01, _TMP185.w < 1.50000000E+01); + _a0194 = _b1.wxyz - _c3; + _TMP191 = abs(_a0194); + _TMP28 = bvec4(_TMP191.x < 1.50000000E+01, _TMP191.y < 1.50000000E+01, _TMP191.z < 1.50000000E+01, _TMP191.w < 1.50000000E+01); + _a0200 = _b1.zwxy - _b1.yzwx; + _TMP197 = abs(_a0200); + _TMP29 = bvec4(_TMP197.x < 1.50000000E+01, _TMP197.y < 1.50000000E+01, _TMP197.z < 1.50000000E+01, _TMP197.w < 1.50000000E+01); + _a0206 = _b1.zwxy - _c3.zwxy; + _TMP203 = abs(_a0206); + _TMP30 = bvec4(_TMP203.x < 1.50000000E+01, _TMP203.y < 1.50000000E+01, _TMP203.z < 1.50000000E+01, _TMP203.w < 1.50000000E+01); + _a0212 = _e1 - _c3.wxyz; + _TMP209 = abs(_a0212); + _TMP31 = bvec4(_TMP209.x < 1.50000000E+01, _TMP209.y < 1.50000000E+01, _TMP209.z < 1.50000000E+01, _TMP209.w < 1.50000000E+01); + _a0218 = _b1.wxyz - _h5.yzwx; + _TMP215 = abs(_a0218); + _TMP32 = bvec4(_TMP215.x < 1.50000000E+01, _TMP215.y < 1.50000000E+01, _TMP215.z < 1.50000000E+01, _TMP215.w < 1.50000000E+01); + _a0224 = _b1.wxyz - _i4; + _TMP221 = abs(_a0224); + _TMP33 = bvec4(_TMP221.x < 1.50000000E+01, _TMP221.y < 1.50000000E+01, _TMP221.z < 1.50000000E+01, _TMP221.w < 1.50000000E+01); + _a0230 = _b1.zwxy - _h5; + _TMP227 = abs(_a0230); + _TMP34 = bvec4(_TMP227.x < 1.50000000E+01, _TMP227.y < 1.50000000E+01, _TMP227.z < 1.50000000E+01, _TMP227.w < 1.50000000E+01); + _a0236 = _b1.zwxy - _i5; + _TMP233 = abs(_a0236); + _TMP35 = bvec4(_TMP233.x < 1.50000000E+01, _TMP233.y < 1.50000000E+01, _TMP233.z < 1.50000000E+01, _TMP233.w < 1.50000000E+01); + _a0242 = _e1 - _c3.zwxy; + _TMP239 = abs(_a0242); + _TMP36 = bvec4(_TMP239.x < 1.50000000E+01, _TMP239.y < 1.50000000E+01, _TMP239.z < 1.50000000E+01, _TMP239.w < 1.50000000E+01); + _a0248 = _e1 - _c3; + _TMP245 = abs(_a0248); + _TMP37 = bvec4(_TMP245.x < 1.50000000E+01, _TMP245.y < 1.50000000E+01, _TMP245.z < 1.50000000E+01, _TMP245.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0252 = (_fx - vec4( 1.10000002E+00, 9.99999940E-02, -8.99999976E-01, 9.99999940E-02))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 7.99999952E-01); + _TMP66 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0252); + _TMP253 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP66); + _fx45 = _TMP253*_TMP253*(3.00000000E+00 - 2.00000000E+00*_TMP253); + _x0262 = (_fx_left - vec4( 6.00000024E-01, 6.00000024E-01, -8.99999976E-01, -4.00000006E-01))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 8.00000012E-01); + _TMP66 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0262); + _TMP263 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP66); + _fx30 = _TMP263*_TMP263*(3.00000000E+00 - 2.00000000E+00*_TMP263); + _x0272 = (_fx_up - vec4( 1.60000002E+00, -4.00000006E-01, -1.39999998E+00, 9.99999940E-02))/vec4( 8.00000072E-01, 8.00000012E-01, 7.99999952E-01, 7.99999952E-01); + _TMP66 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0272); + _TMP273 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP66); + _fx60 = _TMP273*_TMP273*(3.00000000E+00 - 2.00000000E+00*_TMP273); + _a0284 = _e1 - _c3; + _TMP281 = abs(_a0284); + _a0288 = _e1 - _c3.zwxy; + _TMP285 = abs(_a0288); + _a0292 = _c3.wxyz - _h5; + _TMP289 = abs(_a0292); + _a0296 = _c3.wxyz - _h5.yzwx; + _TMP293 = abs(_a0296); + _a0300 = _b1.zwxy - _b1.wxyz; + _TMP297 = abs(_a0300); + _TMP38 = _TMP281 + _TMP285 + _TMP289 + _TMP293 + 4.00000000E+00*_TMP297; + _a0306 = _b1.zwxy - _b1.yzwx; + _TMP303 = abs(_a0306); + _a0310 = _b1.zwxy - _i5; + _TMP307 = abs(_a0310); + _a0314 = _b1.wxyz - _i4; + _TMP311 = abs(_a0314); + _a0318 = _b1.wxyz - _b1; + _TMP315 = abs(_a0318); + _a0322 = _e1 - _c3.wxyz; + _TMP319 = abs(_a0322); + _TMP39 = _TMP303 + _TMP307 + _TMP311 + _TMP315 + 4.00000000E+00*_TMP319; + _edr = bvec4(_TMP38.x < _TMP39.x && _interp_restriction_lv1.x, _TMP38.y < _TMP39.y && _interp_restriction_lv1.y, _TMP38.z < _TMP39.z && _interp_restriction_lv1.z, _TMP38.w < _TMP39.w && _interp_restriction_lv1.w); + _a0326 = _b1.wxyz - _c3.zwxy; + _TMP323 = abs(_a0326); + _a0330 = _b1.zwxy - _c3; + _TMP327 = abs(_a0330); + _edr_left = bvec4((2.00000000E+00*_TMP323).x <= _TMP327.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP323).y <= _TMP327.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP323).z <= _TMP327.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP323).w <= _TMP327.w && _interp_restriction_lv2_left.w); + _a0334 = _b1.wxyz - _c3.zwxy; + _TMP331 = abs(_a0334); + _a0338 = _b1.zwxy - _c3; + _TMP335 = abs(_a0338); + _edr_up = bvec4(_TMP331.x >= (2.00000000E+00*_TMP335).x && _interp_restriction_lv2_up.x, _TMP331.y >= (2.00000000E+00*_TMP335).y && _interp_restriction_lv2_up.y, _TMP331.z >= (2.00000000E+00*_TMP335).z && _interp_restriction_lv2_up.z, _TMP331.w >= (2.00000000E+00*_TMP335).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0342 = _e1 - _b1.wxyz; + _TMP339 = abs(_a0342); + _a0346 = _e1 - _b1.zwxy; + _TMP343 = abs(_a0346); + _px = bvec4(_TMP339.x <= _TMP343.x, _TMP339.y <= _TMP343.y, _TMP339.z <= _TMP343.z, _TMP339.w <= _TMP343.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP46 = max(_final30, _final60); + _maximo = max(_TMP46, _final45); + if (_nc.x) { + if (_px.x) { + _TMP47 = _F; + } else { + _TMP47 = _H; + } + _pix1 = _TMP47; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP48 = _B2; + } else { + _TMP48 = _F; + } + _pix1 = _TMP48; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP49 = _D; + } else { + _TMP49 = _B2; + } + _pix1 = _TMP49; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP50 = _H; + } else { + _TMP50 = _D; + } + _pix1 = _TMP50; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP51 = _H; + } else { + _TMP51 = _D; + } + _pix2 = _TMP51; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP52 = _D; + } else { + _TMP52 = _B2; + } + _pix2 = _TMP52; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP53 = _B2; + } else { + _TMP53 = _F; + } + _pix2 = _TMP53; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP54 = _F; + } else { + _TMP54 = _H; + } + _pix2 = _TMP54; + _blend2 = _maximo.x; + } + } + } + } + _t0352 = float(_blend1); + _res1 = _E + _t0352*(_pix1 - _E); + _t0354 = float(_blend2); + _res2 = _E + _t0354*(_pix2 - _E); + _a0358 = _E - _res1; + _TMP65 = abs(vec3(float(_a0358.x), float(_a0358.y), float(_a0358.z))); + _df0356 = vec3(float(_TMP65.x), float(_TMP65.y), float(_TMP65.z)); + _TMP55 = _df0356.x + _df0356.y + _df0356.z; + _a0362 = _E - _res2; + _TMP65 = abs(vec3(float(_a0362.x), float(_a0362.y), float(_a0362.z))); + _df0360 = vec3(float(_TMP65.x), float(_TMP65.y), float(_TMP65.z)); + _TMP56 = _df0360.x + _df0360.y + _df0360.z; + _TMP57 = float((_TMP56 >= _TMP55)); + _res = _res1 + _TMP57*(_res2 - _res1); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/3xBR.glsl b/ios/Assets/shaders_glsl/xBR/3xBR.glsl new file mode 100644 index 0000000000..28c56a3517 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/3xBR.glsl @@ -0,0 +1,277 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT._t1.xy = vec2(0.00000000E+00, -_ps.y); + _OUT._t1.zw = vec2(-_ps.x, 0.00000000E+00); + _ret_0._position1 = _r0003; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP16; +vec3 _TMP19; +vec3 _TMP22; +vec3 _TMP23; +vec3 _TMP20; +vec3 _TMP21; +vec3 _TMP17; +vec3 _TMP18; +float _TMP24; +float _TMP25; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +float _TMP7; +float _TMP6; +float _TMP5; +float _TMP4; +float _TMP3; +float _TMP2; +float _TMP1; +float _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0031; +vec2 _c0049; +vec2 _c0051; +vec2 _c0053; +vec2 _c0057; +vec2 _c0059; +vec2 _c0061; +vec2 _c0063; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec2 _g1; + vec2 _g2; + vec3 _B; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _E5; + vec3 _E8; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + vec3 _res; + _x0031 = TEX0.xy*TextureSize; + _fp = fract(_x0031); + _TMP0 = float((_fp.x >= 5.00000000E-01)); + _TMP1 = float((_fp.y >= 5.00000000E-01)); + _TMP2 = float((_fp.x >= 5.00000000E-01)); + _TMP3 = float((_fp.y >= 5.00000000E-01)); + _g1 = TEX1.xy*((_TMP0 + _TMP1) - 1.00000000E+00) + TEX1.zw*(_TMP2 - _TMP3); + _TMP4 = float((_fp.y >= 5.00000000E-01)); + _TMP5 = float((_fp.x >= 5.00000000E-01)); + _TMP6 = float((_fp.x >= 5.00000000E-01)); + _TMP7 = float((_fp.y >= 5.00000000E-01)); + _g2 = TEX1.xy*(_TMP4 - _TMP5) + TEX1.zw*((_TMP6 + _TMP7) - 1.00000000E+00); + _c0049 = TEX0.xy + _g1; + _TMP8 = texture2D(Texture, _c0049); + _B = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0051 = (TEX0.xy + _g1) - _g2; + _TMP9 = texture2D(Texture, _c0051); + _C = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0053 = TEX0.xy + _g2; + _TMP10 = texture2D(Texture, _c0053); + _D = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0057 = TEX0.xy - _g2; + _TMP12 = texture2D(Texture, _c0057); + _F = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0059 = (TEX0.xy - _g1) + _g2; + _TMP13 = texture2D(Texture, _c0059); + _G = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0061 = TEX0.xy - _g1; + _TMP14 = texture2D(Texture, _c0061); + _H = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0063 = (TEX0.xy - _g1) - _g2; + _TMP15 = texture2D(Texture, _c0063); + _I = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _E5 = _E; + _E8 = _E; + _TMP25 = dot(vec3(float(_B.x), float(_B.y), float(_B.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP24 = float(_TMP25); + _b = float(_TMP24); + _TMP25 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP24 = float(_TMP25); + _c = float(_TMP24); + _TMP25 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP24 = float(_TMP25); + _d = float(_TMP24); + _TMP25 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP24 = float(_TMP25); + _e = float(_TMP24); + _TMP25 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP24 = float(_TMP25); + _f = float(_TMP24); + _TMP25 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP24 = float(_TMP25); + _g = float(_TMP24); + _TMP25 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP24 = float(_TMP25); + _h = float(_TMP24); + _TMP25 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP24 = float(_TMP25); + _i = float(_TMP24); + if (_h == _f && _h != _e && (_e == _g && (_h == _i || _e == _d) || _e == _c && (_h == _i || _e == _b))) { + _E8 = _E + 8.75000000E-01*(_F - _E); + _E5 = _E + 1.25000000E-01*(_F - _E); + } + if (_fp.x < 3.33333343E-01) { + if (_fp.y < 3.33333343E-01) { + _TMP17 = _E8; + } else { + if (_fp.y < 6.66666687E-01) { + _TMP18 = _E5; + } else { + _TMP18 = _E8; + } + _TMP17 = _TMP18; + } + _TMP16 = _TMP17; + } else { + if (_fp.x < 6.66666687E-01) { + if (_fp.y < 3.33333343E-01) { + _TMP20 = _E5; + } else { + if (_fp.y < 6.66666687E-01) { + _TMP21 = _E; + } else { + _TMP21 = _E5; + } + _TMP20 = _TMP21; + } + _TMP19 = _TMP20; + } else { + if (_fp.y < 3.33333343E-01) { + _TMP22 = _E8; + } else { + if (_fp.y < 6.66666687E-01) { + _TMP23 = _E5; + } else { + _TMP23 = _E8; + } + _TMP22 = _TMP23; + } + _TMP19 = _TMP22; + } + _TMP16 = _TMP19; + } + _res = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/4xBR-v1.1.glsl b/ios/Assets/shaders_glsl/xBR/4xBR-v1.1.glsl new file mode 100644 index 0000000000..6ea5a62649 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/4xBR-v1.1.glsl @@ -0,0 +1,368 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT._t1.xy = vec2(0.00000000E+00, -_ps.y); + _OUT._t1.zw = vec2(-_ps.x, 0.00000000E+00); + _ret_0._position1 = _r0003; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP25; +vec3 _TMP33; +vec3 _TMP37; +vec3 _TMP38; +vec3 _TMP39; +vec3 _TMP34; +vec3 _TMP35; +vec3 _TMP36; +vec3 _TMP26; +vec3 _TMP30; +vec3 _TMP31; +vec3 _TMP32; +vec3 _TMP27; +vec3 _TMP28; +vec3 _TMP29; +float _TMP40; +float _TMP41; +vec4 _TMP23; +vec4 _TMP21; +vec4 _TMP20; +vec4 _TMP18; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +float _TMP7; +float _TMP6; +float _TMP5; +float _TMP4; +float _TMP3; +float _TMP2; +float _TMP1; +float _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0047; +vec2 _c0067; +vec2 _c0069; +vec2 _c0071; +vec2 _c0075; +vec2 _c0077; +vec2 _c0079; +vec2 _c0081; +vec2 _c0085; +vec2 _c0089; +vec2 _c0091; +vec2 _c0095; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec2 _g1; + vec2 _g2; + vec3 _B; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _C1; + vec3 _G0; + vec3 _C4; + vec3 _G5; + vec3 _E11; + vec3 _E14; + vec3 _E15; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + float _c1; + float _g0; + float _c4; + float _g5; + vec3 _res; + _x0047 = TEX0.xy*TextureSize; + _fp = fract(_x0047); + _TMP0 = float((_fp.x >= 5.00000000E-01)); + _TMP1 = float((_fp.y >= 5.00000000E-01)); + _TMP2 = float((_fp.x >= 5.00000000E-01)); + _TMP3 = float((_fp.y >= 5.00000000E-01)); + _g1 = TEX1.xy*((_TMP0 + _TMP1) - 1.00000000E+00) + TEX1.zw*(_TMP2 - _TMP3); + _TMP4 = float((_fp.y >= 5.00000000E-01)); + _TMP5 = float((_fp.x >= 5.00000000E-01)); + _TMP6 = float((_fp.x >= 5.00000000E-01)); + _TMP7 = float((_fp.y >= 5.00000000E-01)); + _g2 = TEX1.xy*(_TMP4 - _TMP5) + TEX1.zw*((_TMP6 + _TMP7) - 1.00000000E+00); + _c0067 = TEX0.xy + _g1; + _TMP9 = texture2D(Texture, _c0067); + _B = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0069 = (TEX0.xy + _g1) - _g2; + _TMP10 = texture2D(Texture, _c0069); + _C = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0071 = TEX0.xy + _g2; + _TMP11 = texture2D(Texture, _c0071); + _D = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0075 = TEX0.xy - _g2; + _TMP13 = texture2D(Texture, _c0075); + _F = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0077 = (TEX0.xy - _g1) + _g2; + _TMP14 = texture2D(Texture, _c0077); + _G = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0079 = TEX0.xy - _g1; + _TMP15 = texture2D(Texture, _c0079); + _H = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0081 = (TEX0.xy - _g1) - _g2; + _TMP16 = texture2D(Texture, _c0081); + _I = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _c0085 = (TEX0.xy + 2.00000000E+00*_g1) - _g2; + _TMP18 = texture2D(Texture, _c0085); + _C1 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _c0089 = (TEX0.xy - _g1) + 2.00000000E+00*_g2; + _TMP20 = texture2D(Texture, _c0089); + _G0 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _c0091 = (TEX0.xy + _g1) - 2.00000000E+00*_g2; + _TMP21 = texture2D(Texture, _c0091); + _C4 = vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)); + _c0095 = (TEX0.xy - 2.00000000E+00*_g1) + _g2; + _TMP23 = texture2D(Texture, _c0095); + _G5 = vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)); + _E11 = _E; + _E14 = _E; + _E15 = _E; + _TMP41 = dot(vec3(float(_B.x), float(_B.y), float(_B.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _b = float(_TMP40); + _TMP41 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _c = float(_TMP40); + _TMP41 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _d = float(_TMP40); + _TMP41 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _e = float(_TMP40); + _TMP41 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _f = float(_TMP40); + _TMP41 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _g = float(_TMP40); + _TMP41 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _h = float(_TMP40); + _TMP41 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _i = float(_TMP40); + _TMP41 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _c1 = float(_TMP40); + _TMP41 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _g0 = float(_TMP40); + _TMP41 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _c4 = float(_TMP40); + _TMP41 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _g5 = float(_TMP40); + if (_e != _h && (_h == _f && (_e != _i && (_e != _b || _e != _d || _b == _c1 && _d == _g0 || _f != _b && _f != _c || _h != _d && _h != _g) || _e == _g && (_i == _h || _e == _d || _h != _d) || _e == _c && (_i == _h || _e == _b || _f != _b)) || _e != _f && _e == _c && (_f != _i && (_h == _i && _f != _b || _e != _i && _f == _c4) || _e != _i && _e == _g))) { + _E11 = (_E + _F)*5.00000000E-01; + _E14 = (_E + _H)*5.00000000E-01; + _E15 = _F; + } else { + if (_e != _h && _e != _f && _h != _i && _e == _g && (_f == _i && _h != _d || _e != _i && _h == _g5)) { + _E11 = (_E + _H)*5.00000000E-01; + _E14 = _E11; + _E15 = _H; + } + } + if (_fp.x < 5.00000000E-01) { + if (_fp.x < 2.50000000E-01) { + if (_fp.y < 2.50000000E-01) { + _TMP27 = _E15; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP28 = _E11; + } else { + if (_fp.y < 7.50000000E-01) { + _TMP29 = _E14; + } else { + _TMP29 = _E15; + } + _TMP28 = _TMP29; + } + _TMP27 = _TMP28; + } + _TMP26 = _TMP27; + } else { + if (_fp.y < 2.50000000E-01) { + _TMP30 = _E14; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP31 = _E; + } else { + if (_fp.y < 7.50000000E-01) { + _TMP32 = _E; + } else { + _TMP32 = _E11; + } + _TMP31 = _TMP32; + } + _TMP30 = _TMP31; + } + _TMP26 = _TMP30; + } + _TMP25 = _TMP26; + } else { + if (_fp.x < 7.50000000E-01) { + if (_fp.y < 2.50000000E-01) { + _TMP34 = _E11; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP35 = _E; + } else { + if (_fp.y < 7.50000000E-01) { + _TMP36 = _E; + } else { + _TMP36 = _E14; + } + _TMP35 = _TMP36; + } + _TMP34 = _TMP35; + } + _TMP33 = _TMP34; + } else { + if (_fp.y < 2.50000000E-01) { + _TMP37 = _E15; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP38 = _E14; + } else { + if (_fp.y < 7.50000000E-01) { + _TMP39 = _E11; + } else { + _TMP39 = _E15; + } + _TMP38 = _TMP39; + } + _TMP37 = _TMP38; + } + _TMP33 = _TMP37; + } + _TMP25 = _TMP33; + } + _res = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/4xBR-v3.8a.glsl b/ios/Assets/shaders_glsl/xBR/4xBR-v3.8a.glsl new file mode 100644 index 0000000000..da39c1c1c8 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/4xBR-v3.8a.glsl @@ -0,0 +1,556 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP46; +float _TMP45; +float _TMP44; +vec3 _TMP53; +vec3 _TMP43; +vec3 _TMP42; +vec3 _TMP41; +vec3 _TMP40; +vec3 _TMP39; +vec3 _TMP38; +vec3 _TMP37; +vec3 _TMP36; +vec4 _TMP35; +vec4 _TMP28; +vec4 _TMP27; +vec4 _TMP54; +float _TMP52; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0068; +vec4 _r0112; +vec4 _r0122; +vec4 _r0132; +vec4 _r0142; +vec4 _r0152; +vec4 _r0162; +vec4 _x0174; +vec4 _TMP175; +vec4 _x0184; +vec4 _TMP185; +vec4 _x0194; +vec4 _TMP195; +vec4 _TMP203; +vec4 _a0206; +vec4 _TMP207; +vec4 _a0210; +vec4 _TMP211; +vec4 _a0214; +vec4 _TMP215; +vec4 _a0218; +vec4 _TMP219; +vec4 _a0222; +vec4 _TMP225; +vec4 _a0228; +vec4 _TMP229; +vec4 _a0232; +vec4 _TMP233; +vec4 _a0236; +vec4 _TMP237; +vec4 _a0240; +vec4 _TMP241; +vec4 _a0244; +vec4 _TMP245; +vec4 _a0248; +vec4 _TMP249; +vec4 _a0252; +vec4 _TMP253; +vec4 _a0256; +vec4 _TMP257; +vec4 _a0260; +vec4 _TMP261; +vec4 _a0264; +vec4 _TMP265; +vec4 _a0268; +float _t0274; +float _t0276; +vec3 _df0278; +vec3 _a0280; +vec3 _df0282; +vec3 _a0284; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A1; + vec3 _B1; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0068 = TEX0.xy*TextureSize; + _fp = fract(_x0068); + _TMP0 = texture2D(Texture, VARt1.xw); + _A1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP52 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.x = float(_TMP52); + _TMP52 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.y = float(_TMP52); + _TMP52 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.z = float(_TMP52); + _TMP52 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.w = float(_TMP52); + _b1 = vec4(float(_r0112.x), float(_r0112.y), float(_r0112.z), float(_r0112.w)); + _TMP52 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.x = float(_TMP52); + _TMP52 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.y = float(_TMP52); + _TMP52 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.z = float(_TMP52); + _TMP52 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.w = float(_TMP52); + _c3 = vec4(float(_r0122.x), float(_r0122.y), float(_r0122.z), float(_r0122.w)); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.x = float(_TMP52); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.y = float(_TMP52); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.z = float(_TMP52); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.w = float(_TMP52); + _e1 = vec4(float(_r0132.x), float(_r0132.y), float(_r0132.z), float(_r0132.w)); + _TMP52 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.x = float(_TMP52); + _TMP52 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.y = float(_TMP52); + _TMP52 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.z = float(_TMP52); + _TMP52 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.w = float(_TMP52); + _i4 = vec4(float(_r0142.x), float(_r0142.y), float(_r0142.z), float(_r0142.w)); + _TMP52 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.x = float(_TMP52); + _TMP52 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.y = float(_TMP52); + _TMP52 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.z = float(_TMP52); + _TMP52 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.w = float(_TMP52); + _i5 = vec4(float(_r0152.x), float(_r0152.y), float(_r0152.z), float(_r0152.w)); + _TMP52 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.x = float(_TMP52); + _TMP52 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.y = float(_TMP52); + _TMP52 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.z = float(_TMP52); + _TMP52 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.w = float(_TMP52); + _h5 = vec4(float(_r0162.x), float(_r0162.y), float(_r0162.z), float(_r0162.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z, _e1.y != _b1.x && _e1.y != _b1.w, _e1.z != _b1.y && _e1.z != _b1.x, _e1.w != _b1.z && _e1.w != _b1.y); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0174 = (_fx - vec4( 1.14999998E+00, 1.50000006E-01, -8.50000024E-01, 1.50000006E-01))/vec4( 7.00000048E-01, 7.00000048E-01, 7.00000048E-01, 7.00000048E-01); + _TMP54 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0174); + _TMP175 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP54); + _fx45 = _TMP175*_TMP175*(3.00000000E+00 - 2.00000000E+00*_TMP175); + _x0184 = (_fx_left - vec4( 6.49999976E-01, 6.49999976E-01, -8.50000024E-01, -3.49999994E-01))/vec4( 7.00000048E-01, 7.00000048E-01, 7.00000048E-01, 6.99999988E-01); + _TMP54 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0184); + _TMP185 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP54); + _fx30 = _TMP185*_TMP185*(3.00000000E+00 - 2.00000000E+00*_TMP185); + _x0194 = (_fx_up - vec4( 1.64999998E+00, -3.49999994E-01, -1.35000002E+00, 1.50000006E-01))/vec4( 6.99999928E-01, 6.99999988E-01, 7.00000048E-01, 7.00000048E-01); + _TMP54 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0194); + _TMP195 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP54); + _fx60 = _TMP195*_TMP195*(3.00000000E+00 - 2.00000000E+00*_TMP195); + _a0206 = _e1 - _c3; + _TMP203 = abs(_a0206); + _a0210 = _e1 - _c3.zwxy; + _TMP207 = abs(_a0210); + _a0214 = _c3.wxyz - _h5; + _TMP211 = abs(_a0214); + _a0218 = _c3.wxyz - _h5.yzwx; + _TMP215 = abs(_a0218); + _a0222 = _b1.zwxy - _b1.wxyz; + _TMP219 = abs(_a0222); + _TMP27 = _TMP203 + _TMP207 + _TMP211 + _TMP215 + 4.00000000E+00*_TMP219; + _a0228 = _b1.zwxy - _b1.yzwx; + _TMP225 = abs(_a0228); + _a0232 = _b1.zwxy - _i5; + _TMP229 = abs(_a0232); + _a0236 = _b1.wxyz - _i4; + _TMP233 = abs(_a0236); + _a0240 = _b1.wxyz - _b1; + _TMP237 = abs(_a0240); + _a0244 = _e1 - _c3.wxyz; + _TMP241 = abs(_a0244); + _TMP28 = _TMP225 + _TMP229 + _TMP233 + _TMP237 + 4.00000000E+00*_TMP241; + _edr = bvec4(_TMP27.x < _TMP28.x && _interp_restriction_lv1.x, _TMP27.y < _TMP28.y && _interp_restriction_lv1.y, _TMP27.z < _TMP28.z && _interp_restriction_lv1.z, _TMP27.w < _TMP28.w && _interp_restriction_lv1.w); + _a0248 = _b1.wxyz - _c3.zwxy; + _TMP245 = abs(_a0248); + _a0252 = _b1.zwxy - _c3; + _TMP249 = abs(_a0252); + _edr_left = bvec4((2.00000000E+00*_TMP245).x <= _TMP249.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP245).y <= _TMP249.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP245).z <= _TMP249.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP245).w <= _TMP249.w && _interp_restriction_lv2_left.w); + _a0256 = _b1.wxyz - _c3.zwxy; + _TMP253 = abs(_a0256); + _a0260 = _b1.zwxy - _c3; + _TMP257 = abs(_a0260); + _edr_up = bvec4(_TMP253.x >= (2.00000000E+00*_TMP257).x && _interp_restriction_lv2_up.x, _TMP253.y >= (2.00000000E+00*_TMP257).y && _interp_restriction_lv2_up.y, _TMP253.z >= (2.00000000E+00*_TMP257).z && _interp_restriction_lv2_up.z, _TMP253.w >= (2.00000000E+00*_TMP257).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0264 = _e1 - _b1.wxyz; + _TMP261 = abs(_a0264); + _a0268 = _e1 - _b1.zwxy; + _TMP265 = abs(_a0268); + _px = bvec4(_TMP261.x <= _TMP265.x, _TMP261.y <= _TMP265.y, _TMP261.z <= _TMP265.z, _TMP261.w <= _TMP265.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP35 = max(_final30, _final60); + _maximo = max(_TMP35, _final45); + if (_nc.x) { + if (_px.x) { + _TMP36 = _F; + } else { + _TMP36 = _H; + } + _pix1 = _TMP36; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP37 = _B2; + } else { + _TMP37 = _F; + } + _pix1 = _TMP37; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP38 = _D; + } else { + _TMP38 = _B2; + } + _pix1 = _TMP38; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP39 = _H; + } else { + _TMP39 = _D; + } + _pix1 = _TMP39; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP40 = _H; + } else { + _TMP40 = _D; + } + _pix2 = _TMP40; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP41 = _D; + } else { + _TMP41 = _B2; + } + _pix2 = _TMP41; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP42 = _B2; + } else { + _TMP42 = _F; + } + _pix2 = _TMP42; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP43 = _F; + } else { + _TMP43 = _H; + } + _pix2 = _TMP43; + _blend2 = _maximo.x; + } + } + } + } + _t0274 = float(_blend1); + _res1 = _E + _t0274*(_pix1 - _E); + _t0276 = float(_blend2); + _res2 = _E + _t0276*(_pix2 - _E); + _a0280 = _E - _res1; + _TMP53 = abs(vec3(float(_a0280.x), float(_a0280.y), float(_a0280.z))); + _df0278 = vec3(float(_TMP53.x), float(_TMP53.y), float(_TMP53.z)); + _TMP44 = _df0278.x + _df0278.y + _df0278.z; + _a0284 = _E - _res2; + _TMP53 = abs(vec3(float(_a0284.x), float(_a0284.y), float(_a0284.z))); + _df0282 = vec3(float(_TMP53.x), float(_TMP53.y), float(_TMP53.z)); + _TMP45 = _df0282.x + _df0282.y + _df0282.z; + _TMP46 = float((_TMP45 >= _TMP44)); + _res = _res1 + _TMP46*(_res2 - _res1); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/4xBR-v3.8b.glsl b/ios/Assets/shaders_glsl/xBR/4xBR-v3.8b.glsl new file mode 100644 index 0000000000..a9968ece55 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/4xBR-v3.8b.glsl @@ -0,0 +1,598 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP53; +float _TMP52; +float _TMP51; +vec3 _TMP61; +vec3 _TMP50; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec3 _TMP46; +vec3 _TMP45; +vec3 _TMP44; +vec3 _TMP43; +vec4 _TMP42; +vec4 _TMP35; +vec4 _TMP34; +vec4 _TMP62; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP60; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0076; +vec4 _r0120; +vec4 _r0130; +vec4 _r0140; +vec4 _r0150; +vec4 _r0160; +vec4 _r0170; +vec4 _TMP181; +vec4 _a0184; +vec4 _TMP187; +vec4 _a0190; +vec4 _TMP193; +vec4 _a0196; +vec4 _TMP199; +vec4 _a0202; +vec4 _TMP205; +vec4 _a0208; +vec4 _TMP211; +vec4 _a0214; +vec4 _TMP217; +vec4 _a0220; +vec4 _x0224; +vec4 _TMP225; +vec4 _x0234; +vec4 _TMP235; +vec4 _x0244; +vec4 _TMP245; +vec4 _TMP253; +vec4 _a0256; +vec4 _TMP257; +vec4 _a0260; +vec4 _TMP261; +vec4 _a0264; +vec4 _TMP265; +vec4 _a0268; +vec4 _TMP269; +vec4 _a0272; +vec4 _TMP275; +vec4 _a0278; +vec4 _TMP279; +vec4 _a0282; +vec4 _TMP283; +vec4 _a0286; +vec4 _TMP287; +vec4 _a0290; +vec4 _TMP291; +vec4 _a0294; +vec4 _TMP295; +vec4 _a0298; +vec4 _TMP299; +vec4 _a0302; +vec4 _TMP303; +vec4 _a0306; +vec4 _TMP307; +vec4 _a0310; +vec4 _TMP311; +vec4 _a0314; +vec4 _TMP315; +vec4 _a0318; +float _t0324; +float _t0326; +vec3 _df0328; +vec3 _a0330; +vec3 _df0332; +vec3 _a0334; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0076 = TEX0.xy*TextureSize; + _fp = fract(_x0076); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP60 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.x = float(_TMP60); + _TMP60 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.y = float(_TMP60); + _TMP60 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.z = float(_TMP60); + _TMP60 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.w = float(_TMP60); + _b1 = vec4(float(_r0120.x), float(_r0120.y), float(_r0120.z), float(_r0120.w)); + _TMP60 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.x = float(_TMP60); + _TMP60 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.y = float(_TMP60); + _TMP60 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.z = float(_TMP60); + _TMP60 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.w = float(_TMP60); + _c3 = vec4(float(_r0130.x), float(_r0130.y), float(_r0130.z), float(_r0130.w)); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.x = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.y = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.z = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.w = float(_TMP60); + _e1 = vec4(float(_r0140.x), float(_r0140.y), float(_r0140.z), float(_r0140.w)); + _TMP60 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.x = float(_TMP60); + _TMP60 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.y = float(_TMP60); + _TMP60 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.z = float(_TMP60); + _TMP60 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.w = float(_TMP60); + _i4 = vec4(float(_r0150.x), float(_r0150.y), float(_r0150.z), float(_r0150.w)); + _TMP60 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.x = float(_TMP60); + _TMP60 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.y = float(_TMP60); + _TMP60 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.z = float(_TMP60); + _TMP60 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.w = float(_TMP60); + _i5 = vec4(float(_r0160.x), float(_r0160.y), float(_r0160.z), float(_r0160.w)); + _TMP60 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.x = float(_TMP60); + _TMP60 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.y = float(_TMP60); + _TMP60 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.z = float(_TMP60); + _TMP60 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.w = float(_TMP60); + _h5 = vec4(float(_r0170.x), float(_r0170.y), float(_r0170.z), float(_r0170.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0184 = _b1.wxyz - _b1; + _TMP181 = abs(_a0184); + _TMP27 = bvec4(_TMP181.x < 1.50000000E+01, _TMP181.y < 1.50000000E+01, _TMP181.z < 1.50000000E+01, _TMP181.w < 1.50000000E+01); + _a0190 = _b1.zwxy - _b1.yzwx; + _TMP187 = abs(_a0190); + _TMP28 = bvec4(_TMP187.x < 1.50000000E+01, _TMP187.y < 1.50000000E+01, _TMP187.z < 1.50000000E+01, _TMP187.w < 1.50000000E+01); + _a0196 = _e1 - _c3.wxyz; + _TMP193 = abs(_a0196); + _TMP29 = bvec4(_TMP193.x < 1.50000000E+01, _TMP193.y < 1.50000000E+01, _TMP193.z < 1.50000000E+01, _TMP193.w < 1.50000000E+01); + _a0202 = _b1.wxyz - _i4; + _TMP199 = abs(_a0202); + _TMP30 = bvec4(_TMP199.x < 1.50000000E+01, _TMP199.y < 1.50000000E+01, _TMP199.z < 1.50000000E+01, _TMP199.w < 1.50000000E+01); + _a0208 = _b1.zwxy - _i5; + _TMP205 = abs(_a0208); + _TMP31 = bvec4(_TMP205.x < 1.50000000E+01, _TMP205.y < 1.50000000E+01, _TMP205.z < 1.50000000E+01, _TMP205.w < 1.50000000E+01); + _a0214 = _e1 - _c3.zwxy; + _TMP211 = abs(_a0214); + _TMP32 = bvec4(_TMP211.x < 1.50000000E+01, _TMP211.y < 1.50000000E+01, _TMP211.z < 1.50000000E+01, _TMP211.w < 1.50000000E+01); + _a0220 = _e1 - _c3; + _TMP217 = abs(_a0220); + _TMP33 = bvec4(_TMP217.x < 1.50000000E+01, _TMP217.y < 1.50000000E+01, _TMP217.z < 1.50000000E+01, _TMP217.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || _TMP29.x && !_TMP30.x && !_TMP31.x || _TMP32.x || _TMP33.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || _TMP29.y && !_TMP30.y && !_TMP31.y || _TMP32.y || _TMP33.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || _TMP29.z && !_TMP30.z && !_TMP31.z || _TMP32.z || _TMP33.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || _TMP29.w && !_TMP30.w && !_TMP31.w || _TMP32.w || _TMP33.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0224 = (_fx - vec4( 1.14999998E+00, 1.50000006E-01, -8.50000024E-01, 1.50000006E-01))/vec4( 7.00000048E-01, 7.00000048E-01, 7.00000048E-01, 7.00000048E-01); + _TMP62 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0224); + _TMP225 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP62); + _fx45 = _TMP225*_TMP225*(3.00000000E+00 - 2.00000000E+00*_TMP225); + _x0234 = (_fx_left - vec4( 6.49999976E-01, 6.49999976E-01, -8.50000024E-01, -3.49999994E-01))/vec4( 7.00000048E-01, 7.00000048E-01, 7.00000048E-01, 6.99999988E-01); + _TMP62 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0234); + _TMP235 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP62); + _fx30 = _TMP235*_TMP235*(3.00000000E+00 - 2.00000000E+00*_TMP235); + _x0244 = (_fx_up - vec4( 1.64999998E+00, -3.49999994E-01, -1.35000002E+00, 1.50000006E-01))/vec4( 6.99999928E-01, 6.99999988E-01, 7.00000048E-01, 7.00000048E-01); + _TMP62 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0244); + _TMP245 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP62); + _fx60 = _TMP245*_TMP245*(3.00000000E+00 - 2.00000000E+00*_TMP245); + _a0256 = _e1 - _c3; + _TMP253 = abs(_a0256); + _a0260 = _e1 - _c3.zwxy; + _TMP257 = abs(_a0260); + _a0264 = _c3.wxyz - _h5; + _TMP261 = abs(_a0264); + _a0268 = _c3.wxyz - _h5.yzwx; + _TMP265 = abs(_a0268); + _a0272 = _b1.zwxy - _b1.wxyz; + _TMP269 = abs(_a0272); + _TMP34 = _TMP253 + _TMP257 + _TMP261 + _TMP265 + 4.00000000E+00*_TMP269; + _a0278 = _b1.zwxy - _b1.yzwx; + _TMP275 = abs(_a0278); + _a0282 = _b1.zwxy - _i5; + _TMP279 = abs(_a0282); + _a0286 = _b1.wxyz - _i4; + _TMP283 = abs(_a0286); + _a0290 = _b1.wxyz - _b1; + _TMP287 = abs(_a0290); + _a0294 = _e1 - _c3.wxyz; + _TMP291 = abs(_a0294); + _TMP35 = _TMP275 + _TMP279 + _TMP283 + _TMP287 + 4.00000000E+00*_TMP291; + _edr = bvec4(_TMP34.x < _TMP35.x && _interp_restriction_lv1.x, _TMP34.y < _TMP35.y && _interp_restriction_lv1.y, _TMP34.z < _TMP35.z && _interp_restriction_lv1.z, _TMP34.w < _TMP35.w && _interp_restriction_lv1.w); + _a0298 = _b1.wxyz - _c3.zwxy; + _TMP295 = abs(_a0298); + _a0302 = _b1.zwxy - _c3; + _TMP299 = abs(_a0302); + _edr_left = bvec4((2.00000000E+00*_TMP295).x <= _TMP299.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP295).y <= _TMP299.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP295).z <= _TMP299.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP295).w <= _TMP299.w && _interp_restriction_lv2_left.w); + _a0306 = _b1.wxyz - _c3.zwxy; + _TMP303 = abs(_a0306); + _a0310 = _b1.zwxy - _c3; + _TMP307 = abs(_a0310); + _edr_up = bvec4(_TMP303.x >= (2.00000000E+00*_TMP307).x && _interp_restriction_lv2_up.x, _TMP303.y >= (2.00000000E+00*_TMP307).y && _interp_restriction_lv2_up.y, _TMP303.z >= (2.00000000E+00*_TMP307).z && _interp_restriction_lv2_up.z, _TMP303.w >= (2.00000000E+00*_TMP307).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0314 = _e1 - _b1.wxyz; + _TMP311 = abs(_a0314); + _a0318 = _e1 - _b1.zwxy; + _TMP315 = abs(_a0318); + _px = bvec4(_TMP311.x <= _TMP315.x, _TMP311.y <= _TMP315.y, _TMP311.z <= _TMP315.z, _TMP311.w <= _TMP315.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP42 = max(_final30, _final60); + _maximo = max(_TMP42, _final45); + if (_nc.x) { + if (_px.x) { + _TMP43 = _F; + } else { + _TMP43 = _H; + } + _pix1 = _TMP43; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP44 = _B2; + } else { + _TMP44 = _F; + } + _pix1 = _TMP44; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP45 = _D; + } else { + _TMP45 = _B2; + } + _pix1 = _TMP45; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP46 = _H; + } else { + _TMP46 = _D; + } + _pix1 = _TMP46; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP47 = _H; + } else { + _TMP47 = _D; + } + _pix2 = _TMP47; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP48 = _D; + } else { + _TMP48 = _B2; + } + _pix2 = _TMP48; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP49 = _B2; + } else { + _TMP49 = _F; + } + _pix2 = _TMP49; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP50 = _F; + } else { + _TMP50 = _H; + } + _pix2 = _TMP50; + _blend2 = _maximo.x; + } + } + } + } + _t0324 = float(_blend1); + _res1 = _E + _t0324*(_pix1 - _E); + _t0326 = float(_blend2); + _res2 = _E + _t0326*(_pix2 - _E); + _a0330 = _E - _res1; + _TMP61 = abs(vec3(float(_a0330.x), float(_a0330.y), float(_a0330.z))); + _df0328 = vec3(float(_TMP61.x), float(_TMP61.y), float(_TMP61.z)); + _TMP51 = _df0328.x + _df0328.y + _df0328.z; + _a0334 = _E - _res2; + _TMP61 = abs(vec3(float(_a0334.x), float(_a0334.y), float(_a0334.z))); + _df0332 = vec3(float(_TMP61.x), float(_TMP61.y), float(_TMP61.z)); + _TMP52 = _df0332.x + _df0332.y + _df0332.z; + _TMP53 = float((_TMP52 >= _TMP51)); + _res = _res1 + _TMP53*(_res2 - _res1); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/4xBR-v3.8c.glsl b/ios/Assets/shaders_glsl/xBR/4xBR-v3.8c.glsl new file mode 100644 index 0000000000..ebb6bb6d57 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/4xBR-v3.8c.glsl @@ -0,0 +1,622 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP57; +float _TMP56; +float _TMP55; +vec3 _TMP65; +vec3 _TMP54; +vec3 _TMP53; +vec3 _TMP52; +vec3 _TMP51; +vec3 _TMP50; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec4 _TMP46; +vec4 _TMP39; +vec4 _TMP38; +vec4 _TMP66; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP64; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0080; +vec4 _r0124; +vec4 _r0134; +vec4 _r0144; +vec4 _r0154; +vec4 _r0164; +vec4 _r0174; +vec4 _TMP185; +vec4 _a0188; +vec4 _TMP191; +vec4 _a0194; +vec4 _TMP197; +vec4 _a0200; +vec4 _TMP203; +vec4 _a0206; +vec4 _TMP209; +vec4 _a0212; +vec4 _TMP215; +vec4 _a0218; +vec4 _TMP221; +vec4 _a0224; +vec4 _TMP227; +vec4 _a0230; +vec4 _TMP233; +vec4 _a0236; +vec4 _TMP239; +vec4 _a0242; +vec4 _TMP245; +vec4 _a0248; +vec4 _x0252; +vec4 _TMP253; +vec4 _x0262; +vec4 _TMP263; +vec4 _x0272; +vec4 _TMP273; +vec4 _TMP281; +vec4 _a0284; +vec4 _TMP285; +vec4 _a0288; +vec4 _TMP289; +vec4 _a0292; +vec4 _TMP293; +vec4 _a0296; +vec4 _TMP297; +vec4 _a0300; +vec4 _TMP303; +vec4 _a0306; +vec4 _TMP307; +vec4 _a0310; +vec4 _TMP311; +vec4 _a0314; +vec4 _TMP315; +vec4 _a0318; +vec4 _TMP319; +vec4 _a0322; +vec4 _TMP323; +vec4 _a0326; +vec4 _TMP327; +vec4 _a0330; +vec4 _TMP331; +vec4 _a0334; +vec4 _TMP335; +vec4 _a0338; +vec4 _TMP339; +vec4 _a0342; +vec4 _TMP343; +vec4 _a0346; +float _t0352; +float _t0354; +vec3 _df0356; +vec3 _a0358; +vec3 _df0360; +vec3 _a0362; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0080 = TEX0.xy*TextureSize; + _fp = fract(_x0080); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP64 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.x = float(_TMP64); + _TMP64 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.y = float(_TMP64); + _TMP64 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.z = float(_TMP64); + _TMP64 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.w = float(_TMP64); + _b1 = vec4(float(_r0124.x), float(_r0124.y), float(_r0124.z), float(_r0124.w)); + _TMP64 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.x = float(_TMP64); + _TMP64 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.y = float(_TMP64); + _TMP64 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.z = float(_TMP64); + _TMP64 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.w = float(_TMP64); + _c3 = vec4(float(_r0134.x), float(_r0134.y), float(_r0134.z), float(_r0134.w)); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.x = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.y = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.z = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.w = float(_TMP64); + _e1 = vec4(float(_r0144.x), float(_r0144.y), float(_r0144.z), float(_r0144.w)); + _TMP64 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.x = float(_TMP64); + _TMP64 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.y = float(_TMP64); + _TMP64 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.z = float(_TMP64); + _TMP64 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.w = float(_TMP64); + _i4 = vec4(float(_r0154.x), float(_r0154.y), float(_r0154.z), float(_r0154.w)); + _TMP64 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.x = float(_TMP64); + _TMP64 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.y = float(_TMP64); + _TMP64 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.z = float(_TMP64); + _TMP64 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.w = float(_TMP64); + _i5 = vec4(float(_r0164.x), float(_r0164.y), float(_r0164.z), float(_r0164.w)); + _TMP64 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.x = float(_TMP64); + _TMP64 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.y = float(_TMP64); + _TMP64 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.z = float(_TMP64); + _TMP64 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.w = float(_TMP64); + _h5 = vec4(float(_r0174.x), float(_r0174.y), float(_r0174.z), float(_r0174.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0188 = _b1.wxyz - _b1; + _TMP185 = abs(_a0188); + _TMP27 = bvec4(_TMP185.x < 1.50000000E+01, _TMP185.y < 1.50000000E+01, _TMP185.z < 1.50000000E+01, _TMP185.w < 1.50000000E+01); + _a0194 = _b1.wxyz - _c3; + _TMP191 = abs(_a0194); + _TMP28 = bvec4(_TMP191.x < 1.50000000E+01, _TMP191.y < 1.50000000E+01, _TMP191.z < 1.50000000E+01, _TMP191.w < 1.50000000E+01); + _a0200 = _b1.zwxy - _b1.yzwx; + _TMP197 = abs(_a0200); + _TMP29 = bvec4(_TMP197.x < 1.50000000E+01, _TMP197.y < 1.50000000E+01, _TMP197.z < 1.50000000E+01, _TMP197.w < 1.50000000E+01); + _a0206 = _b1.zwxy - _c3.zwxy; + _TMP203 = abs(_a0206); + _TMP30 = bvec4(_TMP203.x < 1.50000000E+01, _TMP203.y < 1.50000000E+01, _TMP203.z < 1.50000000E+01, _TMP203.w < 1.50000000E+01); + _a0212 = _e1 - _c3.wxyz; + _TMP209 = abs(_a0212); + _TMP31 = bvec4(_TMP209.x < 1.50000000E+01, _TMP209.y < 1.50000000E+01, _TMP209.z < 1.50000000E+01, _TMP209.w < 1.50000000E+01); + _a0218 = _b1.wxyz - _h5.yzwx; + _TMP215 = abs(_a0218); + _TMP32 = bvec4(_TMP215.x < 1.50000000E+01, _TMP215.y < 1.50000000E+01, _TMP215.z < 1.50000000E+01, _TMP215.w < 1.50000000E+01); + _a0224 = _b1.wxyz - _i4; + _TMP221 = abs(_a0224); + _TMP33 = bvec4(_TMP221.x < 1.50000000E+01, _TMP221.y < 1.50000000E+01, _TMP221.z < 1.50000000E+01, _TMP221.w < 1.50000000E+01); + _a0230 = _b1.zwxy - _h5; + _TMP227 = abs(_a0230); + _TMP34 = bvec4(_TMP227.x < 1.50000000E+01, _TMP227.y < 1.50000000E+01, _TMP227.z < 1.50000000E+01, _TMP227.w < 1.50000000E+01); + _a0236 = _b1.zwxy - _i5; + _TMP233 = abs(_a0236); + _TMP35 = bvec4(_TMP233.x < 1.50000000E+01, _TMP233.y < 1.50000000E+01, _TMP233.z < 1.50000000E+01, _TMP233.w < 1.50000000E+01); + _a0242 = _e1 - _c3.zwxy; + _TMP239 = abs(_a0242); + _TMP36 = bvec4(_TMP239.x < 1.50000000E+01, _TMP239.y < 1.50000000E+01, _TMP239.z < 1.50000000E+01, _TMP239.w < 1.50000000E+01); + _a0248 = _e1 - _c3; + _TMP245 = abs(_a0248); + _TMP37 = bvec4(_TMP245.x < 1.50000000E+01, _TMP245.y < 1.50000000E+01, _TMP245.z < 1.50000000E+01, _TMP245.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0252 = (_fx - vec4( 1.14999998E+00, 1.50000006E-01, -8.50000024E-01, 1.50000006E-01))/vec4( 7.00000048E-01, 7.00000048E-01, 7.00000048E-01, 7.00000048E-01); + _TMP66 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0252); + _TMP253 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP66); + _fx45 = _TMP253*_TMP253*(3.00000000E+00 - 2.00000000E+00*_TMP253); + _x0262 = (_fx_left - vec4( 6.49999976E-01, 6.49999976E-01, -8.50000024E-01, -3.49999994E-01))/vec4( 7.00000048E-01, 7.00000048E-01, 7.00000048E-01, 6.99999988E-01); + _TMP66 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0262); + _TMP263 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP66); + _fx30 = _TMP263*_TMP263*(3.00000000E+00 - 2.00000000E+00*_TMP263); + _x0272 = (_fx_up - vec4( 1.64999998E+00, -3.49999994E-01, -1.35000002E+00, 1.50000006E-01))/vec4( 6.99999928E-01, 6.99999988E-01, 7.00000048E-01, 7.00000048E-01); + _TMP66 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0272); + _TMP273 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP66); + _fx60 = _TMP273*_TMP273*(3.00000000E+00 - 2.00000000E+00*_TMP273); + _a0284 = _e1 - _c3; + _TMP281 = abs(_a0284); + _a0288 = _e1 - _c3.zwxy; + _TMP285 = abs(_a0288); + _a0292 = _c3.wxyz - _h5; + _TMP289 = abs(_a0292); + _a0296 = _c3.wxyz - _h5.yzwx; + _TMP293 = abs(_a0296); + _a0300 = _b1.zwxy - _b1.wxyz; + _TMP297 = abs(_a0300); + _TMP38 = _TMP281 + _TMP285 + _TMP289 + _TMP293 + 4.00000000E+00*_TMP297; + _a0306 = _b1.zwxy - _b1.yzwx; + _TMP303 = abs(_a0306); + _a0310 = _b1.zwxy - _i5; + _TMP307 = abs(_a0310); + _a0314 = _b1.wxyz - _i4; + _TMP311 = abs(_a0314); + _a0318 = _b1.wxyz - _b1; + _TMP315 = abs(_a0318); + _a0322 = _e1 - _c3.wxyz; + _TMP319 = abs(_a0322); + _TMP39 = _TMP303 + _TMP307 + _TMP311 + _TMP315 + 4.00000000E+00*_TMP319; + _edr = bvec4(_TMP38.x < _TMP39.x && _interp_restriction_lv1.x, _TMP38.y < _TMP39.y && _interp_restriction_lv1.y, _TMP38.z < _TMP39.z && _interp_restriction_lv1.z, _TMP38.w < _TMP39.w && _interp_restriction_lv1.w); + _a0326 = _b1.wxyz - _c3.zwxy; + _TMP323 = abs(_a0326); + _a0330 = _b1.zwxy - _c3; + _TMP327 = abs(_a0330); + _edr_left = bvec4((2.00000000E+00*_TMP323).x <= _TMP327.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP323).y <= _TMP327.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP323).z <= _TMP327.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP323).w <= _TMP327.w && _interp_restriction_lv2_left.w); + _a0334 = _b1.wxyz - _c3.zwxy; + _TMP331 = abs(_a0334); + _a0338 = _b1.zwxy - _c3; + _TMP335 = abs(_a0338); + _edr_up = bvec4(_TMP331.x >= (2.00000000E+00*_TMP335).x && _interp_restriction_lv2_up.x, _TMP331.y >= (2.00000000E+00*_TMP335).y && _interp_restriction_lv2_up.y, _TMP331.z >= (2.00000000E+00*_TMP335).z && _interp_restriction_lv2_up.z, _TMP331.w >= (2.00000000E+00*_TMP335).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0342 = _e1 - _b1.wxyz; + _TMP339 = abs(_a0342); + _a0346 = _e1 - _b1.zwxy; + _TMP343 = abs(_a0346); + _px = bvec4(_TMP339.x <= _TMP343.x, _TMP339.y <= _TMP343.y, _TMP339.z <= _TMP343.z, _TMP339.w <= _TMP343.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP46 = max(_final30, _final60); + _maximo = max(_TMP46, _final45); + if (_nc.x) { + if (_px.x) { + _TMP47 = _F; + } else { + _TMP47 = _H; + } + _pix1 = _TMP47; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP48 = _B2; + } else { + _TMP48 = _F; + } + _pix1 = _TMP48; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP49 = _D; + } else { + _TMP49 = _B2; + } + _pix1 = _TMP49; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP50 = _H; + } else { + _TMP50 = _D; + } + _pix1 = _TMP50; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP51 = _H; + } else { + _TMP51 = _D; + } + _pix2 = _TMP51; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP52 = _D; + } else { + _TMP52 = _B2; + } + _pix2 = _TMP52; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP53 = _B2; + } else { + _TMP53 = _F; + } + _pix2 = _TMP53; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP54 = _F; + } else { + _TMP54 = _H; + } + _pix2 = _TMP54; + _blend2 = _maximo.x; + } + } + } + } + _t0352 = float(_blend1); + _res1 = _E + _t0352*(_pix1 - _E); + _t0354 = float(_blend2); + _res2 = _E + _t0354*(_pix2 - _E); + _a0358 = _E - _res1; + _TMP65 = abs(vec3(float(_a0358.x), float(_a0358.y), float(_a0358.z))); + _df0356 = vec3(float(_TMP65.x), float(_TMP65.y), float(_TMP65.z)); + _TMP55 = _df0356.x + _df0356.y + _df0356.z; + _a0362 = _E - _res2; + _TMP65 = abs(vec3(float(_a0362.x), float(_a0362.y), float(_a0362.z))); + _df0360 = vec3(float(_TMP65.x), float(_TMP65.y), float(_TMP65.z)); + _TMP56 = _df0360.x + _df0360.y + _df0360.z; + _TMP57 = float((_TMP56 >= _TMP55)); + _res = _res1 + _TMP57*(_res2 - _res1); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/4xBR-v3.9.glsl b/ios/Assets/shaders_glsl/xBR/4xBR-v3.9.glsl new file mode 100644 index 0000000000..f563c52259 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/4xBR-v3.9.glsl @@ -0,0 +1,653 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +vec3 _TMP58; +vec3 _TMP69; +vec3 _TMP74; +vec3 _TMP73; +float _TMP68; +float _TMP67; +float _TMP66; +float _TMP71; +float _TMP57; +float _TMP56; +float _TMP55; +vec3 _TMP72; +vec3 _TMP54; +vec3 _TMP53; +vec3 _TMP52; +vec3 _TMP51; +vec3 _TMP50; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec3 _TMP46; +vec3 _TMP45; +vec4 _TMP44; +vec4 _TMP37; +vec4 _TMP36; +vec4 _TMP75; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP70; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0089; +vec4 _r0133; +vec4 _r0143; +vec4 _r0153; +vec4 _r0163; +vec4 _r0173; +vec4 _r0183; +vec4 _TMP194; +vec4 _a0197; +vec4 _TMP200; +vec4 _a0203; +vec4 _TMP206; +vec4 _a0209; +vec4 _TMP212; +vec4 _a0215; +vec4 _TMP218; +vec4 _a0221; +vec4 _TMP224; +vec4 _a0227; +vec4 _TMP230; +vec4 _a0233; +vec4 _TMP236; +vec4 _a0239; +vec4 _TMP242; +vec4 _a0245; +vec4 _x0249; +vec4 _TMP250; +vec4 _x0259; +vec4 _TMP260; +vec4 _x0269; +vec4 _TMP270; +vec4 _TMP278; +vec4 _a0281; +vec4 _TMP282; +vec4 _a0285; +vec4 _TMP286; +vec4 _a0289; +vec4 _TMP290; +vec4 _a0293; +vec4 _TMP294; +vec4 _a0297; +vec4 _TMP300; +vec4 _a0303; +vec4 _TMP304; +vec4 _a0307; +vec4 _TMP308; +vec4 _a0311; +vec4 _TMP312; +vec4 _a0315; +vec4 _TMP316; +vec4 _a0319; +vec4 _TMP320; +vec4 _a0323; +vec4 _TMP324; +vec4 _a0327; +vec4 _TMP328; +vec4 _a0331; +vec4 _TMP332; +vec4 _a0335; +vec4 _TMP336; +vec4 _a0339; +vec4 _TMP340; +vec4 _a0343; +float _t0365; +float _t0375; +vec3 _df0377; +vec3 _a0379; +vec3 _df0381; +vec3 _a0383; +vec3 _TMP396; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0089 = TEX0.xy*TextureSize; + _fp = fract(_x0089); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP70 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.x = float(_TMP70); + _TMP70 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.y = float(_TMP70); + _TMP70 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.z = float(_TMP70); + _TMP70 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.w = float(_TMP70); + _b1 = vec4(float(_r0133.x), float(_r0133.y), float(_r0133.z), float(_r0133.w)); + _TMP70 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.x = float(_TMP70); + _TMP70 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.y = float(_TMP70); + _TMP70 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.z = float(_TMP70); + _TMP70 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.w = float(_TMP70); + _c3 = vec4(float(_r0143.x), float(_r0143.y), float(_r0143.z), float(_r0143.w)); + _TMP70 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.x = float(_TMP70); + _TMP70 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.y = float(_TMP70); + _TMP70 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.z = float(_TMP70); + _TMP70 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.w = float(_TMP70); + _e1 = vec4(float(_r0153.x), float(_r0153.y), float(_r0153.z), float(_r0153.w)); + _TMP70 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.x = float(_TMP70); + _TMP70 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.y = float(_TMP70); + _TMP70 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.z = float(_TMP70); + _TMP70 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.w = float(_TMP70); + _i4 = vec4(float(_r0163.x), float(_r0163.y), float(_r0163.z), float(_r0163.w)); + _TMP70 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.x = float(_TMP70); + _TMP70 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.y = float(_TMP70); + _TMP70 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.z = float(_TMP70); + _TMP70 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.w = float(_TMP70); + _i5 = vec4(float(_r0173.x), float(_r0173.y), float(_r0173.z), float(_r0173.w)); + _TMP70 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0183.x = float(_TMP70); + _TMP70 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0183.y = float(_TMP70); + _TMP70 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0183.z = float(_TMP70); + _TMP70 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0183.w = float(_TMP70); + _h5 = vec4(float(_r0183.x), float(_r0183.y), float(_r0183.z), float(_r0183.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0197 = _b1.wxyz - _b1; + _TMP194 = abs(_a0197); + _TMP27 = bvec4(_TMP194.x < 1.00000000E+01, _TMP194.y < 1.00000000E+01, _TMP194.z < 1.00000000E+01, _TMP194.w < 1.00000000E+01); + _a0203 = _b1.zwxy - _b1.yzwx; + _TMP200 = abs(_a0203); + _TMP28 = bvec4(_TMP200.x < 1.00000000E+01, _TMP200.y < 1.00000000E+01, _TMP200.z < 1.00000000E+01, _TMP200.w < 1.00000000E+01); + _a0209 = _e1 - _c3.wxyz; + _TMP206 = abs(_a0209); + _TMP29 = bvec4(_TMP206.x < 1.00000000E+01, _TMP206.y < 1.00000000E+01, _TMP206.z < 1.00000000E+01, _TMP206.w < 1.00000000E+01); + _a0215 = _b1.wxyz - _i4; + _TMP212 = abs(_a0215); + _TMP30 = bvec4(_TMP212.x < 1.00000000E+01, _TMP212.y < 1.00000000E+01, _TMP212.z < 1.00000000E+01, _TMP212.w < 1.00000000E+01); + _a0221 = _b1.zwxy - _i5; + _TMP218 = abs(_a0221); + _TMP31 = bvec4(_TMP218.x < 1.00000000E+01, _TMP218.y < 1.00000000E+01, _TMP218.z < 1.00000000E+01, _TMP218.w < 1.00000000E+01); + _a0227 = _e1 - _c3.zwxy; + _TMP224 = abs(_a0227); + _TMP32 = bvec4(_TMP224.x < 1.00000000E+01, _TMP224.y < 1.00000000E+01, _TMP224.z < 1.00000000E+01, _TMP224.w < 1.00000000E+01); + _a0233 = _e1 - _c3; + _TMP230 = abs(_a0233); + _TMP33 = bvec4(_TMP230.x < 1.00000000E+01, _TMP230.y < 1.00000000E+01, _TMP230.z < 1.00000000E+01, _TMP230.w < 1.00000000E+01); + _a0239 = _b1 - _i4.yzwx; + _TMP236 = abs(_a0239); + _TMP34 = bvec4(_TMP236.x < 1.00000000E+01, _TMP236.y < 1.00000000E+01, _TMP236.z < 1.00000000E+01, _TMP236.w < 1.00000000E+01); + _a0245 = _b1.yzwx - _i5.wxyz; + _TMP242 = abs(_a0245); + _TMP35 = bvec4(_TMP242.x < 1.00000000E+01, _TMP242.y < 1.00000000E+01, _TMP242.z < 1.00000000E+01, _TMP242.w < 1.00000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || _TMP29.x && !_TMP30.x && !_TMP31.x || _TMP32.x || _TMP33.x) && (_b1.w != _h5.y && _b1.w != _c3.w || _b1.z != _h5.x && _b1.z != _c3.w || _b1.z != _c3.z || _b1.w != _c3.x || _TMP34.x && _TMP35.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || _TMP29.y && !_TMP30.y && !_TMP31.y || _TMP32.y || _TMP33.y) && (_b1.x != _h5.z && _b1.x != _c3.x || _b1.w != _h5.y && _b1.w != _c3.x || _b1.w != _c3.w || _b1.x != _c3.y || _TMP34.y && _TMP35.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || _TMP29.z && !_TMP30.z && !_TMP31.z || _TMP32.z || _TMP33.z) && (_b1.y != _h5.w && _b1.y != _c3.y || _b1.x != _h5.z && _b1.x != _c3.y || _b1.x != _c3.x || _b1.y != _c3.z || _TMP34.z && _TMP35.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || _TMP29.w && !_TMP30.w && !_TMP31.w || _TMP32.w || _TMP33.w) && (_b1.z != _h5.x && _b1.z != _c3.z || _b1.y != _h5.w && _b1.y != _c3.z || _b1.y != _c3.y || _b1.z != _c3.w || _TMP34.w && _TMP35.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0249 = (_fx - vec4( 1.10000002E+00, 9.99999940E-02, -8.99999976E-01, 9.99999940E-02))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 7.99999952E-01); + _TMP75 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0249); + _TMP250 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP75); + _fx45 = _TMP250*_TMP250*(3.00000000E+00 - 2.00000000E+00*_TMP250); + _x0259 = (_fx_left - vec4( 6.00000024E-01, 6.00000024E-01, -8.99999976E-01, -4.00000006E-01))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 8.00000012E-01); + _TMP75 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0259); + _TMP260 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP75); + _fx30 = _TMP260*_TMP260*(3.00000000E+00 - 2.00000000E+00*_TMP260); + _x0269 = (_fx_up - vec4( 1.60000002E+00, -4.00000006E-01, -1.39999998E+00, 9.99999940E-02))/vec4( 8.00000072E-01, 8.00000012E-01, 7.99999952E-01, 7.99999952E-01); + _TMP75 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0269); + _TMP270 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP75); + _fx60 = _TMP270*_TMP270*(3.00000000E+00 - 2.00000000E+00*_TMP270); + _a0281 = _e1 - _c3; + _TMP278 = abs(_a0281); + _a0285 = _e1 - _c3.zwxy; + _TMP282 = abs(_a0285); + _a0289 = _c3.wxyz - _h5; + _TMP286 = abs(_a0289); + _a0293 = _c3.wxyz - _h5.yzwx; + _TMP290 = abs(_a0293); + _a0297 = _b1.zwxy - _b1.wxyz; + _TMP294 = abs(_a0297); + _TMP36 = _TMP278 + _TMP282 + _TMP286 + _TMP290 + 4.00000000E+00*_TMP294; + _a0303 = _b1.zwxy - _b1.yzwx; + _TMP300 = abs(_a0303); + _a0307 = _b1.zwxy - _i5; + _TMP304 = abs(_a0307); + _a0311 = _b1.wxyz - _i4; + _TMP308 = abs(_a0311); + _a0315 = _b1.wxyz - _b1; + _TMP312 = abs(_a0315); + _a0319 = _e1 - _c3.wxyz; + _TMP316 = abs(_a0319); + _TMP37 = _TMP300 + _TMP304 + _TMP308 + _TMP312 + 4.00000000E+00*_TMP316; + _edr = bvec4(_TMP36.x < _TMP37.x && _interp_restriction_lv1.x, _TMP36.y < _TMP37.y && _interp_restriction_lv1.y, _TMP36.z < _TMP37.z && _interp_restriction_lv1.z, _TMP36.w < _TMP37.w && _interp_restriction_lv1.w); + _a0323 = _b1.wxyz - _c3.zwxy; + _TMP320 = abs(_a0323); + _a0327 = _b1.zwxy - _c3; + _TMP324 = abs(_a0327); + _edr_left = bvec4((2.00000000E+00*_TMP320).x <= _TMP324.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP320).y <= _TMP324.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP320).z <= _TMP324.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP320).w <= _TMP324.w && _interp_restriction_lv2_left.w); + _a0331 = _b1.wxyz - _c3.zwxy; + _TMP328 = abs(_a0331); + _a0335 = _b1.zwxy - _c3; + _TMP332 = abs(_a0335); + _edr_up = bvec4(_TMP328.x >= (2.00000000E+00*_TMP332).x && _interp_restriction_lv2_up.x, _TMP328.y >= (2.00000000E+00*_TMP332).y && _interp_restriction_lv2_up.y, _TMP328.z >= (2.00000000E+00*_TMP332).z && _interp_restriction_lv2_up.z, _TMP328.w >= (2.00000000E+00*_TMP332).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0339 = _e1 - _b1.wxyz; + _TMP336 = abs(_a0339); + _a0343 = _e1 - _b1.zwxy; + _TMP340 = abs(_a0343); + _px = bvec4(_TMP336.x <= _TMP340.x, _TMP336.y <= _TMP340.y, _TMP336.z <= _TMP340.z, _TMP336.w <= _TMP340.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP44 = max(_final30, _final60); + _maximo = max(_TMP44, _final45); + if (_nc.x) { + if (_px.x) { + _TMP45 = _F; + } else { + _TMP45 = _H; + } + _pix1 = _TMP45; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP46 = _B2; + } else { + _TMP46 = _F; + } + _pix1 = _TMP46; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP47 = _D; + } else { + _TMP47 = _B2; + } + _pix1 = _TMP47; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP48 = _H; + } else { + _TMP48 = _D; + } + _pix1 = _TMP48; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP49 = _H; + } else { + _TMP49 = _D; + } + _pix2 = _TMP49; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP50 = _D; + } else { + _TMP50 = _B2; + } + _pix2 = _TMP50; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP51 = _B2; + } else { + _TMP51 = _F; + } + _pix2 = _TMP51; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP52 = _F; + } else { + _TMP52 = _H; + } + _pix2 = _TMP52; + _blend2 = _maximo.x; + } + } + } + } + _TMP71 = pow(float(_E.x), 2.40039062E+00); + _TMP66 = float(_TMP71); + _TMP71 = pow(float(_E.y), 2.40039062E+00); + _TMP67 = float(_TMP71); + _TMP71 = pow(float(_E.z), 2.40039062E+00); + _TMP68 = float(_TMP71); + _E = vec3(_TMP66, _TMP67, _TMP68); + _TMP71 = pow(float(_pix1.x), 2.40039062E+00); + _TMP66 = float(_TMP71); + _TMP71 = pow(float(_pix1.y), 2.40039062E+00); + _TMP67 = float(_TMP71); + _TMP71 = pow(float(_pix1.z), 2.40039062E+00); + _TMP68 = float(_TMP71); + _TMP53 = vec3(_TMP66, _TMP67, _TMP68); + _t0365 = float(_blend1); + _res1 = _E + _t0365*(_TMP53 - _E); + _TMP71 = pow(float(_pix2.x), 2.40039062E+00); + _TMP66 = float(_TMP71); + _TMP71 = pow(float(_pix2.y), 2.40039062E+00); + _TMP67 = float(_TMP71); + _TMP71 = pow(float(_pix2.z), 2.40039062E+00); + _TMP68 = float(_TMP71); + _TMP54 = vec3(_TMP66, _TMP67, _TMP68); + _t0375 = float(_blend2); + _res2 = _E + _t0375*(_TMP54 - _E); + _a0379 = _E - _res1; + _TMP72 = abs(vec3(float(_a0379.x), float(_a0379.y), float(_a0379.z))); + _df0377 = vec3(float(_TMP72.x), float(_TMP72.y), float(_TMP72.z)); + _TMP55 = _df0377.x + _df0377.y + _df0377.z; + _a0383 = _E - _res2; + _TMP72 = abs(vec3(float(_a0383.x), float(_a0383.y), float(_a0383.z))); + _df0381 = vec3(float(_TMP72.x), float(_TMP72.y), float(_TMP72.z)); + _TMP56 = _df0381.x + _df0381.y + _df0381.z; + _TMP57 = float((_TMP56 >= _TMP55)); + _res = _res1 + _TMP57*(_res2 - _res1); + _TMP71 = pow(float(_res.x), 4.54589844E-01); + _TMP66 = float(_TMP71); + _TMP71 = pow(float(_res.y), 4.54589844E-01); + _TMP67 = float(_TMP71); + _TMP71 = pow(float(_res.z), 4.54589844E-01); + _TMP68 = float(_TMP71); + _TMP58 = vec3(_TMP66, _TMP67, _TMP68); + _TMP73 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), vec3(float(_TMP58.x), float(_TMP58.y), float(_TMP58.z))); + _TMP69 = vec3(float(_TMP73.x), float(_TMP73.y), float(_TMP73.z)); + _TMP74 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), vec3(float(_TMP69.x), float(_TMP69.y), float(_TMP69.z))); + _TMP396 = vec3(float(_TMP74.x), float(_TMP74.y), float(_TMP74.z)); + _ret_0 = vec4(float(_TMP396.x), float(_TMP396.y), float(_TMP396.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/4xBR-v4.0.glsl b/ios/Assets/shaders_glsl/xBR/4xBR-v4.0.glsl new file mode 100644 index 0000000000..f3974afaae --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/4xBR-v4.0.glsl @@ -0,0 +1,668 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP61; +float _TMP60; +float _TMP59; +vec3 _TMP70; +vec3 _TMP58; +vec3 _TMP57; +vec3 _TMP56; +vec3 _TMP55; +vec3 _TMP54; +vec3 _TMP53; +vec3 _TMP52; +vec3 _TMP51; +vec4 _TMP50; +vec4 _TMP49; +vec4 _TMP48; +vec4 _TMP41; +vec4 _TMP40; +vec4 _TMP71; +bvec4 _TMP39; +bvec4 _TMP38; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP69; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0085; +vec4 _r0129; +vec4 _r0139; +vec4 _r0149; +vec4 _r0159; +vec4 _r0169; +vec4 _r0179; +vec4 _TMP190; +vec4 _a0193; +vec4 _TMP196; +vec4 _a0199; +vec4 _TMP202; +vec4 _a0205; +vec4 _TMP208; +vec4 _a0211; +vec4 _TMP214; +vec4 _a0217; +vec4 _TMP220; +vec4 _a0223; +vec4 _TMP226; +vec4 _a0229; +vec4 _TMP232; +vec4 _a0235; +vec4 _TMP238; +vec4 _a0241; +vec4 _TMP244; +vec4 _a0247; +vec4 _TMP250; +vec4 _a0253; +vec4 _TMP256; +vec4 _a0259; +vec4 _TMP262; +vec4 _a0265; +vec4 _x0269; +vec4 _TMP270; +vec4 _x0279; +vec4 _TMP280; +vec4 _x0289; +vec4 _TMP290; +vec4 _x0299; +vec4 _TMP300; +vec4 _x0309; +vec4 _TMP310; +vec4 _TMP318; +vec4 _a0321; +vec4 _TMP322; +vec4 _a0325; +vec4 _TMP326; +vec4 _a0329; +vec4 _TMP330; +vec4 _a0333; +vec4 _TMP334; +vec4 _a0337; +vec4 _TMP340; +vec4 _a0343; +vec4 _TMP344; +vec4 _a0347; +vec4 _TMP348; +vec4 _a0351; +vec4 _TMP352; +vec4 _a0355; +vec4 _TMP356; +vec4 _a0359; +vec4 _TMP360; +vec4 _a0363; +vec4 _TMP364; +vec4 _a0367; +vec4 _TMP368; +vec4 _a0371; +vec4 _TMP372; +vec4 _a0375; +vec4 _TMP376; +vec4 _a0379; +vec4 _TMP380; +vec4 _a0383; +float _t0393; +float _t0395; +vec3 _df0397; +vec3 _a0399; +vec3 _df0401; +vec3 _a0403; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _interp_restriction_lv3_left; + bvec4 _interp_restriction_lv3_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + bvec4 _nc15; + bvec4 _nc75; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec4 _fx3_left; + vec4 _fx3_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A3; + vec3 _B3; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _fx15; + vec4 _fx75; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _final15; + vec4 _final75; + vec4 _maximo; + vec3 _res; + _x0085 = TEX0.xy*TextureSize; + _fp = fract(_x0085); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A3 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B3 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP69 = dot(vec3(float(_B3.x), float(_B3.y), float(_B3.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0129.x = float(_TMP69); + _TMP69 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0129.y = float(_TMP69); + _TMP69 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0129.z = float(_TMP69); + _TMP69 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0129.w = float(_TMP69); + _b1 = vec4(float(_r0129.x), float(_r0129.y), float(_r0129.z), float(_r0129.w)); + _TMP69 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0139.x = float(_TMP69); + _TMP69 = dot(vec3(float(_A3.x), float(_A3.y), float(_A3.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0139.y = float(_TMP69); + _TMP69 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0139.z = float(_TMP69); + _TMP69 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0139.w = float(_TMP69); + _c3 = vec4(float(_r0139.x), float(_r0139.y), float(_r0139.z), float(_r0139.w)); + _TMP69 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0149.x = float(_TMP69); + _TMP69 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0149.y = float(_TMP69); + _TMP69 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0149.z = float(_TMP69); + _TMP69 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0149.w = float(_TMP69); + _e1 = vec4(float(_r0149.x), float(_r0149.y), float(_r0149.z), float(_r0149.w)); + _TMP69 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0159.x = float(_TMP69); + _TMP69 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0159.y = float(_TMP69); + _TMP69 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0159.z = float(_TMP69); + _TMP69 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0159.w = float(_TMP69); + _i4 = vec4(float(_r0159.x), float(_r0159.y), float(_r0159.z), float(_r0159.w)); + _TMP69 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0169.x = float(_TMP69); + _TMP69 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0169.y = float(_TMP69); + _TMP69 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0169.z = float(_TMP69); + _TMP69 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0169.w = float(_TMP69); + _i5 = vec4(float(_r0169.x), float(_r0169.y), float(_r0169.z), float(_r0169.w)); + _TMP69 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0179.x = float(_TMP69); + _TMP69 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0179.y = float(_TMP69); + _TMP69 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0179.z = float(_TMP69); + _TMP69 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0179.w = float(_TMP69); + _h5 = vec4(float(_r0179.x), float(_r0179.y), float(_r0179.z), float(_r0179.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _fx3_left = vec4( 6.00000000E+00, -2.00000000E+00, -6.00000000E+00, 2.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 6.00000000E+00, -2.00000000E+00, -6.00000000E+00)*_fp.x; + _fx3_up = vec4( 2.00000000E+00, -6.00000000E+00, -2.00000000E+00, 6.00000000E+00)*_fp.y + vec4( 6.00000000E+00, 2.00000000E+00, -6.00000000E+00, -2.00000000E+00)*_fp.x; + _a0193 = _b1.wxyz - _b1; + _TMP190 = abs(_a0193); + _TMP27 = bvec4(_TMP190.x < 1.00000000E+01, _TMP190.y < 1.00000000E+01, _TMP190.z < 1.00000000E+01, _TMP190.w < 1.00000000E+01); + _a0199 = _b1.zwxy - _b1.yzwx; + _TMP196 = abs(_a0199); + _TMP28 = bvec4(_TMP196.x < 1.00000000E+01, _TMP196.y < 1.00000000E+01, _TMP196.z < 1.00000000E+01, _TMP196.w < 1.00000000E+01); + _a0205 = _e1 - _c3.wxyz; + _TMP202 = abs(_a0205); + _TMP29 = bvec4(_TMP202.x < 1.00000000E+01, _TMP202.y < 1.00000000E+01, _TMP202.z < 1.00000000E+01, _TMP202.w < 1.00000000E+01); + _a0211 = _b1.wxyz - _i4; + _TMP208 = abs(_a0211); + _TMP30 = bvec4(_TMP208.x < 1.00000000E+01, _TMP208.y < 1.00000000E+01, _TMP208.z < 1.00000000E+01, _TMP208.w < 1.00000000E+01); + _a0217 = _b1.zwxy - _i5; + _TMP214 = abs(_a0217); + _TMP31 = bvec4(_TMP214.x < 1.00000000E+01, _TMP214.y < 1.00000000E+01, _TMP214.z < 1.00000000E+01, _TMP214.w < 1.00000000E+01); + _a0223 = _e1 - _c3.zwxy; + _TMP220 = abs(_a0223); + _TMP32 = bvec4(_TMP220.x < 1.00000000E+01, _TMP220.y < 1.00000000E+01, _TMP220.z < 1.00000000E+01, _TMP220.w < 1.00000000E+01); + _a0229 = _e1 - _c3; + _TMP226 = abs(_a0229); + _TMP33 = bvec4(_TMP226.x < 1.00000000E+01, _TMP226.y < 1.00000000E+01, _TMP226.z < 1.00000000E+01, _TMP226.w < 1.00000000E+01); + _a0235 = _b1 - _i4.yzwx; + _TMP232 = abs(_a0235); + _TMP34 = bvec4(_TMP232.x < 1.00000000E+01, _TMP232.y < 1.00000000E+01, _TMP232.z < 1.00000000E+01, _TMP232.w < 1.00000000E+01); + _a0241 = _b1.yzwx - _i5.wxyz; + _TMP238 = abs(_a0241); + _TMP35 = bvec4(_TMP238.x < 1.00000000E+01, _TMP238.y < 1.00000000E+01, _TMP238.z < 1.00000000E+01, _TMP238.w < 1.00000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || _TMP29.x && !_TMP30.x && !_TMP31.x || _TMP32.x || _TMP33.x) && (_b1.w != _h5.y && _b1.w != _c3.w || _b1.z != _h5.x && _b1.z != _c3.w || _b1.z != _c3.z || _b1.w != _c3.x || _TMP34.x && _TMP35.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || _TMP29.y && !_TMP30.y && !_TMP31.y || _TMP32.y || _TMP33.y) && (_b1.x != _h5.z && _b1.x != _c3.x || _b1.w != _h5.y && _b1.w != _c3.x || _b1.w != _c3.w || _b1.x != _c3.y || _TMP34.y && _TMP35.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || _TMP29.z && !_TMP30.z && !_TMP31.z || _TMP32.z || _TMP33.z) && (_b1.y != _h5.w && _b1.y != _c3.y || _b1.x != _h5.z && _b1.x != _c3.y || _b1.x != _c3.x || _b1.y != _c3.z || _TMP34.z && _TMP35.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || _TMP29.w && !_TMP30.w && !_TMP31.w || _TMP32.w || _TMP33.w) && (_b1.z != _h5.x && _b1.z != _c3.z || _b1.y != _h5.w && _b1.y != _c3.z || _b1.y != _c3.y || _b1.z != _c3.w || _TMP34.w && _TMP35.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _a0247 = _c3.zwxy - _i5.wxyz; + _TMP244 = abs(_a0247); + _TMP36 = bvec4(_TMP244.x < 2.00000000E+00, _TMP244.y < 2.00000000E+00, _TMP244.z < 2.00000000E+00, _TMP244.w < 2.00000000E+00); + _a0253 = _h5.wxyz - _i5.wxyz; + _TMP250 = abs(_a0253); + _TMP37 = bvec4(_TMP250.x < 2.00000000E+00, _TMP250.y < 2.00000000E+00, _TMP250.z < 2.00000000E+00, _TMP250.w < 2.00000000E+00); + _interp_restriction_lv3_left = bvec4(_TMP36.x && !_TMP37.x, _TMP36.y && !_TMP37.y, _TMP36.z && !_TMP37.z, _TMP36.w && !_TMP37.w); + _a0259 = _c3 - _i4.yzwx; + _TMP256 = abs(_a0259); + _TMP38 = bvec4(_TMP256.x < 2.00000000E+00, _TMP256.y < 2.00000000E+00, _TMP256.z < 2.00000000E+00, _TMP256.w < 2.00000000E+00); + _a0265 = _h5.zwxy - _i4.yzwx; + _TMP262 = abs(_a0265); + _TMP39 = bvec4(_TMP262.x < 2.00000000E+00, _TMP262.y < 2.00000000E+00, _TMP262.z < 2.00000000E+00, _TMP262.w < 2.00000000E+00); + _interp_restriction_lv3_up = bvec4(_TMP38.x && !_TMP39.x, _TMP38.y && !_TMP39.y, _TMP38.z && !_TMP39.z, _TMP38.w && !_TMP39.w); + _x0269 = (_fx - vec4( 1.10000002E+00, 9.99999940E-02, -8.99999976E-01, 9.99999940E-02))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 7.99999952E-01); + _TMP71 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0269); + _TMP270 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP71); + _fx45 = _TMP270*_TMP270*(3.00000000E+00 - 2.00000000E+00*_TMP270); + _x0279 = (_fx_left - vec4( 6.00000024E-01, 6.00000024E-01, -8.99999976E-01, -4.00000006E-01))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 8.00000012E-01); + _TMP71 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0279); + _TMP280 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP71); + _fx30 = _TMP280*_TMP280*(3.00000000E+00 - 2.00000000E+00*_TMP280); + _x0289 = (_fx_up - vec4( 1.60000002E+00, -4.00000006E-01, -1.39999998E+00, 9.99999940E-02))/vec4( 8.00000072E-01, 8.00000012E-01, 7.99999952E-01, 7.99999952E-01); + _TMP71 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0289); + _TMP290 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP71); + _fx60 = _TMP290*_TMP290*(3.00000000E+00 - 2.00000000E+00*_TMP290); + _x0299 = (_fx3_left - vec4( 4.59999990E+00, 2.59999990E+00, -3.40000010E+00, -1.39999998E+00))/vec4( 8.00000191E-01, 8.00000191E-01, 8.00000191E-01, 7.99999952E-01); + _TMP71 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0299); + _TMP300 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP71); + _fx15 = _TMP300*_TMP300*(3.00000000E+00 - 2.00000000E+00*_TMP300); + _x0309 = (_fx3_up - vec4( 4.59999990E+00, -1.39999998E+00, -3.40000010E+00, 2.59999990E+00))/vec4( 8.00000191E-01, 7.99999952E-01, 8.00000191E-01, 8.00000191E-01); + _TMP71 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0309); + _TMP310 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP71); + _fx75 = _TMP310*_TMP310*(3.00000000E+00 - 2.00000000E+00*_TMP310); + _a0321 = _e1 - _c3; + _TMP318 = abs(_a0321); + _a0325 = _e1 - _c3.zwxy; + _TMP322 = abs(_a0325); + _a0329 = _c3.wxyz - _h5; + _TMP326 = abs(_a0329); + _a0333 = _c3.wxyz - _h5.yzwx; + _TMP330 = abs(_a0333); + _a0337 = _b1.zwxy - _b1.wxyz; + _TMP334 = abs(_a0337); + _TMP40 = _TMP318 + _TMP322 + _TMP326 + _TMP330 + 4.00000000E+00*_TMP334; + _a0343 = _b1.zwxy - _b1.yzwx; + _TMP340 = abs(_a0343); + _a0347 = _b1.zwxy - _i5; + _TMP344 = abs(_a0347); + _a0351 = _b1.wxyz - _i4; + _TMP348 = abs(_a0351); + _a0355 = _b1.wxyz - _b1; + _TMP352 = abs(_a0355); + _a0359 = _e1 - _c3.wxyz; + _TMP356 = abs(_a0359); + _TMP41 = _TMP340 + _TMP344 + _TMP348 + _TMP352 + 4.00000000E+00*_TMP356; + _edr = bvec4(_TMP40.x < _TMP41.x && _interp_restriction_lv1.x, _TMP40.y < _TMP41.y && _interp_restriction_lv1.y, _TMP40.z < _TMP41.z && _interp_restriction_lv1.z, _TMP40.w < _TMP41.w && _interp_restriction_lv1.w); + _a0363 = _b1.wxyz - _c3.zwxy; + _TMP360 = abs(_a0363); + _a0367 = _b1.zwxy - _c3; + _TMP364 = abs(_a0367); + _edr_left = bvec4((2.00000000E+00*_TMP360).x <= _TMP364.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP360).y <= _TMP364.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP360).z <= _TMP364.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP360).w <= _TMP364.w && _interp_restriction_lv2_left.w); + _a0371 = _b1.wxyz - _c3.zwxy; + _TMP368 = abs(_a0371); + _a0375 = _b1.zwxy - _c3; + _TMP372 = abs(_a0375); + _edr_up = bvec4(_TMP368.x >= (2.00000000E+00*_TMP372).x && _interp_restriction_lv2_up.x, _TMP368.y >= (2.00000000E+00*_TMP372).y && _interp_restriction_lv2_up.y, _TMP368.z >= (2.00000000E+00*_TMP372).z && _interp_restriction_lv2_up.z, _TMP368.w >= (2.00000000E+00*_TMP372).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _nc15 = bvec4(_edr.x && _edr_left.x && _interp_restriction_lv3_left.x && bool(_fx15.x), _edr.y && _edr_left.y && _interp_restriction_lv3_left.y && bool(_fx15.y), _edr.z && _edr_left.z && _interp_restriction_lv3_left.z && bool(_fx15.z), _edr.w && _edr_left.w && _interp_restriction_lv3_left.w && bool(_fx15.w)); + _nc75 = bvec4(_edr.x && _edr_up.x && _interp_restriction_lv3_up.x && bool(_fx75.x), _edr.y && _edr_up.y && _interp_restriction_lv3_up.y && bool(_fx75.y), _edr.z && _edr_up.z && _interp_restriction_lv3_up.z && bool(_fx75.z), _edr.w && _edr_up.w && _interp_restriction_lv3_up.w && bool(_fx75.w)); + _a0379 = _e1 - _b1.wxyz; + _TMP376 = abs(_a0379); + _a0383 = _e1 - _b1.zwxy; + _TMP380 = abs(_a0383); + _px = bvec4(_TMP376.x <= _TMP380.x, _TMP376.y <= _TMP380.y, _TMP376.z <= _TMP380.z, _TMP376.w <= _TMP380.w); + _nc = bvec4(_nc75.x || _nc15.x || _nc30.x || _nc60.x || _nc45.x, _nc75.y || _nc15.y || _nc30.y || _nc60.y || _nc45.y, _nc75.z || _nc15.z || _nc30.z || _nc60.z || _nc45.z, _nc75.w || _nc15.w || _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _final15 = vec4(float(_nc15.x), float(_nc15.y), float(_nc15.z), float(_nc15.w))*_fx15; + _final75 = vec4(float(_nc75.x), float(_nc75.y), float(_nc75.z), float(_nc75.w))*_fx75; + _TMP48 = max(_final15, _final75); + _TMP49 = max(_final30, _final60); + _TMP50 = max(_TMP48, _TMP49); + _maximo = max(_TMP50, _final45); + if (_nc.x) { + if (_px.x) { + _TMP51 = _F; + } else { + _TMP51 = _H; + } + _pix1 = _TMP51; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP52 = _B3; + } else { + _TMP52 = _F; + } + _pix1 = _TMP52; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP53 = _D; + } else { + _TMP53 = _B3; + } + _pix1 = _TMP53; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP54 = _H; + } else { + _TMP54 = _D; + } + _pix1 = _TMP54; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP55 = _H; + } else { + _TMP55 = _D; + } + _pix2 = _TMP55; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP56 = _D; + } else { + _TMP56 = _B3; + } + _pix2 = _TMP56; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP57 = _B3; + } else { + _TMP57 = _F; + } + _pix2 = _TMP57; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP58 = _F; + } else { + _TMP58 = _H; + } + _pix2 = _TMP58; + _blend2 = _maximo.x; + } + } + } + } + _t0393 = float(_blend1); + _res1 = _E + _t0393*(_pix1 - _E); + _t0395 = float(_blend2); + _res2 = _E + _t0395*(_pix2 - _E); + _a0399 = _E - _res1; + _TMP70 = abs(vec3(float(_a0399.x), float(_a0399.y), float(_a0399.z))); + _df0397 = vec3(float(_TMP70.x), float(_TMP70.y), float(_TMP70.z)); + _TMP59 = _df0397.x + _df0397.y + _df0397.z; + _a0403 = _E - _res2; + _TMP70 = abs(vec3(float(_a0403.x), float(_a0403.y), float(_a0403.z))); + _df0401 = vec3(float(_TMP70.x), float(_TMP70.y), float(_TMP70.z)); + _TMP60 = _df0401.x + _df0401.y + _df0401.z; + _TMP61 = float((_TMP60 >= _TMP59)); + _res = _res1 + _TMP61*(_res2 - _res1); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/4xBR.glsl b/ios/Assets/shaders_glsl/xBR/4xBR.glsl new file mode 100644 index 0000000000..9a4ac3c09a --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/4xBR.glsl @@ -0,0 +1,319 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT._t1.xy = vec2(0.00000000E+00, -_ps.y); + _OUT._t1.zw = vec2(-_ps.x, 0.00000000E+00); + _ret_0._position1 = _r0003; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP16; +vec3 _TMP24; +vec3 _TMP28; +vec3 _TMP29; +vec3 _TMP30; +vec3 _TMP25; +vec3 _TMP26; +vec3 _TMP27; +vec3 _TMP17; +vec3 _TMP21; +vec3 _TMP22; +vec3 _TMP23; +vec3 _TMP18; +vec3 _TMP19; +vec3 _TMP20; +float _TMP31; +float _TMP32; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +float _TMP7; +float _TMP6; +float _TMP5; +float _TMP4; +float _TMP3; +float _TMP2; +float _TMP1; +float _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0038; +vec2 _c0056; +vec2 _c0058; +vec2 _c0060; +vec2 _c0064; +vec2 _c0066; +vec2 _c0068; +vec2 _c0070; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec2 _g1; + vec2 _g2; + vec3 _B; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _E11; + vec3 _E15; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + vec3 _res; + _x0038 = TEX0.xy*TextureSize; + _fp = fract(_x0038); + _TMP0 = float((_fp.x >= 5.00000000E-01)); + _TMP1 = float((_fp.y >= 5.00000000E-01)); + _TMP2 = float((_fp.x >= 5.00000000E-01)); + _TMP3 = float((_fp.y >= 5.00000000E-01)); + _g1 = TEX1.xy*((_TMP0 + _TMP1) - 1.00000000E+00) + TEX1.zw*(_TMP2 - _TMP3); + _TMP4 = float((_fp.y >= 5.00000000E-01)); + _TMP5 = float((_fp.x >= 5.00000000E-01)); + _TMP6 = float((_fp.x >= 5.00000000E-01)); + _TMP7 = float((_fp.y >= 5.00000000E-01)); + _g2 = TEX1.xy*(_TMP4 - _TMP5) + TEX1.zw*((_TMP6 + _TMP7) - 1.00000000E+00); + _c0056 = TEX0.xy + _g1; + _TMP8 = texture2D(Texture, _c0056); + _B = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0058 = (TEX0.xy + _g1) - _g2; + _TMP9 = texture2D(Texture, _c0058); + _C = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0060 = TEX0.xy + _g2; + _TMP10 = texture2D(Texture, _c0060); + _D = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0064 = TEX0.xy - _g2; + _TMP12 = texture2D(Texture, _c0064); + _F = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0066 = (TEX0.xy - _g1) + _g2; + _TMP13 = texture2D(Texture, _c0066); + _G = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0068 = TEX0.xy - _g1; + _TMP14 = texture2D(Texture, _c0068); + _H = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0070 = (TEX0.xy - _g1) - _g2; + _TMP15 = texture2D(Texture, _c0070); + _I = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _E11 = _E; + _E15 = _E; + _TMP32 = dot(vec3(float(_B.x), float(_B.y), float(_B.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _b = float(_TMP31); + _TMP32 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c = float(_TMP31); + _TMP32 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _d = float(_TMP31); + _TMP32 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _e = float(_TMP31); + _TMP32 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _f = float(_TMP31); + _TMP32 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _g = float(_TMP31); + _TMP32 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _h = float(_TMP31); + _TMP32 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _i = float(_TMP31); + if (_h == _f && _h != _e && (_e == _g && (_h == _i || _e == _d) || _e == _c && (_h == _i || _e == _b))) { + _E11 = _E*5.00000000E-01 + _F*5.00000000E-01; + _E15 = _F; + } + if (_fp.x < 5.00000000E-01) { + if (_fp.x < 2.50000000E-01) { + if (_fp.y < 2.50000000E-01) { + _TMP18 = _E15; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP19 = _E11; + } else { + if (_fp.y < 7.50000000E-01) { + _TMP20 = _E11; + } else { + _TMP20 = _E15; + } + _TMP19 = _TMP20; + } + _TMP18 = _TMP19; + } + _TMP17 = _TMP18; + } else { + if (_fp.y < 2.50000000E-01) { + _TMP21 = _E11; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP22 = _E; + } else { + if (_fp.y < 7.50000000E-01) { + _TMP23 = _E; + } else { + _TMP23 = _E11; + } + _TMP22 = _TMP23; + } + _TMP21 = _TMP22; + } + _TMP17 = _TMP21; + } + _TMP16 = _TMP17; + } else { + if (_fp.x < 7.50000000E-01) { + if (_fp.y < 2.50000000E-01) { + _TMP25 = _E11; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP26 = _E; + } else { + if (_fp.y < 7.50000000E-01) { + _TMP27 = _E; + } else { + _TMP27 = _E11; + } + _TMP26 = _TMP27; + } + _TMP25 = _TMP26; + } + _TMP24 = _TMP25; + } else { + if (_fp.y < 2.50000000E-01) { + _TMP28 = _E15; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP29 = _E11; + } else { + if (_fp.y < 7.50000000E-01) { + _TMP30 = _E11; + } else { + _TMP30 = _E15; + } + _TMP29 = _TMP30; + } + _TMP28 = _TMP29; + } + _TMP24 = _TMP28; + } + _TMP16 = _TMP24; + } + _res = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/5xBR-v1.1.glsl b/ios/Assets/shaders_glsl/xBR/5xBR-v1.1.glsl new file mode 100644 index 0000000000..6b7ab837ea --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/5xBR-v1.1.glsl @@ -0,0 +1,271 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT._t1.xy = vec2(0.00000000E+00, -_ps.y); + _OUT._t1.zw = vec2(-_ps.x, 0.00000000E+00); + _ret_0._position1 = _r0003; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = _r0003; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _color1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color1; + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP10; +vec3 _TMP11; +vec3 _TMP12; +float _TMP13; +float _TMP14; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0020; +vec2 _c0024; +vec2 _c0026; +vec2 _c0028; +vec2 _c0032; +vec2 _c0034; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec2 _st; + vec2 _g1; + vec2 _g2; + float _AO; + float _BO; + float _CO; + vec3 _B; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _C4; + vec3 _G5; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + float _c4; + float _g5; + vec3 _res; + bool _fx_1; + bool _condition_11; + bool _condition_21; + bool _condition_31; + _x0020 = TEX0.xy*TextureSize; + _fp = fract(_x0020); + _st = vec2(float((_fp.x >= 5.00000000E-01)), float((_fp.y >= 5.00000000E-01))); + _g1 = TEX1.xy*((_st.x + _st.y) - 1.00000000E+00) + TEX1.zw*(_st.x - _st.y); + _g2 = TEX1.xy*(_st.y - _st.x) + TEX1.zw*((_st.x + _st.y) - 1.00000000E+00); + _AO = 2.00000000E+00*_st.y - 1.00000000E+00; + _BO = 2.00000000E+00*_st.x - 1.00000000E+00; + _CO = (_st.x + _st.y) - 5.00000000E-01; + _c0024 = TEX0.xy + _g1; + _TMP0 = texture2D(Texture, _c0024); + _B = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0026 = (TEX0.xy + _g1) - _g2; + _TMP1 = texture2D(Texture, _c0026); + _C = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0028 = TEX0.xy + _g2; + _TMP2 = texture2D(Texture, _c0028); + _D = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0032 = TEX0.xy - _g2; + _TMP4 = texture2D(Texture, _c0032); + _F = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0034 = (TEX0.xy - _g1) + _g2; + _TMP5 = texture2D(Texture, _c0034); + _G = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0036 = TEX0.xy - _g1; + _TMP6 = texture2D(Texture, _c0036); + _H = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0038 = (TEX0.xy - _g1) - _g2; + _TMP7 = texture2D(Texture, _c0038); + _I = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0040 = (TEX0.xy + _g1) - 2.00000000E+00*_g2; + _TMP8 = texture2D(Texture, _c0040); + _C4 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0042 = (TEX0.xy - 2.00000000E+00*_g1) + _g2; + _TMP9 = texture2D(Texture, _c0042); + _G5 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP14 = dot(vec3(float(_B.x), float(_B.y), float(_B.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP13 = float(_TMP14); + _b = float(_TMP13); + _TMP14 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP13 = float(_TMP14); + _c = float(_TMP13); + _TMP14 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP13 = float(_TMP14); + _d = float(_TMP13); + _TMP14 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP13 = float(_TMP14); + _e = float(_TMP13); + _TMP14 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP13 = float(_TMP14); + _f = float(_TMP13); + _TMP14 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP13 = float(_TMP14); + _g = float(_TMP13); + _TMP14 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP13 = float(_TMP14); + _h = float(_TMP13); + _TMP14 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP13 = float(_TMP14); + _i = float(_TMP13); + _TMP14 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP13 = float(_TMP14); + _c4 = float(_TMP13); + _TMP14 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP13 = float(_TMP14); + _g5 = float(_TMP13); + _res = vec3(float(_E.x), float(_E.y), float(_E.z)); + _fx_1 = _AO*_fp.y + _BO*_fp.x > _CO; + if (_fx_1) { + _condition_11 = _e != _h && (_h == _f && (_e != _i && (_e != _b || _e != _d || _f != _b && _f != _c || _h != _d && _h != _g) || _e == _g && (_i == _h || _e == _d || _h != _d) || _e == _c && (_i == _h || _e == _b || _f != _b)) || _e != _f && _h != _i && _e == _g && (_f == _i && _h != _d || _e != _i && _h == _g5)); + _condition_21 = _e != _h && _e != _f && _f != _i && _e == _c && (_h == _i && _f != _b || _e != _i && _f == _c4); + _condition_31 = _e != _h && _g == _e && _e == _c && _e != _i && _e != _f; + if (_condition_11) { + _TMP10 = _H; + } else { + if (_condition_21) { + _TMP11 = _F; + } else { + if (_condition_31) { + _TMP12 = (_F + _H)*5.00000000E-01; + } else { + _TMP12 = _E; + } + _TMP11 = _TMP12; + } + _TMP10 = _TMP11; + } + _res = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + } + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/5xBR-v3.7a.glsl b/ios/Assets/shaders_glsl/xBR/5xBR-v3.7a.glsl new file mode 100644 index 0000000000..bd259df4e3 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/5xBR-v3.7a.glsl @@ -0,0 +1,513 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), float((-2.00000000E+00*_ps.y))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), float(-_ps.y)); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), float(_ps.y)); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(-_ps.x), 0.00000000E+00, float(_ps.x), float((2.00000000E+00*_ps.y))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float((-2.00000000E+00*_ps.x)), float(-_ps.y), 0.00000000E+00, float(_ps.y)); + _OUT.VARt7 = TexCoord.xyyy + vec4(float((2.00000000E+00*_ps.x)), float(-_ps.y), 0.00000000E+00, float(_ps.y)); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP53; +float _TMP52; +float _TMP51; +vec3 _TMP60; +vec3 _TMP43; +vec3 _TMP45; +vec3 _TMP47; +vec3 _TMP49; +vec3 _TMP50; +vec3 _TMP48; +vec3 _TMP46; +vec3 _TMP44; +vec3 _TMP35; +vec3 _TMP37; +vec3 _TMP39; +vec3 _TMP41; +vec3 _TMP42; +vec3 _TMP40; +vec3 _TMP38; +vec3 _TMP36; +vec4 _TMP28; +vec4 _TMP27; +float _TMP59; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0074; +vec4 _r0118; +vec4 _r0128; +vec4 _r0138; +vec4 _r0148; +vec4 _r0158; +vec4 _r0168; +vec4 _TMP179; +vec4 _a0182; +vec4 _TMP183; +vec4 _a0186; +vec4 _TMP187; +vec4 _a0190; +vec4 _TMP191; +vec4 _a0194; +vec4 _TMP195; +vec4 _a0198; +vec4 _TMP201; +vec4 _a0204; +vec4 _TMP205; +vec4 _a0208; +vec4 _TMP209; +vec4 _a0212; +vec4 _TMP213; +vec4 _a0216; +vec4 _TMP217; +vec4 _a0220; +vec4 _TMP221; +vec4 _a0224; +vec4 _TMP225; +vec4 _a0228; +vec4 _TMP229; +vec4 _a0232; +vec4 _TMP233; +vec4 _a0236; +vec4 _TMP237; +vec4 _a0240; +vec4 _TMP241; +vec4 _a0244; +vec3 _df0246; +vec3 _a0248; +vec3 _df0250; +vec3 _a0252; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + vec2 _fp; + vec3 _A1; + vec3 _B1; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec3 _res; + _x0074 = TEX0.xy*TextureSize; + _fp = fract(_x0074); + _TMP0 = texture2D(Texture, VARt1.xw); + _A1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP59 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0118.x = float(_TMP59); + _TMP59 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0118.y = float(_TMP59); + _TMP59 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0118.z = float(_TMP59); + _TMP59 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0118.w = float(_TMP59); + _b1 = vec4(float(_r0118.x), float(_r0118.y), float(_r0118.z), float(_r0118.w)); + _TMP59 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0128.x = float(_TMP59); + _TMP59 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0128.y = float(_TMP59); + _TMP59 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0128.z = float(_TMP59); + _TMP59 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0128.w = float(_TMP59); + _c3 = vec4(float(_r0128.x), float(_r0128.y), float(_r0128.z), float(_r0128.w)); + _TMP59 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0138.x = float(_TMP59); + _TMP59 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0138.y = float(_TMP59); + _TMP59 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0138.z = float(_TMP59); + _TMP59 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0138.w = float(_TMP59); + _e1 = vec4(float(_r0138.x), float(_r0138.y), float(_r0138.z), float(_r0138.w)); + _TMP59 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0148.x = float(_TMP59); + _TMP59 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0148.y = float(_TMP59); + _TMP59 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0148.z = float(_TMP59); + _TMP59 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0148.w = float(_TMP59); + _i4 = vec4(float(_r0148.x), float(_r0148.y), float(_r0148.z), float(_r0148.w)); + _TMP59 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0158.x = float(_TMP59); + _TMP59 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0158.y = float(_TMP59); + _TMP59 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0158.z = float(_TMP59); + _TMP59 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0158.w = float(_TMP59); + _i5 = vec4(float(_r0158.x), float(_r0158.y), float(_r0158.z), float(_r0158.w)); + _TMP59 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0168.x = float(_TMP59); + _TMP59 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0168.y = float(_TMP59); + _TMP59 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0168.z = float(_TMP59); + _TMP59 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0168.w = float(_TMP59); + _h5 = vec4(float(_r0168.x), float(_r0168.y), float(_r0168.z), float(_r0168.w)); + _fx = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).x > 1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).y > 5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).w > 5.00000000E-01); + _fx_left = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).x > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).y > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).w > 0.00000000E+00); + _fx_up = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).x > 2.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).y > 0.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).z > -1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).w > 5.00000000E-01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z, _e1.y != _b1.x && _e1.y != _b1.w, _e1.z != _b1.y && _e1.z != _b1.x, _e1.w != _b1.z && _e1.w != _b1.y); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _a0182 = _e1 - _c3; + _TMP179 = abs(_a0182); + _a0186 = _e1 - _c3.zwxy; + _TMP183 = abs(_a0186); + _a0190 = _c3.wxyz - _h5; + _TMP187 = abs(_a0190); + _a0194 = _c3.wxyz - _h5.yzwx; + _TMP191 = abs(_a0194); + _a0198 = _b1.zwxy - _b1.wxyz; + _TMP195 = abs(_a0198); + _TMP27 = _TMP179 + _TMP183 + _TMP187 + _TMP191 + 4.00000000E+00*_TMP195; + _a0204 = _b1.zwxy - _b1.yzwx; + _TMP201 = abs(_a0204); + _a0208 = _b1.zwxy - _i5; + _TMP205 = abs(_a0208); + _a0212 = _b1.wxyz - _i4; + _TMP209 = abs(_a0212); + _a0216 = _b1.wxyz - _b1; + _TMP213 = abs(_a0216); + _a0220 = _e1 - _c3.wxyz; + _TMP217 = abs(_a0220); + _TMP28 = _TMP201 + _TMP205 + _TMP209 + _TMP213 + 4.00000000E+00*_TMP217; + _edr = bvec4(_TMP27.x < _TMP28.x && _interp_restriction_lv1.x, _TMP27.y < _TMP28.y && _interp_restriction_lv1.y, _TMP27.z < _TMP28.z && _interp_restriction_lv1.z, _TMP27.w < _TMP28.w && _interp_restriction_lv1.w); + _a0224 = _b1.wxyz - _c3.zwxy; + _TMP221 = abs(_a0224); + _a0228 = _b1.zwxy - _c3; + _TMP225 = abs(_a0228); + _edr_left = bvec4((2.00000000E+00*_TMP221).x <= _TMP225.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP221).y <= _TMP225.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP221).z <= _TMP225.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP221).w <= _TMP225.w && _interp_restriction_lv2_left.w); + _a0232 = _b1.wxyz - _c3.zwxy; + _TMP229 = abs(_a0232); + _a0236 = _b1.zwxy - _c3; + _TMP233 = abs(_a0236); + _edr_up = bvec4(_TMP229.x >= (2.00000000E+00*_TMP233).x && _interp_restriction_lv2_up.x, _TMP229.y >= (2.00000000E+00*_TMP233).y && _interp_restriction_lv2_up.y, _TMP229.z >= (2.00000000E+00*_TMP233).z && _interp_restriction_lv2_up.z, _TMP229.w >= (2.00000000E+00*_TMP233).w && _interp_restriction_lv2_up.w); + _nc = bvec4(_edr.x && (_fx.x || _edr_left.x && _fx_left.x || _edr_up.x && _fx_up.x), _edr.y && (_fx.y || _edr_left.y && _fx_left.y || _edr_up.y && _fx_up.y), _edr.z && (_fx.z || _edr_left.z && _fx_left.z || _edr_up.z && _fx_up.z), _edr.w && (_fx.w || _edr_left.w && _fx_left.w || _edr_up.w && _fx_up.w)); + _a0240 = _e1 - _b1.wxyz; + _TMP237 = abs(_a0240); + _a0244 = _e1 - _b1.zwxy; + _TMP241 = abs(_a0244); + _px = bvec4(_TMP237.x <= _TMP241.x, _TMP237.y <= _TMP241.y, _TMP237.z <= _TMP241.z, _TMP237.w <= _TMP241.w); + if (_nc.x) { + if (_px.x) { + _TMP36 = _F; + } else { + _TMP36 = _H; + } + _TMP35 = _TMP36; + } else { + if (_nc.y) { + if (_px.y) { + _TMP38 = _B2; + } else { + _TMP38 = _F; + } + _TMP37 = _TMP38; + } else { + if (_nc.z) { + if (_px.z) { + _TMP40 = _D; + } else { + _TMP40 = _B2; + } + _TMP39 = _TMP40; + } else { + if (_nc.w) { + if (_px.w) { + _TMP42 = _H; + } else { + _TMP42 = _D; + } + _TMP41 = _TMP42; + } else { + _TMP41 = _E; + } + _TMP39 = _TMP41; + } + _TMP37 = _TMP39; + } + _TMP35 = _TMP37; + } + if (_nc.w) { + if (_px.w) { + _TMP44 = _H; + } else { + _TMP44 = _D; + } + _TMP43 = _TMP44; + } else { + if (_nc.z) { + if (_px.z) { + _TMP46 = _D; + } else { + _TMP46 = _B2; + } + _TMP45 = _TMP46; + } else { + if (_nc.y) { + if (_px.y) { + _TMP48 = _B2; + } else { + _TMP48 = _F; + } + _TMP47 = _TMP48; + } else { + if (_nc.x) { + if (_px.x) { + _TMP50 = _F; + } else { + _TMP50 = _H; + } + _TMP49 = _TMP50; + } else { + _TMP49 = _E; + } + _TMP47 = _TMP49; + } + _TMP45 = _TMP47; + } + _TMP43 = _TMP45; + } + _a0248 = _E - _TMP35; + _TMP60 = abs(vec3(float(_a0248.x), float(_a0248.y), float(_a0248.z))); + _df0246 = vec3(float(_TMP60.x), float(_TMP60.y), float(_TMP60.z)); + _TMP51 = _df0246.x + _df0246.y + _df0246.z; + _a0252 = _E - _TMP43; + _TMP60 = abs(vec3(float(_a0252.x), float(_a0252.y), float(_a0252.z))); + _df0250 = vec3(float(_TMP60.x), float(_TMP60.y), float(_TMP60.z)); + _TMP52 = _df0250.x + _df0250.y + _df0250.z; + _TMP53 = float((_TMP52 >= _TMP51)); + _res = _TMP35 + _TMP53*(_TMP43 - _TMP35); + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/5xBR-v3.7b.glsl b/ios/Assets/shaders_glsl/xBR/5xBR-v3.7b.glsl new file mode 100644 index 0000000000..1840118a54 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/5xBR-v3.7b.glsl @@ -0,0 +1,555 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP60; +float _TMP59; +float _TMP58; +vec3 _TMP68; +vec3 _TMP50; +vec3 _TMP52; +vec3 _TMP54; +vec3 _TMP56; +vec3 _TMP57; +vec3 _TMP55; +vec3 _TMP53; +vec3 _TMP51; +vec3 _TMP42; +vec3 _TMP44; +vec3 _TMP46; +vec3 _TMP48; +vec3 _TMP49; +vec3 _TMP47; +vec3 _TMP45; +vec3 _TMP43; +vec4 _TMP35; +vec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP67; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0082; +vec4 _r0126; +vec4 _r0136; +vec4 _r0146; +vec4 _r0156; +vec4 _r0166; +vec4 _r0176; +vec4 _TMP187; +vec4 _a0190; +vec4 _TMP193; +vec4 _a0196; +vec4 _TMP199; +vec4 _a0202; +vec4 _TMP205; +vec4 _a0208; +vec4 _TMP211; +vec4 _a0214; +vec4 _TMP217; +vec4 _a0220; +vec4 _TMP223; +vec4 _a0226; +vec4 _TMP229; +vec4 _a0232; +vec4 _TMP233; +vec4 _a0236; +vec4 _TMP237; +vec4 _a0240; +vec4 _TMP241; +vec4 _a0244; +vec4 _TMP245; +vec4 _a0248; +vec4 _TMP251; +vec4 _a0254; +vec4 _TMP255; +vec4 _a0258; +vec4 _TMP259; +vec4 _a0262; +vec4 _TMP263; +vec4 _a0266; +vec4 _TMP267; +vec4 _a0270; +vec4 _TMP271; +vec4 _a0274; +vec4 _TMP275; +vec4 _a0278; +vec4 _TMP279; +vec4 _a0282; +vec4 _TMP283; +vec4 _a0286; +vec4 _TMP287; +vec4 _a0290; +vec4 _TMP291; +vec4 _a0294; +vec3 _df0296; +vec3 _a0298; +vec3 _df0300; +vec3 _a0302; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec3 _res; + _x0082 = TEX0.xy*TextureSize; + _fp = fract(_x0082); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP67 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.x = float(_TMP67); + _TMP67 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.y = float(_TMP67); + _TMP67 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.z = float(_TMP67); + _TMP67 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.w = float(_TMP67); + _b1 = vec4(float(_r0126.x), float(_r0126.y), float(_r0126.z), float(_r0126.w)); + _TMP67 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.x = float(_TMP67); + _TMP67 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.y = float(_TMP67); + _TMP67 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.z = float(_TMP67); + _TMP67 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.w = float(_TMP67); + _c3 = vec4(float(_r0136.x), float(_r0136.y), float(_r0136.z), float(_r0136.w)); + _TMP67 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.x = float(_TMP67); + _TMP67 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.y = float(_TMP67); + _TMP67 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.z = float(_TMP67); + _TMP67 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.w = float(_TMP67); + _e1 = vec4(float(_r0146.x), float(_r0146.y), float(_r0146.z), float(_r0146.w)); + _TMP67 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.x = float(_TMP67); + _TMP67 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.y = float(_TMP67); + _TMP67 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.z = float(_TMP67); + _TMP67 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.w = float(_TMP67); + _i4 = vec4(float(_r0156.x), float(_r0156.y), float(_r0156.z), float(_r0156.w)); + _TMP67 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0166.x = float(_TMP67); + _TMP67 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0166.y = float(_TMP67); + _TMP67 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0166.z = float(_TMP67); + _TMP67 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0166.w = float(_TMP67); + _i5 = vec4(float(_r0166.x), float(_r0166.y), float(_r0166.z), float(_r0166.w)); + _TMP67 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0176.x = float(_TMP67); + _TMP67 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0176.y = float(_TMP67); + _TMP67 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0176.z = float(_TMP67); + _TMP67 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0176.w = float(_TMP67); + _h5 = vec4(float(_r0176.x), float(_r0176.y), float(_r0176.z), float(_r0176.w)); + _fx = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).x > 1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).y > 5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).w > 5.00000000E-01); + _fx_left = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).x > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).y > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).w > 0.00000000E+00); + _fx_up = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).x > 2.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).y > 0.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).z > -1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).w > 5.00000000E-01); + _a0190 = _b1.wxyz - _b1; + _TMP187 = abs(_a0190); + _TMP27 = bvec4(_TMP187.x < 1.50000000E+01, _TMP187.y < 1.50000000E+01, _TMP187.z < 1.50000000E+01, _TMP187.w < 1.50000000E+01); + _a0196 = _b1.zwxy - _b1.yzwx; + _TMP193 = abs(_a0196); + _TMP28 = bvec4(_TMP193.x < 1.50000000E+01, _TMP193.y < 1.50000000E+01, _TMP193.z < 1.50000000E+01, _TMP193.w < 1.50000000E+01); + _a0202 = _e1 - _c3.wxyz; + _TMP199 = abs(_a0202); + _TMP29 = bvec4(_TMP199.x < 1.50000000E+01, _TMP199.y < 1.50000000E+01, _TMP199.z < 1.50000000E+01, _TMP199.w < 1.50000000E+01); + _a0208 = _b1.wxyz - _i4; + _TMP205 = abs(_a0208); + _TMP30 = bvec4(_TMP205.x < 1.50000000E+01, _TMP205.y < 1.50000000E+01, _TMP205.z < 1.50000000E+01, _TMP205.w < 1.50000000E+01); + _a0214 = _b1.zwxy - _i5; + _TMP211 = abs(_a0214); + _TMP31 = bvec4(_TMP211.x < 1.50000000E+01, _TMP211.y < 1.50000000E+01, _TMP211.z < 1.50000000E+01, _TMP211.w < 1.50000000E+01); + _a0220 = _e1 - _c3.zwxy; + _TMP217 = abs(_a0220); + _TMP32 = bvec4(_TMP217.x < 1.50000000E+01, _TMP217.y < 1.50000000E+01, _TMP217.z < 1.50000000E+01, _TMP217.w < 1.50000000E+01); + _a0226 = _e1 - _c3; + _TMP223 = abs(_a0226); + _TMP33 = bvec4(_TMP223.x < 1.50000000E+01, _TMP223.y < 1.50000000E+01, _TMP223.z < 1.50000000E+01, _TMP223.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || _TMP29.x && !_TMP30.x && !_TMP31.x || _TMP32.x || _TMP33.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || _TMP29.y && !_TMP30.y && !_TMP31.y || _TMP32.y || _TMP33.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || _TMP29.z && !_TMP30.z && !_TMP31.z || _TMP32.z || _TMP33.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || _TMP29.w && !_TMP30.w && !_TMP31.w || _TMP32.w || _TMP33.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _a0232 = _e1 - _c3; + _TMP229 = abs(_a0232); + _a0236 = _e1 - _c3.zwxy; + _TMP233 = abs(_a0236); + _a0240 = _c3.wxyz - _h5; + _TMP237 = abs(_a0240); + _a0244 = _c3.wxyz - _h5.yzwx; + _TMP241 = abs(_a0244); + _a0248 = _b1.zwxy - _b1.wxyz; + _TMP245 = abs(_a0248); + _TMP34 = _TMP229 + _TMP233 + _TMP237 + _TMP241 + 4.00000000E+00*_TMP245; + _a0254 = _b1.zwxy - _b1.yzwx; + _TMP251 = abs(_a0254); + _a0258 = _b1.zwxy - _i5; + _TMP255 = abs(_a0258); + _a0262 = _b1.wxyz - _i4; + _TMP259 = abs(_a0262); + _a0266 = _b1.wxyz - _b1; + _TMP263 = abs(_a0266); + _a0270 = _e1 - _c3.wxyz; + _TMP267 = abs(_a0270); + _TMP35 = _TMP251 + _TMP255 + _TMP259 + _TMP263 + 4.00000000E+00*_TMP267; + _edr = bvec4(_TMP34.x < _TMP35.x && _interp_restriction_lv1.x, _TMP34.y < _TMP35.y && _interp_restriction_lv1.y, _TMP34.z < _TMP35.z && _interp_restriction_lv1.z, _TMP34.w < _TMP35.w && _interp_restriction_lv1.w); + _a0274 = _b1.wxyz - _c3.zwxy; + _TMP271 = abs(_a0274); + _a0278 = _b1.zwxy - _c3; + _TMP275 = abs(_a0278); + _edr_left = bvec4((2.00000000E+00*_TMP271).x <= _TMP275.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP271).y <= _TMP275.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP271).z <= _TMP275.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP271).w <= _TMP275.w && _interp_restriction_lv2_left.w); + _a0282 = _b1.wxyz - _c3.zwxy; + _TMP279 = abs(_a0282); + _a0286 = _b1.zwxy - _c3; + _TMP283 = abs(_a0286); + _edr_up = bvec4(_TMP279.x >= (2.00000000E+00*_TMP283).x && _interp_restriction_lv2_up.x, _TMP279.y >= (2.00000000E+00*_TMP283).y && _interp_restriction_lv2_up.y, _TMP279.z >= (2.00000000E+00*_TMP283).z && _interp_restriction_lv2_up.z, _TMP279.w >= (2.00000000E+00*_TMP283).w && _interp_restriction_lv2_up.w); + _nc = bvec4(_edr.x && (_fx.x || _edr_left.x && _fx_left.x || _edr_up.x && _fx_up.x), _edr.y && (_fx.y || _edr_left.y && _fx_left.y || _edr_up.y && _fx_up.y), _edr.z && (_fx.z || _edr_left.z && _fx_left.z || _edr_up.z && _fx_up.z), _edr.w && (_fx.w || _edr_left.w && _fx_left.w || _edr_up.w && _fx_up.w)); + _a0290 = _e1 - _b1.wxyz; + _TMP287 = abs(_a0290); + _a0294 = _e1 - _b1.zwxy; + _TMP291 = abs(_a0294); + _px = bvec4(_TMP287.x <= _TMP291.x, _TMP287.y <= _TMP291.y, _TMP287.z <= _TMP291.z, _TMP287.w <= _TMP291.w); + if (_nc.x) { + if (_px.x) { + _TMP43 = _F; + } else { + _TMP43 = _H; + } + _TMP42 = _TMP43; + } else { + if (_nc.y) { + if (_px.y) { + _TMP45 = _B2; + } else { + _TMP45 = _F; + } + _TMP44 = _TMP45; + } else { + if (_nc.z) { + if (_px.z) { + _TMP47 = _D; + } else { + _TMP47 = _B2; + } + _TMP46 = _TMP47; + } else { + if (_nc.w) { + if (_px.w) { + _TMP49 = _H; + } else { + _TMP49 = _D; + } + _TMP48 = _TMP49; + } else { + _TMP48 = _E; + } + _TMP46 = _TMP48; + } + _TMP44 = _TMP46; + } + _TMP42 = _TMP44; + } + if (_nc.w) { + if (_px.w) { + _TMP51 = _H; + } else { + _TMP51 = _D; + } + _TMP50 = _TMP51; + } else { + if (_nc.z) { + if (_px.z) { + _TMP53 = _D; + } else { + _TMP53 = _B2; + } + _TMP52 = _TMP53; + } else { + if (_nc.y) { + if (_px.y) { + _TMP55 = _B2; + } else { + _TMP55 = _F; + } + _TMP54 = _TMP55; + } else { + if (_nc.x) { + if (_px.x) { + _TMP57 = _F; + } else { + _TMP57 = _H; + } + _TMP56 = _TMP57; + } else { + _TMP56 = _E; + } + _TMP54 = _TMP56; + } + _TMP52 = _TMP54; + } + _TMP50 = _TMP52; + } + _a0298 = _E - _TMP42; + _TMP68 = abs(vec3(float(_a0298.x), float(_a0298.y), float(_a0298.z))); + _df0296 = vec3(float(_TMP68.x), float(_TMP68.y), float(_TMP68.z)); + _TMP58 = _df0296.x + _df0296.y + _df0296.z; + _a0302 = _E - _TMP50; + _TMP68 = abs(vec3(float(_a0302.x), float(_a0302.y), float(_a0302.z))); + _df0300 = vec3(float(_TMP68.x), float(_TMP68.y), float(_TMP68.z)); + _TMP59 = _df0300.x + _df0300.y + _df0300.z; + _TMP60 = float((_TMP59 >= _TMP58)); + _res = _TMP42 + _TMP60*(_TMP50 - _TMP42); + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/5xBR-v3.7c-lq.glsl b/ios/Assets/shaders_glsl/xBR/5xBR-v3.7c-lq.glsl new file mode 100644 index 0000000000..7acfb6727d --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/5xBR-v3.7c-lq.glsl @@ -0,0 +1,396 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0007.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0007.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0007.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0007.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(0.00000000E+00, -_ps.y); + _OUT._t1.zw = vec2(-_ps.x, 0.00000000E+00); + _ret_0._position1 = _r0007; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP29; +vec3 _TMP30; +float _TMP26; +float _TMP25; +bool _TMP24; +bool _TMP23; +bool _TMP22; +bool _TMP21; +bool _TMP20; +bool _TMP19; +bool _TMP18; +bool _TMP17; +bool _TMP16; +bool _TMP15; +bool _TMP14; +float _TMP13; +float _TMP31; +float _TMP38; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec2 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0046; +vec2 _val0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0058; +vec2 _c0060; +vec2 _c0062; +vec2 _c0064; +vec2 _c0066; +vec2 _c0068; +vec2 _c0070; +vec2 _c0072; +float _TMP125; +float _a0128; +float _TMP131; +float _a0134; +float _TMP137; +float _a0140; +float _TMP143; +float _a0146; +float _TMP149; +float _a0152; +float _TMP155; +float _a0158; +float _TMP161; +float _a0164; +float _TMP167; +float _a0170; +float _TMP173; +float _a0176; +float _TMP179; +float _a0182; +float _TMP185; +float _a0188; +float _TMP191; +float _a0194; +float _TMP195; +float _a0198; +float _TMP199; +float _a0202; +float _TMP203; +float _a0206; +float _TMP207; +float _a0210; +float _TMP213; +float _a0216; +float _TMP217; +float _a0220; +float _TMP221; +float _a0224; +float _TMP225; +float _a0228; +float _TMP229; +float _a0232; +float _TMP233; +float _a0236; +float _TMP237; +float _a0240; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bool _edr; + bool _px; + bool _interp_restriction_lv1; + bool _nc; + bool _fx; + vec2 _pos; + vec2 _dir; + vec2 _g1; + vec2 _g2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _F4; + vec3 _I4; + vec3 _H5; + vec3 _I5; + float _b1; + float _c1; + float _d1; + float _e1; + float _f1; + float _g3; + float _h1; + float _i; + float _i4; + float _i5; + float _h5; + float _f4; + _x0046 = TEX0.xy*TextureSize; + _TMP0 = fract(_x0046); + _pos = _TMP0 - vec2( 5.00000000E-01, 5.00000000E-01); + _val0048 = vec2(float((_pos.x > 0.00000000E+00)), float((_pos.y > 0.00000000E+00))); + _dir = _val0048 - vec2(float((_pos.x < 0.00000000E+00)), float((_pos.y < 0.00000000E+00))); + _g1 = _dir*vec2(float(TEX1.x), float(TEX1.y)); + _g2 = _dir*vec2(float(TEX1.z), float(TEX1.w)); + _c0050 = TEX0.xy + _g1; + _TMP1 = texture2D(Texture, _c0050); + _B2 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0052 = (TEX0.xy + _g1) - _g2; + _TMP2 = texture2D(Texture, _c0052); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0054 = TEX0.xy + _g2; + _TMP3 = texture2D(Texture, _c0054); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0058 = TEX0.xy - _g2; + _TMP5 = texture2D(Texture, _c0058); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0060 = (TEX0.xy - _g1) + _g2; + _TMP6 = texture2D(Texture, _c0060); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0062 = TEX0.xy - _g1; + _TMP7 = texture2D(Texture, _c0062); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0064 = (TEX0.xy - _g1) - _g2; + _TMP8 = texture2D(Texture, _c0064); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0066 = TEX0.xy - 2.00000000E+00*_g2; + _TMP9 = texture2D(Texture, _c0066); + _F4 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0068 = (TEX0.xy - _g1) - 2.00000000E+00*_g2; + _TMP10 = texture2D(Texture, _c0068); + _I4 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0070 = TEX0.xy - 2.00000000E+00*_g1; + _TMP11 = texture2D(Texture, _c0070); + _H5 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0072 = (TEX0.xy - 2.00000000E+00*_g1) - _g2; + _TMP12 = texture2D(Texture, _c0072); + _I5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP38 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP31 = float(_TMP38); + _b1 = float(_TMP31); + _TMP38 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP31 = float(_TMP38); + _c1 = float(_TMP31); + _TMP38 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP31 = float(_TMP38); + _d1 = float(_TMP31); + _TMP38 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP31 = float(_TMP38); + _e1 = float(_TMP31); + _TMP38 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP31 = float(_TMP38); + _f1 = float(_TMP31); + _TMP38 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP31 = float(_TMP38); + _g3 = float(_TMP31); + _TMP38 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP31 = float(_TMP38); + _h1 = float(_TMP31); + _TMP38 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP31 = float(_TMP38); + _i = float(_TMP31); + _TMP38 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP31 = float(_TMP38); + _i4 = float(_TMP31); + _TMP38 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP31 = float(_TMP38); + _i5 = float(_TMP31); + _TMP38 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP31 = float(_TMP38); + _h5 = float(_TMP31); + _TMP38 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _TMP31 = float(_TMP38); + _f4 = float(_TMP31); + _TMP13 = dot(_dir, _pos); + _fx = _TMP13 > 5.00000000E-01; + _a0128 = _f1 - _b1; + _TMP125 = abs(_a0128); + _TMP14 = _TMP125 < 1.50000000E+01; + _a0134 = _f1 - _c1; + _TMP131 = abs(_a0134); + _TMP15 = _TMP131 < 1.50000000E+01; + _a0140 = _h1 - _d1; + _TMP137 = abs(_a0140); + _TMP16 = _TMP137 < 1.50000000E+01; + _a0146 = _h1 - _g3; + _TMP143 = abs(_a0146); + _TMP17 = _TMP143 < 1.50000000E+01; + _a0152 = _e1 - _i; + _TMP149 = abs(_a0152); + _TMP18 = _TMP149 < 1.50000000E+01; + _a0158 = _f1 - _f4; + _TMP155 = abs(_a0158); + _TMP19 = _TMP155 < 1.50000000E+01; + _a0164 = _f1 - _i4; + _TMP161 = abs(_a0164); + _TMP20 = _TMP161 < 1.50000000E+01; + _a0170 = _h1 - _h5; + _TMP167 = abs(_a0170); + _TMP21 = _TMP167 < 1.50000000E+01; + _a0176 = _h1 - _i5; + _TMP173 = abs(_a0176); + _TMP22 = _TMP173 < 1.50000000E+01; + _a0182 = _e1 - _g3; + _TMP179 = abs(_a0182); + _TMP23 = _TMP179 < 1.50000000E+01; + _a0188 = _e1 - _c1; + _TMP185 = abs(_a0188); + _TMP24 = _TMP185 < 1.50000000E+01; + _interp_restriction_lv1 = _e1 != _f1 && _e1 != _h1 && (!_TMP14 && !_TMP15 || !_TMP16 && !_TMP17 || _TMP18 && (!_TMP19 && !_TMP20 || !_TMP21 && !_TMP22) || _TMP23 || _TMP24); + _a0194 = _e1 - _c1; + _TMP191 = abs(_a0194); + _a0198 = _e1 - _g3; + _TMP195 = abs(_a0198); + _a0202 = _i - _h5; + _TMP199 = abs(_a0202); + _a0206 = _i - _f4; + _TMP203 = abs(_a0206); + _a0210 = _h1 - _f1; + _TMP207 = abs(_a0210); + _TMP25 = _TMP191 + _TMP195 + _TMP199 + _TMP203 + 4.00000000E+00*_TMP207; + _a0216 = _h1 - _d1; + _TMP213 = abs(_a0216); + _a0220 = _h1 - _i5; + _TMP217 = abs(_a0220); + _a0224 = _f1 - _i4; + _TMP221 = abs(_a0224); + _a0228 = _f1 - _b1; + _TMP225 = abs(_a0228); + _a0232 = _e1 - _i; + _TMP229 = abs(_a0232); + _TMP26 = _TMP213 + _TMP217 + _TMP221 + _TMP225 + 4.00000000E+00*_TMP229; + _edr = _TMP25 < _TMP26 && _interp_restriction_lv1; + _nc = _edr && _fx; + _a0236 = _e1 - _f1; + _TMP233 = abs(_a0236); + _a0240 = _e1 - _h1; + _TMP237 = abs(_a0240); + _px = _TMP233 <= _TMP237; + if (_nc) { + if (_px) { + _TMP30 = _F; + } else { + _TMP30 = _H; + } + _TMP29 = _TMP30; + } else { + _TMP29 = _E; + } + _ret_0 = vec4(_TMP29.x, _TMP29.y, _TMP29.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/5xBR-v3.7c.glsl b/ios/Assets/shaders_glsl/xBR/5xBR-v3.7c.glsl new file mode 100644 index 0000000000..86c6c1f758 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/5xBR-v3.7c.glsl @@ -0,0 +1,579 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP64; +float _TMP63; +float _TMP62; +vec3 _TMP72; +vec3 _TMP54; +vec3 _TMP56; +vec3 _TMP58; +vec3 _TMP60; +vec3 _TMP61; +vec3 _TMP59; +vec3 _TMP57; +vec3 _TMP55; +vec3 _TMP46; +vec3 _TMP48; +vec3 _TMP50; +vec3 _TMP52; +vec3 _TMP53; +vec3 _TMP51; +vec3 _TMP49; +vec3 _TMP47; +vec4 _TMP39; +vec4 _TMP38; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP71; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0086; +vec4 _r0130; +vec4 _r0140; +vec4 _r0150; +vec4 _r0160; +vec4 _r0170; +vec4 _r0180; +vec4 _TMP191; +vec4 _a0194; +vec4 _TMP197; +vec4 _a0200; +vec4 _TMP203; +vec4 _a0206; +vec4 _TMP209; +vec4 _a0212; +vec4 _TMP215; +vec4 _a0218; +vec4 _TMP221; +vec4 _a0224; +vec4 _TMP227; +vec4 _a0230; +vec4 _TMP233; +vec4 _a0236; +vec4 _TMP239; +vec4 _a0242; +vec4 _TMP245; +vec4 _a0248; +vec4 _TMP251; +vec4 _a0254; +vec4 _TMP257; +vec4 _a0260; +vec4 _TMP261; +vec4 _a0264; +vec4 _TMP265; +vec4 _a0268; +vec4 _TMP269; +vec4 _a0272; +vec4 _TMP273; +vec4 _a0276; +vec4 _TMP279; +vec4 _a0282; +vec4 _TMP283; +vec4 _a0286; +vec4 _TMP287; +vec4 _a0290; +vec4 _TMP291; +vec4 _a0294; +vec4 _TMP295; +vec4 _a0298; +vec4 _TMP299; +vec4 _a0302; +vec4 _TMP303; +vec4 _a0306; +vec4 _TMP307; +vec4 _a0310; +vec4 _TMP311; +vec4 _a0314; +vec4 _TMP315; +vec4 _a0318; +vec4 _TMP319; +vec4 _a0322; +vec3 _df0324; +vec3 _a0326; +vec3 _df0328; +vec3 _a0330; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec3 _res; + _x0086 = TEX0.xy*TextureSize; + _fp = fract(_x0086); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP71 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.x = float(_TMP71); + _TMP71 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.y = float(_TMP71); + _TMP71 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.z = float(_TMP71); + _TMP71 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.w = float(_TMP71); + _b1 = vec4(float(_r0130.x), float(_r0130.y), float(_r0130.z), float(_r0130.w)); + _TMP71 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.x = float(_TMP71); + _TMP71 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.y = float(_TMP71); + _TMP71 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.z = float(_TMP71); + _TMP71 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.w = float(_TMP71); + _c3 = vec4(float(_r0140.x), float(_r0140.y), float(_r0140.z), float(_r0140.w)); + _TMP71 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.x = float(_TMP71); + _TMP71 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.y = float(_TMP71); + _TMP71 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.z = float(_TMP71); + _TMP71 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.w = float(_TMP71); + _e1 = vec4(float(_r0150.x), float(_r0150.y), float(_r0150.z), float(_r0150.w)); + _TMP71 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.x = float(_TMP71); + _TMP71 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.y = float(_TMP71); + _TMP71 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.z = float(_TMP71); + _TMP71 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.w = float(_TMP71); + _i4 = vec4(float(_r0160.x), float(_r0160.y), float(_r0160.z), float(_r0160.w)); + _TMP71 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.x = float(_TMP71); + _TMP71 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.y = float(_TMP71); + _TMP71 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.z = float(_TMP71); + _TMP71 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.w = float(_TMP71); + _i5 = vec4(float(_r0170.x), float(_r0170.y), float(_r0170.z), float(_r0170.w)); + _TMP71 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0180.x = float(_TMP71); + _TMP71 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0180.y = float(_TMP71); + _TMP71 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0180.z = float(_TMP71); + _TMP71 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0180.w = float(_TMP71); + _h5 = vec4(float(_r0180.x), float(_r0180.y), float(_r0180.z), float(_r0180.w)); + _fx = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).x > 1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).y > 5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).w > 5.00000000E-01); + _fx_left = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).x > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).y > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).w > 0.00000000E+00); + _fx_up = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).x > 2.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).y > 0.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).z > -1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).w > 5.00000000E-01); + _a0194 = _b1.wxyz - _b1; + _TMP191 = abs(_a0194); + _TMP27 = bvec4(_TMP191.x < 1.50000000E+01, _TMP191.y < 1.50000000E+01, _TMP191.z < 1.50000000E+01, _TMP191.w < 1.50000000E+01); + _a0200 = _b1.wxyz - _c3; + _TMP197 = abs(_a0200); + _TMP28 = bvec4(_TMP197.x < 1.50000000E+01, _TMP197.y < 1.50000000E+01, _TMP197.z < 1.50000000E+01, _TMP197.w < 1.50000000E+01); + _a0206 = _b1.zwxy - _b1.yzwx; + _TMP203 = abs(_a0206); + _TMP29 = bvec4(_TMP203.x < 1.50000000E+01, _TMP203.y < 1.50000000E+01, _TMP203.z < 1.50000000E+01, _TMP203.w < 1.50000000E+01); + _a0212 = _b1.zwxy - _c3.zwxy; + _TMP209 = abs(_a0212); + _TMP30 = bvec4(_TMP209.x < 1.50000000E+01, _TMP209.y < 1.50000000E+01, _TMP209.z < 1.50000000E+01, _TMP209.w < 1.50000000E+01); + _a0218 = _e1 - _c3.wxyz; + _TMP215 = abs(_a0218); + _TMP31 = bvec4(_TMP215.x < 1.50000000E+01, _TMP215.y < 1.50000000E+01, _TMP215.z < 1.50000000E+01, _TMP215.w < 1.50000000E+01); + _a0224 = _b1.wxyz - _h5.yzwx; + _TMP221 = abs(_a0224); + _TMP32 = bvec4(_TMP221.x < 1.50000000E+01, _TMP221.y < 1.50000000E+01, _TMP221.z < 1.50000000E+01, _TMP221.w < 1.50000000E+01); + _a0230 = _b1.wxyz - _i4; + _TMP227 = abs(_a0230); + _TMP33 = bvec4(_TMP227.x < 1.50000000E+01, _TMP227.y < 1.50000000E+01, _TMP227.z < 1.50000000E+01, _TMP227.w < 1.50000000E+01); + _a0236 = _b1.zwxy - _h5; + _TMP233 = abs(_a0236); + _TMP34 = bvec4(_TMP233.x < 1.50000000E+01, _TMP233.y < 1.50000000E+01, _TMP233.z < 1.50000000E+01, _TMP233.w < 1.50000000E+01); + _a0242 = _b1.zwxy - _i5; + _TMP239 = abs(_a0242); + _TMP35 = bvec4(_TMP239.x < 1.50000000E+01, _TMP239.y < 1.50000000E+01, _TMP239.z < 1.50000000E+01, _TMP239.w < 1.50000000E+01); + _a0248 = _e1 - _c3.zwxy; + _TMP245 = abs(_a0248); + _TMP36 = bvec4(_TMP245.x < 1.50000000E+01, _TMP245.y < 1.50000000E+01, _TMP245.z < 1.50000000E+01, _TMP245.w < 1.50000000E+01); + _a0254 = _e1 - _c3; + _TMP251 = abs(_a0254); + _TMP37 = bvec4(_TMP251.x < 1.50000000E+01, _TMP251.y < 1.50000000E+01, _TMP251.z < 1.50000000E+01, _TMP251.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _a0260 = _e1 - _c3; + _TMP257 = abs(_a0260); + _a0264 = _e1 - _c3.zwxy; + _TMP261 = abs(_a0264); + _a0268 = _c3.wxyz - _h5; + _TMP265 = abs(_a0268); + _a0272 = _c3.wxyz - _h5.yzwx; + _TMP269 = abs(_a0272); + _a0276 = _b1.zwxy - _b1.wxyz; + _TMP273 = abs(_a0276); + _TMP38 = _TMP257 + _TMP261 + _TMP265 + _TMP269 + 4.00000000E+00*_TMP273; + _a0282 = _b1.zwxy - _b1.yzwx; + _TMP279 = abs(_a0282); + _a0286 = _b1.zwxy - _i5; + _TMP283 = abs(_a0286); + _a0290 = _b1.wxyz - _i4; + _TMP287 = abs(_a0290); + _a0294 = _b1.wxyz - _b1; + _TMP291 = abs(_a0294); + _a0298 = _e1 - _c3.wxyz; + _TMP295 = abs(_a0298); + _TMP39 = _TMP279 + _TMP283 + _TMP287 + _TMP291 + 4.00000000E+00*_TMP295; + _edr = bvec4(_TMP38.x < _TMP39.x && _interp_restriction_lv1.x, _TMP38.y < _TMP39.y && _interp_restriction_lv1.y, _TMP38.z < _TMP39.z && _interp_restriction_lv1.z, _TMP38.w < _TMP39.w && _interp_restriction_lv1.w); + _a0302 = _b1.wxyz - _c3.zwxy; + _TMP299 = abs(_a0302); + _a0306 = _b1.zwxy - _c3; + _TMP303 = abs(_a0306); + _edr_left = bvec4((2.00000000E+00*_TMP299).x <= _TMP303.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP299).y <= _TMP303.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP299).z <= _TMP303.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP299).w <= _TMP303.w && _interp_restriction_lv2_left.w); + _a0310 = _b1.wxyz - _c3.zwxy; + _TMP307 = abs(_a0310); + _a0314 = _b1.zwxy - _c3; + _TMP311 = abs(_a0314); + _edr_up = bvec4(_TMP307.x >= (2.00000000E+00*_TMP311).x && _interp_restriction_lv2_up.x, _TMP307.y >= (2.00000000E+00*_TMP311).y && _interp_restriction_lv2_up.y, _TMP307.z >= (2.00000000E+00*_TMP311).z && _interp_restriction_lv2_up.z, _TMP307.w >= (2.00000000E+00*_TMP311).w && _interp_restriction_lv2_up.w); + _nc = bvec4(_edr.x && (_fx.x || _edr_left.x && _fx_left.x || _edr_up.x && _fx_up.x), _edr.y && (_fx.y || _edr_left.y && _fx_left.y || _edr_up.y && _fx_up.y), _edr.z && (_fx.z || _edr_left.z && _fx_left.z || _edr_up.z && _fx_up.z), _edr.w && (_fx.w || _edr_left.w && _fx_left.w || _edr_up.w && _fx_up.w)); + _a0318 = _e1 - _b1.wxyz; + _TMP315 = abs(_a0318); + _a0322 = _e1 - _b1.zwxy; + _TMP319 = abs(_a0322); + _px = bvec4(_TMP315.x <= _TMP319.x, _TMP315.y <= _TMP319.y, _TMP315.z <= _TMP319.z, _TMP315.w <= _TMP319.w); + if (_nc.x) { + if (_px.x) { + _TMP47 = _F; + } else { + _TMP47 = _H; + } + _TMP46 = _TMP47; + } else { + if (_nc.y) { + if (_px.y) { + _TMP49 = _B2; + } else { + _TMP49 = _F; + } + _TMP48 = _TMP49; + } else { + if (_nc.z) { + if (_px.z) { + _TMP51 = _D; + } else { + _TMP51 = _B2; + } + _TMP50 = _TMP51; + } else { + if (_nc.w) { + if (_px.w) { + _TMP53 = _H; + } else { + _TMP53 = _D; + } + _TMP52 = _TMP53; + } else { + _TMP52 = _E; + } + _TMP50 = _TMP52; + } + _TMP48 = _TMP50; + } + _TMP46 = _TMP48; + } + if (_nc.w) { + if (_px.w) { + _TMP55 = _H; + } else { + _TMP55 = _D; + } + _TMP54 = _TMP55; + } else { + if (_nc.z) { + if (_px.z) { + _TMP57 = _D; + } else { + _TMP57 = _B2; + } + _TMP56 = _TMP57; + } else { + if (_nc.y) { + if (_px.y) { + _TMP59 = _B2; + } else { + _TMP59 = _F; + } + _TMP58 = _TMP59; + } else { + if (_nc.x) { + if (_px.x) { + _TMP61 = _F; + } else { + _TMP61 = _H; + } + _TMP60 = _TMP61; + } else { + _TMP60 = _E; + } + _TMP58 = _TMP60; + } + _TMP56 = _TMP58; + } + _TMP54 = _TMP56; + } + _a0326 = _E - _TMP46; + _TMP72 = abs(vec3(float(_a0326.x), float(_a0326.y), float(_a0326.z))); + _df0324 = vec3(float(_TMP72.x), float(_TMP72.y), float(_TMP72.z)); + _TMP62 = _df0324.x + _df0324.y + _df0324.z; + _a0330 = _E - _TMP54; + _TMP72 = abs(vec3(float(_a0330.x), float(_a0330.y), float(_a0330.z))); + _df0328 = vec3(float(_TMP72.x), float(_TMP72.y), float(_TMP72.z)); + _TMP63 = _df0328.x + _df0328.y + _df0328.z; + _TMP64 = float((_TMP63 >= _TMP62)); + _res = _TMP46 + _TMP64*(_TMP54 - _TMP46); + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/5xBR-v3.7c_plus_CRT.glsl b/ios/Assets/shaders_glsl/xBR/5xBR-v3.7c_plus_CRT.glsl new file mode 100644 index 0000000000..71d7029c5c --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/5xBR-v3.7c_plus_CRT.glsl @@ -0,0 +1,571 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color1; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +vec3 _TMP54; +vec3 _TMP65; +float _TMP64; +float _TMP63; +float _TMP62; +vec3 _TMP46; +vec3 _TMP48; +vec3 _TMP50; +vec3 _TMP52; +vec3 _TMP53; +vec3 _TMP51; +vec3 _TMP49; +vec3 _TMP47; +vec4 _TMP39; +vec4 _TMP38; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP66; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0080; +vec4 _r0124; +vec4 _r0134; +vec4 _r0144; +vec4 _r0154; +vec4 _r0164; +vec4 _r0174; +vec4 _TMP185; +vec4 _a0188; +vec4 _TMP191; +vec4 _a0194; +vec4 _TMP197; +vec4 _a0200; +vec4 _TMP203; +vec4 _a0206; +vec4 _TMP209; +vec4 _a0212; +vec4 _TMP215; +vec4 _a0218; +vec4 _TMP221; +vec4 _a0224; +vec4 _TMP227; +vec4 _a0230; +vec4 _TMP233; +vec4 _a0236; +vec4 _TMP239; +vec4 _a0242; +vec4 _TMP245; +vec4 _a0248; +vec4 _TMP251; +vec4 _a0254; +vec4 _TMP255; +vec4 _a0258; +vec4 _TMP259; +vec4 _a0262; +vec4 _TMP263; +vec4 _a0266; +vec4 _TMP267; +vec4 _a0270; +vec4 _TMP273; +vec4 _a0276; +vec4 _TMP277; +vec4 _a0280; +vec4 _TMP281; +vec4 _a0284; +vec4 _TMP285; +vec4 _a0288; +vec4 _TMP289; +vec4 _a0292; +vec4 _TMP293; +vec4 _a0296; +vec4 _TMP297; +vec4 _a0300; +vec4 _TMP301; +vec4 _a0304; +vec4 _TMP305; +vec4 _a0308; +vec4 _TMP309; +vec4 _a0312; +vec4 _TMP313; +vec4 _a0316; +vec3 _TMP341; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c1; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec3 _res; + vec3 _color; + float _ddy; + float _v_weight_00; + vec3 _coords10; + vec3 _colorNB; + float _v_weight_10; + _x0080 = TEX0.xy*TextureSize; + _fp = fract(_x0080); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP66 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.x = float(_TMP66); + _TMP66 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.y = float(_TMP66); + _TMP66 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.z = float(_TMP66); + _TMP66 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.w = float(_TMP66); + _b1 = vec4(float(_r0124.x), float(_r0124.y), float(_r0124.z), float(_r0124.w)); + _TMP66 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.x = float(_TMP66); + _TMP66 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.y = float(_TMP66); + _TMP66 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.z = float(_TMP66); + _TMP66 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.w = float(_TMP66); + _c1 = vec4(float(_r0134.x), float(_r0134.y), float(_r0134.z), float(_r0134.w)); + _TMP66 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.x = float(_TMP66); + _TMP66 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.y = float(_TMP66); + _TMP66 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.z = float(_TMP66); + _TMP66 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.w = float(_TMP66); + _e1 = vec4(float(_r0144.x), float(_r0144.y), float(_r0144.z), float(_r0144.w)); + _TMP66 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.x = float(_TMP66); + _TMP66 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.y = float(_TMP66); + _TMP66 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.z = float(_TMP66); + _TMP66 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.w = float(_TMP66); + _i4 = vec4(float(_r0154.x), float(_r0154.y), float(_r0154.z), float(_r0154.w)); + _TMP66 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.x = float(_TMP66); + _TMP66 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.y = float(_TMP66); + _TMP66 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.z = float(_TMP66); + _TMP66 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.w = float(_TMP66); + _i5 = vec4(float(_r0164.x), float(_r0164.y), float(_r0164.z), float(_r0164.w)); + _TMP66 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.x = float(_TMP66); + _TMP66 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.y = float(_TMP66); + _TMP66 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.z = float(_TMP66); + _TMP66 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.w = float(_TMP66); + _h5 = vec4(float(_r0174.x), float(_r0174.y), float(_r0174.z), float(_r0174.w)); + _fx = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).x > 1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).y > 5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).w > 5.00000000E-01); + _fx_left = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).x > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).y > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).w > 0.00000000E+00); + _fx_up = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).x > 2.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).y > 0.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).z > -1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).w > 5.00000000E-01); + _a0188 = _b1.wxyz - _b1; + _TMP185 = abs(_a0188); + _TMP27 = bvec4(_TMP185.x < 1.50000000E+01, _TMP185.y < 1.50000000E+01, _TMP185.z < 1.50000000E+01, _TMP185.w < 1.50000000E+01); + _a0194 = _b1.wxyz - _c1; + _TMP191 = abs(_a0194); + _TMP28 = bvec4(_TMP191.x < 1.50000000E+01, _TMP191.y < 1.50000000E+01, _TMP191.z < 1.50000000E+01, _TMP191.w < 1.50000000E+01); + _a0200 = _b1.zwxy - _b1.yzwx; + _TMP197 = abs(_a0200); + _TMP29 = bvec4(_TMP197.x < 1.50000000E+01, _TMP197.y < 1.50000000E+01, _TMP197.z < 1.50000000E+01, _TMP197.w < 1.50000000E+01); + _a0206 = _b1.zwxy - _c1.zwxy; + _TMP203 = abs(_a0206); + _TMP30 = bvec4(_TMP203.x < 1.50000000E+01, _TMP203.y < 1.50000000E+01, _TMP203.z < 1.50000000E+01, _TMP203.w < 1.50000000E+01); + _a0212 = _e1 - _c1.wxyz; + _TMP209 = abs(_a0212); + _TMP31 = bvec4(_TMP209.x < 1.50000000E+01, _TMP209.y < 1.50000000E+01, _TMP209.z < 1.50000000E+01, _TMP209.w < 1.50000000E+01); + _a0218 = _b1.wxyz - _h5.yzwx; + _TMP215 = abs(_a0218); + _TMP32 = bvec4(_TMP215.x < 1.50000000E+01, _TMP215.y < 1.50000000E+01, _TMP215.z < 1.50000000E+01, _TMP215.w < 1.50000000E+01); + _a0224 = _b1.wxyz - _i4; + _TMP221 = abs(_a0224); + _TMP33 = bvec4(_TMP221.x < 1.50000000E+01, _TMP221.y < 1.50000000E+01, _TMP221.z < 1.50000000E+01, _TMP221.w < 1.50000000E+01); + _a0230 = _b1.zwxy - _h5; + _TMP227 = abs(_a0230); + _TMP34 = bvec4(_TMP227.x < 1.50000000E+01, _TMP227.y < 1.50000000E+01, _TMP227.z < 1.50000000E+01, _TMP227.w < 1.50000000E+01); + _a0236 = _b1.zwxy - _i5; + _TMP233 = abs(_a0236); + _TMP35 = bvec4(_TMP233.x < 1.50000000E+01, _TMP233.y < 1.50000000E+01, _TMP233.z < 1.50000000E+01, _TMP233.w < 1.50000000E+01); + _a0242 = _e1 - _c1.zwxy; + _TMP239 = abs(_a0242); + _TMP36 = bvec4(_TMP239.x < 1.50000000E+01, _TMP239.y < 1.50000000E+01, _TMP239.z < 1.50000000E+01, _TMP239.w < 1.50000000E+01); + _a0248 = _e1 - _c1; + _TMP245 = abs(_a0248); + _TMP37 = bvec4(_TMP245.x < 1.50000000E+01, _TMP245.y < 1.50000000E+01, _TMP245.z < 1.50000000E+01, _TMP245.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c1.z && _b1.y != _c1.z, _e1.y != _c1.w && _b1.z != _c1.w, _e1.z != _c1.x && _b1.w != _c1.x, _e1.w != _c1.y && _b1.x != _c1.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c1.x && _b1.x != _c1.x, _e1.y != _c1.y && _b1.y != _c1.y, _e1.z != _c1.z && _b1.z != _c1.z, _e1.w != _c1.w && _b1.w != _c1.w); + _a0254 = _e1 - _c1; + _TMP251 = abs(_a0254); + _a0258 = _e1 - _c1.zwxy; + _TMP255 = abs(_a0258); + _a0262 = _c1.wxyz - _h5; + _TMP259 = abs(_a0262); + _a0266 = _c1.wxyz - _h5.yzwx; + _TMP263 = abs(_a0266); + _a0270 = _b1.zwxy - _b1.wxyz; + _TMP267 = abs(_a0270); + _TMP38 = _TMP251 + _TMP255 + _TMP259 + _TMP263 + 4.00000000E+00*_TMP267; + _a0276 = _b1.zwxy - _b1.yzwx; + _TMP273 = abs(_a0276); + _a0280 = _b1.zwxy - _i5; + _TMP277 = abs(_a0280); + _a0284 = _b1.wxyz - _i4; + _TMP281 = abs(_a0284); + _a0288 = _b1.wxyz - _b1; + _TMP285 = abs(_a0288); + _a0292 = _e1 - _c1.wxyz; + _TMP289 = abs(_a0292); + _TMP39 = _TMP273 + _TMP277 + _TMP281 + _TMP285 + 4.00000000E+00*_TMP289; + _edr = bvec4(_TMP38.x < _TMP39.x && _interp_restriction_lv1.x, _TMP38.y < _TMP39.y && _interp_restriction_lv1.y, _TMP38.z < _TMP39.z && _interp_restriction_lv1.z, _TMP38.w < _TMP39.w && _interp_restriction_lv1.w); + _a0296 = _b1.wxyz - _c1.zwxy; + _TMP293 = abs(_a0296); + _a0300 = _b1.zwxy - _c1; + _TMP297 = abs(_a0300); + _edr_left = bvec4((2.00000000E+00*_TMP293).x <= _TMP297.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP293).y <= _TMP297.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP293).z <= _TMP297.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP293).w <= _TMP297.w && _interp_restriction_lv2_left.w); + _a0304 = _b1.wxyz - _c1.zwxy; + _TMP301 = abs(_a0304); + _a0308 = _b1.zwxy - _c1; + _TMP305 = abs(_a0308); + _edr_up = bvec4(_TMP301.x >= (2.00000000E+00*_TMP305).x && _interp_restriction_lv2_up.x, _TMP301.y >= (2.00000000E+00*_TMP305).y && _interp_restriction_lv2_up.y, _TMP301.z >= (2.00000000E+00*_TMP305).z && _interp_restriction_lv2_up.z, _TMP301.w >= (2.00000000E+00*_TMP305).w && _interp_restriction_lv2_up.w); + _nc = bvec4(_edr.x && (_fx.x || _edr_left.x && _fx_left.x || _edr_up.x && _fx_up.x), _edr.y && (_fx.y || _edr_left.y && _fx_left.y || _edr_up.y && _fx_up.y), _edr.z && (_fx.z || _edr_left.z && _fx_left.z || _edr_up.z && _fx_up.z), _edr.w && (_fx.w || _edr_left.w && _fx_left.w || _edr_up.w && _fx_up.w)); + _a0312 = _e1 - _b1.wxyz; + _TMP309 = abs(_a0312); + _a0316 = _e1 - _b1.zwxy; + _TMP313 = abs(_a0316); + _px = bvec4(_TMP309.x <= _TMP313.x, _TMP309.y <= _TMP313.y, _TMP309.z <= _TMP313.z, _TMP309.w <= _TMP313.w); + if (_nc.x) { + if (_px.x) { + _TMP47 = _F; + } else { + _TMP47 = _H; + } + _TMP46 = _TMP47; + } else { + if (_nc.y) { + if (_px.y) { + _TMP49 = _B2; + } else { + _TMP49 = _F; + } + _TMP48 = _TMP49; + } else { + if (_nc.z) { + if (_px.z) { + _TMP51 = _D; + } else { + _TMP51 = _B2; + } + _TMP50 = _TMP51; + } else { + if (_nc.w) { + if (_px.w) { + _TMP53 = _H; + } else { + _TMP53 = _D; + } + _TMP52 = _TMP53; + } else { + _TMP52 = _E; + } + _TMP50 = _TMP52; + } + _TMP48 = _TMP50; + } + _TMP46 = _TMP48; + } + _res = vec3(float(_TMP46.x), float(_TMP46.y), float(_TMP46.z)); + _TMP62 = pow(_res.x, 2.40000010E+00); + _TMP63 = pow(_res.y, 2.40000010E+00); + _TMP64 = pow(_res.z, 2.40000010E+00); + _color = vec3(_TMP62, _TMP63, _TMP64); + _ddy = _fp.y - 5.00000000E-01; + _v_weight_00 = _ddy/5.00000000E-01; + if (_v_weight_00 > 1.00000000E+00) { + _v_weight_00 = 1.00000000E+00; + } + _v_weight_00 = 1.00000000E+00 - _v_weight_00*_v_weight_00; + _v_weight_00 = _v_weight_00*_v_weight_00; + _color = _color*vec3(_v_weight_00, _v_weight_00, _v_weight_00); + if (_ddy > 0.00000000E+00) { + _coords10 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _ddy = 1.00000000E+00 - _ddy; + } else { + _coords10 = vec3(float(_B2.x), float(_B2.y), float(_B2.z)); + _ddy = 1.00000000E+00 + _ddy; + } + _TMP62 = pow(_coords10.x, 2.40000010E+00); + _TMP63 = pow(_coords10.y, 2.40000010E+00); + _TMP64 = pow(_coords10.z, 2.40000010E+00); + _colorNB = vec3(_TMP62, _TMP63, _TMP64); + _v_weight_10 = _ddy/5.00000000E-01; + if (_v_weight_10 > 1.00000000E+00) { + _v_weight_10 = 1.00000000E+00; + } + _v_weight_10 = 1.00000000E+00 - _v_weight_10*_v_weight_10; + _v_weight_10 = _v_weight_10*_v_weight_10; + _color = _color + _colorNB*vec3(_v_weight_10, _v_weight_10, _v_weight_10); + _color = _color*vec3( 1.45000005E+00, 1.45000005E+00, 1.45000005E+00); + _TMP62 = pow(_color.x, 4.54545438E-01); + _TMP63 = pow(_color.y, 4.54545438E-01); + _TMP64 = pow(_color.z, 4.54545438E-01); + _TMP54 = vec3(_TMP62, _TMP63, _TMP64); + _TMP65 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _TMP54); + _TMP341 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP65); + _ret_0 = vec4(_TMP341.x, _TMP341.y, _TMP341.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/5xBR-v3.7d.glsl b/ios/Assets/shaders_glsl/xBR/5xBR-v3.7d.glsl new file mode 100644 index 0000000000..8848f15432 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/5xBR-v3.7d.glsl @@ -0,0 +1,570 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP62; +float _TMP61; +float _TMP60; +vec3 _TMP70; +vec3 _TMP52; +vec3 _TMP54; +vec3 _TMP56; +vec3 _TMP58; +vec3 _TMP59; +vec3 _TMP57; +vec3 _TMP55; +vec3 _TMP53; +vec3 _TMP44; +vec3 _TMP46; +vec3 _TMP48; +vec3 _TMP50; +vec3 _TMP51; +vec3 _TMP49; +vec3 _TMP47; +vec3 _TMP45; +vec4 _TMP37; +vec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP69; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0084; +vec4 _r0128; +vec4 _r0138; +vec4 _r0148; +vec4 _r0158; +vec4 _r0168; +vec4 _r0178; +vec4 _TMP189; +vec4 _a0192; +vec4 _TMP195; +vec4 _a0198; +vec4 _TMP201; +vec4 _a0204; +vec4 _TMP207; +vec4 _a0210; +vec4 _TMP213; +vec4 _a0216; +vec4 _TMP219; +vec4 _a0222; +vec4 _TMP225; +vec4 _a0228; +vec4 _TMP231; +vec4 _a0234; +vec4 _TMP237; +vec4 _a0240; +vec4 _TMP243; +vec4 _a0246; +vec4 _TMP247; +vec4 _a0250; +vec4 _TMP251; +vec4 _a0254; +vec4 _TMP255; +vec4 _a0258; +vec4 _TMP259; +vec4 _a0262; +vec4 _TMP265; +vec4 _a0268; +vec4 _TMP269; +vec4 _a0272; +vec4 _TMP273; +vec4 _a0276; +vec4 _TMP277; +vec4 _a0280; +vec4 _TMP281; +vec4 _a0284; +vec4 _TMP285; +vec4 _a0288; +vec4 _TMP289; +vec4 _a0292; +vec4 _TMP293; +vec4 _a0296; +vec4 _TMP297; +vec4 _a0300; +vec4 _TMP301; +vec4 _a0304; +vec4 _TMP305; +vec4 _a0308; +vec3 _df0310; +vec3 _a0312; +vec3 _df0314; +vec3 _a0316; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec3 _res; + _x0084 = TEX0.xy*TextureSize; + _fp = fract(_x0084); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP69 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0128.x = float(_TMP69); + _TMP69 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0128.y = float(_TMP69); + _TMP69 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0128.z = float(_TMP69); + _TMP69 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0128.w = float(_TMP69); + _b1 = vec4(float(_r0128.x), float(_r0128.y), float(_r0128.z), float(_r0128.w)); + _TMP69 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0138.x = float(_TMP69); + _TMP69 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0138.y = float(_TMP69); + _TMP69 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0138.z = float(_TMP69); + _TMP69 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0138.w = float(_TMP69); + _c3 = vec4(float(_r0138.x), float(_r0138.y), float(_r0138.z), float(_r0138.w)); + _TMP69 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0148.x = float(_TMP69); + _TMP69 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0148.y = float(_TMP69); + _TMP69 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0148.z = float(_TMP69); + _TMP69 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0148.w = float(_TMP69); + _e1 = vec4(float(_r0148.x), float(_r0148.y), float(_r0148.z), float(_r0148.w)); + _TMP69 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0158.x = float(_TMP69); + _TMP69 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0158.y = float(_TMP69); + _TMP69 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0158.z = float(_TMP69); + _TMP69 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0158.w = float(_TMP69); + _i4 = vec4(float(_r0158.x), float(_r0158.y), float(_r0158.z), float(_r0158.w)); + _TMP69 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0168.x = float(_TMP69); + _TMP69 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0168.y = float(_TMP69); + _TMP69 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0168.z = float(_TMP69); + _TMP69 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0168.w = float(_TMP69); + _i5 = vec4(float(_r0168.x), float(_r0168.y), float(_r0168.z), float(_r0168.w)); + _TMP69 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0178.x = float(_TMP69); + _TMP69 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0178.y = float(_TMP69); + _TMP69 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0178.z = float(_TMP69); + _TMP69 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0178.w = float(_TMP69); + _h5 = vec4(float(_r0178.x), float(_r0178.y), float(_r0178.z), float(_r0178.w)); + _fx = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).x > 1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).y > 5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).w > 5.00000000E-01); + _fx_left = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).x > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).y > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).w > 0.00000000E+00); + _fx_up = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).x > 2.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).y > 0.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).z > -1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).w > 5.00000000E-01); + _a0192 = _b1.wxyz - _b1; + _TMP189 = abs(_a0192); + _TMP27 = bvec4(_TMP189.x < 1.00000000E+01, _TMP189.y < 1.00000000E+01, _TMP189.z < 1.00000000E+01, _TMP189.w < 1.00000000E+01); + _a0198 = _b1.zwxy - _b1.yzwx; + _TMP195 = abs(_a0198); + _TMP28 = bvec4(_TMP195.x < 1.00000000E+01, _TMP195.y < 1.00000000E+01, _TMP195.z < 1.00000000E+01, _TMP195.w < 1.00000000E+01); + _a0204 = _e1 - _c3.wxyz; + _TMP201 = abs(_a0204); + _TMP29 = bvec4(_TMP201.x < 1.00000000E+01, _TMP201.y < 1.00000000E+01, _TMP201.z < 1.00000000E+01, _TMP201.w < 1.00000000E+01); + _a0210 = _b1.wxyz - _i4; + _TMP207 = abs(_a0210); + _TMP30 = bvec4(_TMP207.x < 1.00000000E+01, _TMP207.y < 1.00000000E+01, _TMP207.z < 1.00000000E+01, _TMP207.w < 1.00000000E+01); + _a0216 = _b1.zwxy - _i5; + _TMP213 = abs(_a0216); + _TMP31 = bvec4(_TMP213.x < 1.00000000E+01, _TMP213.y < 1.00000000E+01, _TMP213.z < 1.00000000E+01, _TMP213.w < 1.00000000E+01); + _a0222 = _e1 - _c3.zwxy; + _TMP219 = abs(_a0222); + _TMP32 = bvec4(_TMP219.x < 1.00000000E+01, _TMP219.y < 1.00000000E+01, _TMP219.z < 1.00000000E+01, _TMP219.w < 1.00000000E+01); + _a0228 = _e1 - _c3; + _TMP225 = abs(_a0228); + _TMP33 = bvec4(_TMP225.x < 1.00000000E+01, _TMP225.y < 1.00000000E+01, _TMP225.z < 1.00000000E+01, _TMP225.w < 1.00000000E+01); + _a0234 = _b1 - _i4.yzwx; + _TMP231 = abs(_a0234); + _TMP34 = bvec4(_TMP231.x < 1.00000000E+01, _TMP231.y < 1.00000000E+01, _TMP231.z < 1.00000000E+01, _TMP231.w < 1.00000000E+01); + _a0240 = _b1.yzwx - _i5.wxyz; + _TMP237 = abs(_a0240); + _TMP35 = bvec4(_TMP237.x < 1.00000000E+01, _TMP237.y < 1.00000000E+01, _TMP237.z < 1.00000000E+01, _TMP237.w < 1.00000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || _TMP29.x && !_TMP30.x && !_TMP31.x || _TMP32.x || _TMP33.x) && (_b1.w != _h5.y && _b1.w != _c3.w || _b1.z != _h5.x && _b1.z != _c3.w || _b1.z != _c3.z || _b1.w != _c3.x || _TMP34.x && _TMP35.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || _TMP29.y && !_TMP30.y && !_TMP31.y || _TMP32.y || _TMP33.y) && (_b1.x != _h5.z && _b1.x != _c3.x || _b1.w != _h5.y && _b1.w != _c3.x || _b1.w != _c3.w || _b1.x != _c3.y || _TMP34.y && _TMP35.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || _TMP29.z && !_TMP30.z && !_TMP31.z || _TMP32.z || _TMP33.z) && (_b1.y != _h5.w && _b1.y != _c3.y || _b1.x != _h5.z && _b1.x != _c3.y || _b1.x != _c3.x || _b1.y != _c3.z || _TMP34.z && _TMP35.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || _TMP29.w && !_TMP30.w && !_TMP31.w || _TMP32.w || _TMP33.w) && (_b1.z != _h5.x && _b1.z != _c3.z || _b1.y != _h5.w && _b1.y != _c3.z || _b1.y != _c3.y || _b1.z != _c3.w || _TMP34.w && _TMP35.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _a0246 = _e1 - _c3; + _TMP243 = abs(_a0246); + _a0250 = _e1 - _c3.zwxy; + _TMP247 = abs(_a0250); + _a0254 = _c3.wxyz - _h5; + _TMP251 = abs(_a0254); + _a0258 = _c3.wxyz - _h5.yzwx; + _TMP255 = abs(_a0258); + _a0262 = _b1.zwxy - _b1.wxyz; + _TMP259 = abs(_a0262); + _TMP36 = _TMP243 + _TMP247 + _TMP251 + _TMP255 + 4.00000000E+00*_TMP259; + _a0268 = _b1.zwxy - _b1.yzwx; + _TMP265 = abs(_a0268); + _a0272 = _b1.zwxy - _i5; + _TMP269 = abs(_a0272); + _a0276 = _b1.wxyz - _i4; + _TMP273 = abs(_a0276); + _a0280 = _b1.wxyz - _b1; + _TMP277 = abs(_a0280); + _a0284 = _e1 - _c3.wxyz; + _TMP281 = abs(_a0284); + _TMP37 = _TMP265 + _TMP269 + _TMP273 + _TMP277 + 4.00000000E+00*_TMP281; + _edr = bvec4(_TMP36.x < _TMP37.x && _interp_restriction_lv1.x, _TMP36.y < _TMP37.y && _interp_restriction_lv1.y, _TMP36.z < _TMP37.z && _interp_restriction_lv1.z, _TMP36.w < _TMP37.w && _interp_restriction_lv1.w); + _a0288 = _b1.wxyz - _c3.zwxy; + _TMP285 = abs(_a0288); + _a0292 = _b1.zwxy - _c3; + _TMP289 = abs(_a0292); + _edr_left = bvec4((2.00000000E+00*_TMP285).x <= _TMP289.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP285).y <= _TMP289.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP285).z <= _TMP289.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP285).w <= _TMP289.w && _interp_restriction_lv2_left.w); + _a0296 = _b1.wxyz - _c3.zwxy; + _TMP293 = abs(_a0296); + _a0300 = _b1.zwxy - _c3; + _TMP297 = abs(_a0300); + _edr_up = bvec4(_TMP293.x >= (2.00000000E+00*_TMP297).x && _interp_restriction_lv2_up.x, _TMP293.y >= (2.00000000E+00*_TMP297).y && _interp_restriction_lv2_up.y, _TMP293.z >= (2.00000000E+00*_TMP297).z && _interp_restriction_lv2_up.z, _TMP293.w >= (2.00000000E+00*_TMP297).w && _interp_restriction_lv2_up.w); + _nc = bvec4(_edr.x && (_fx.x || _edr_left.x && _fx_left.x || _edr_up.x && _fx_up.x), _edr.y && (_fx.y || _edr_left.y && _fx_left.y || _edr_up.y && _fx_up.y), _edr.z && (_fx.z || _edr_left.z && _fx_left.z || _edr_up.z && _fx_up.z), _edr.w && (_fx.w || _edr_left.w && _fx_left.w || _edr_up.w && _fx_up.w)); + _a0304 = _e1 - _b1.wxyz; + _TMP301 = abs(_a0304); + _a0308 = _e1 - _b1.zwxy; + _TMP305 = abs(_a0308); + _px = bvec4(_TMP301.x <= _TMP305.x, _TMP301.y <= _TMP305.y, _TMP301.z <= _TMP305.z, _TMP301.w <= _TMP305.w); + if (_nc.x) { + if (_px.x) { + _TMP45 = _F; + } else { + _TMP45 = _H; + } + _TMP44 = _TMP45; + } else { + if (_nc.y) { + if (_px.y) { + _TMP47 = _B2; + } else { + _TMP47 = _F; + } + _TMP46 = _TMP47; + } else { + if (_nc.z) { + if (_px.z) { + _TMP49 = _D; + } else { + _TMP49 = _B2; + } + _TMP48 = _TMP49; + } else { + if (_nc.w) { + if (_px.w) { + _TMP51 = _H; + } else { + _TMP51 = _D; + } + _TMP50 = _TMP51; + } else { + _TMP50 = _E; + } + _TMP48 = _TMP50; + } + _TMP46 = _TMP48; + } + _TMP44 = _TMP46; + } + if (_nc.w) { + if (_px.w) { + _TMP53 = _H; + } else { + _TMP53 = _D; + } + _TMP52 = _TMP53; + } else { + if (_nc.z) { + if (_px.z) { + _TMP55 = _D; + } else { + _TMP55 = _B2; + } + _TMP54 = _TMP55; + } else { + if (_nc.y) { + if (_px.y) { + _TMP57 = _B2; + } else { + _TMP57 = _F; + } + _TMP56 = _TMP57; + } else { + if (_nc.x) { + if (_px.x) { + _TMP59 = _F; + } else { + _TMP59 = _H; + } + _TMP58 = _TMP59; + } else { + _TMP58 = _E; + } + _TMP56 = _TMP58; + } + _TMP54 = _TMP56; + } + _TMP52 = _TMP54; + } + _a0312 = _E - _TMP44; + _TMP70 = abs(vec3(float(_a0312.x), float(_a0312.y), float(_a0312.z))); + _df0310 = vec3(float(_TMP70.x), float(_TMP70.y), float(_TMP70.z)); + _TMP60 = _df0310.x + _df0310.y + _df0310.z; + _a0316 = _E - _TMP52; + _TMP70 = abs(vec3(float(_a0316.x), float(_a0316.y), float(_a0316.z))); + _df0314 = vec3(float(_TMP70.x), float(_TMP70.y), float(_TMP70.z)); + _TMP61 = _df0314.x + _df0314.y + _df0314.z; + _TMP62 = float((_TMP61 >= _TMP60)); + _res = _TMP44 + _TMP62*(_TMP52 - _TMP44); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/5xBR-v3.8a.glsl b/ios/Assets/shaders_glsl/xBR/5xBR-v3.8a.glsl new file mode 100644 index 0000000000..85d3620988 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/5xBR-v3.8a.glsl @@ -0,0 +1,556 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP46; +float _TMP45; +float _TMP44; +vec3 _TMP53; +vec3 _TMP43; +vec3 _TMP42; +vec3 _TMP41; +vec3 _TMP40; +vec3 _TMP39; +vec3 _TMP38; +vec3 _TMP37; +vec3 _TMP36; +vec4 _TMP35; +vec4 _TMP28; +vec4 _TMP27; +vec4 _TMP54; +float _TMP52; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0068; +vec4 _r0112; +vec4 _r0122; +vec4 _r0132; +vec4 _r0142; +vec4 _r0152; +vec4 _r0162; +vec4 _x0174; +vec4 _TMP175; +vec4 _x0184; +vec4 _TMP185; +vec4 _x0194; +vec4 _TMP195; +vec4 _TMP203; +vec4 _a0206; +vec4 _TMP207; +vec4 _a0210; +vec4 _TMP211; +vec4 _a0214; +vec4 _TMP215; +vec4 _a0218; +vec4 _TMP219; +vec4 _a0222; +vec4 _TMP225; +vec4 _a0228; +vec4 _TMP229; +vec4 _a0232; +vec4 _TMP233; +vec4 _a0236; +vec4 _TMP237; +vec4 _a0240; +vec4 _TMP241; +vec4 _a0244; +vec4 _TMP245; +vec4 _a0248; +vec4 _TMP249; +vec4 _a0252; +vec4 _TMP253; +vec4 _a0256; +vec4 _TMP257; +vec4 _a0260; +vec4 _TMP261; +vec4 _a0264; +vec4 _TMP265; +vec4 _a0268; +float _t0274; +float _t0276; +vec3 _df0278; +vec3 _a0280; +vec3 _df0282; +vec3 _a0284; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A1; + vec3 _B1; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0068 = TEX0.xy*TextureSize; + _fp = fract(_x0068); + _TMP0 = texture2D(Texture, VARt1.xw); + _A1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP52 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.x = float(_TMP52); + _TMP52 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.y = float(_TMP52); + _TMP52 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.z = float(_TMP52); + _TMP52 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0112.w = float(_TMP52); + _b1 = vec4(float(_r0112.x), float(_r0112.y), float(_r0112.z), float(_r0112.w)); + _TMP52 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.x = float(_TMP52); + _TMP52 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.y = float(_TMP52); + _TMP52 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.z = float(_TMP52); + _TMP52 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0122.w = float(_TMP52); + _c3 = vec4(float(_r0122.x), float(_r0122.y), float(_r0122.z), float(_r0122.w)); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.x = float(_TMP52); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.y = float(_TMP52); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.z = float(_TMP52); + _TMP52 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0132.w = float(_TMP52); + _e1 = vec4(float(_r0132.x), float(_r0132.y), float(_r0132.z), float(_r0132.w)); + _TMP52 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.x = float(_TMP52); + _TMP52 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.y = float(_TMP52); + _TMP52 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.z = float(_TMP52); + _TMP52 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0142.w = float(_TMP52); + _i4 = vec4(float(_r0142.x), float(_r0142.y), float(_r0142.z), float(_r0142.w)); + _TMP52 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.x = float(_TMP52); + _TMP52 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.y = float(_TMP52); + _TMP52 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.z = float(_TMP52); + _TMP52 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0152.w = float(_TMP52); + _i5 = vec4(float(_r0152.x), float(_r0152.y), float(_r0152.z), float(_r0152.w)); + _TMP52 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.x = float(_TMP52); + _TMP52 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.y = float(_TMP52); + _TMP52 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.z = float(_TMP52); + _TMP52 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0162.w = float(_TMP52); + _h5 = vec4(float(_r0162.x), float(_r0162.y), float(_r0162.z), float(_r0162.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z, _e1.y != _b1.x && _e1.y != _b1.w, _e1.z != _b1.y && _e1.z != _b1.x, _e1.w != _b1.z && _e1.w != _b1.y); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0174 = (_fx - vec4( 1.25000000E+00, 2.50000000E-01, -7.50000000E-01, 2.50000000E-01))/vec4( 5.00000000E-01, 5.00000000E-01, 5.00000000E-01, 5.00000000E-01); + _TMP54 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0174); + _TMP175 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP54); + _fx45 = _TMP175*_TMP175*(3.00000000E+00 - 2.00000000E+00*_TMP175); + _x0184 = (_fx_left - vec4( 7.50000000E-01, 7.50000000E-01, -7.50000000E-01, -2.50000000E-01))/vec4( 5.00000000E-01, 5.00000000E-01, 5.00000000E-01, 5.00000000E-01); + _TMP54 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0184); + _TMP185 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP54); + _fx30 = _TMP185*_TMP185*(3.00000000E+00 - 2.00000000E+00*_TMP185); + _x0194 = (_fx_up - vec4( 1.75000000E+00, -2.50000000E-01, -1.25000000E+00, 2.50000000E-01))/vec4( 5.00000000E-01, 5.00000000E-01, 5.00000000E-01, 5.00000000E-01); + _TMP54 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0194); + _TMP195 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP54); + _fx60 = _TMP195*_TMP195*(3.00000000E+00 - 2.00000000E+00*_TMP195); + _a0206 = _e1 - _c3; + _TMP203 = abs(_a0206); + _a0210 = _e1 - _c3.zwxy; + _TMP207 = abs(_a0210); + _a0214 = _c3.wxyz - _h5; + _TMP211 = abs(_a0214); + _a0218 = _c3.wxyz - _h5.yzwx; + _TMP215 = abs(_a0218); + _a0222 = _b1.zwxy - _b1.wxyz; + _TMP219 = abs(_a0222); + _TMP27 = _TMP203 + _TMP207 + _TMP211 + _TMP215 + 4.00000000E+00*_TMP219; + _a0228 = _b1.zwxy - _b1.yzwx; + _TMP225 = abs(_a0228); + _a0232 = _b1.zwxy - _i5; + _TMP229 = abs(_a0232); + _a0236 = _b1.wxyz - _i4; + _TMP233 = abs(_a0236); + _a0240 = _b1.wxyz - _b1; + _TMP237 = abs(_a0240); + _a0244 = _e1 - _c3.wxyz; + _TMP241 = abs(_a0244); + _TMP28 = _TMP225 + _TMP229 + _TMP233 + _TMP237 + 4.00000000E+00*_TMP241; + _edr = bvec4(_TMP27.x < _TMP28.x && _interp_restriction_lv1.x, _TMP27.y < _TMP28.y && _interp_restriction_lv1.y, _TMP27.z < _TMP28.z && _interp_restriction_lv1.z, _TMP27.w < _TMP28.w && _interp_restriction_lv1.w); + _a0248 = _b1.wxyz - _c3.zwxy; + _TMP245 = abs(_a0248); + _a0252 = _b1.zwxy - _c3; + _TMP249 = abs(_a0252); + _edr_left = bvec4((2.00000000E+00*_TMP245).x <= _TMP249.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP245).y <= _TMP249.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP245).z <= _TMP249.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP245).w <= _TMP249.w && _interp_restriction_lv2_left.w); + _a0256 = _b1.wxyz - _c3.zwxy; + _TMP253 = abs(_a0256); + _a0260 = _b1.zwxy - _c3; + _TMP257 = abs(_a0260); + _edr_up = bvec4(_TMP253.x >= (2.00000000E+00*_TMP257).x && _interp_restriction_lv2_up.x, _TMP253.y >= (2.00000000E+00*_TMP257).y && _interp_restriction_lv2_up.y, _TMP253.z >= (2.00000000E+00*_TMP257).z && _interp_restriction_lv2_up.z, _TMP253.w >= (2.00000000E+00*_TMP257).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0264 = _e1 - _b1.wxyz; + _TMP261 = abs(_a0264); + _a0268 = _e1 - _b1.zwxy; + _TMP265 = abs(_a0268); + _px = bvec4(_TMP261.x <= _TMP265.x, _TMP261.y <= _TMP265.y, _TMP261.z <= _TMP265.z, _TMP261.w <= _TMP265.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP35 = max(_final30, _final60); + _maximo = max(_TMP35, _final45); + if (_nc.x) { + if (_px.x) { + _TMP36 = _F; + } else { + _TMP36 = _H; + } + _pix1 = _TMP36; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP37 = _B2; + } else { + _TMP37 = _F; + } + _pix1 = _TMP37; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP38 = _D; + } else { + _TMP38 = _B2; + } + _pix1 = _TMP38; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP39 = _H; + } else { + _TMP39 = _D; + } + _pix1 = _TMP39; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP40 = _H; + } else { + _TMP40 = _D; + } + _pix2 = _TMP40; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP41 = _D; + } else { + _TMP41 = _B2; + } + _pix2 = _TMP41; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP42 = _B2; + } else { + _TMP42 = _F; + } + _pix2 = _TMP42; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP43 = _F; + } else { + _TMP43 = _H; + } + _pix2 = _TMP43; + _blend2 = _maximo.x; + } + } + } + } + _t0274 = float(_blend1); + _res1 = _E + _t0274*(_pix1 - _E); + _t0276 = float(_blend2); + _res2 = _E + _t0276*(_pix2 - _E); + _a0280 = _E - _res1; + _TMP53 = abs(vec3(float(_a0280.x), float(_a0280.y), float(_a0280.z))); + _df0278 = vec3(float(_TMP53.x), float(_TMP53.y), float(_TMP53.z)); + _TMP44 = _df0278.x + _df0278.y + _df0278.z; + _a0284 = _E - _res2; + _TMP53 = abs(vec3(float(_a0284.x), float(_a0284.y), float(_a0284.z))); + _df0282 = vec3(float(_TMP53.x), float(_TMP53.y), float(_TMP53.z)); + _TMP45 = _df0282.x + _df0282.y + _df0282.z; + _TMP46 = float((_TMP45 >= _TMP44)); + _res = _res1 + _TMP46*(_res2 - _res1); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/5xBR-v3.8b.glsl b/ios/Assets/shaders_glsl/xBR/5xBR-v3.8b.glsl new file mode 100644 index 0000000000..3a02d73474 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/5xBR-v3.8b.glsl @@ -0,0 +1,598 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP53; +float _TMP52; +float _TMP51; +vec3 _TMP61; +vec3 _TMP50; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec3 _TMP46; +vec3 _TMP45; +vec3 _TMP44; +vec3 _TMP43; +vec4 _TMP42; +vec4 _TMP35; +vec4 _TMP34; +vec4 _TMP62; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP60; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0076; +vec4 _r0120; +vec4 _r0130; +vec4 _r0140; +vec4 _r0150; +vec4 _r0160; +vec4 _r0170; +vec4 _TMP181; +vec4 _a0184; +vec4 _TMP187; +vec4 _a0190; +vec4 _TMP193; +vec4 _a0196; +vec4 _TMP199; +vec4 _a0202; +vec4 _TMP205; +vec4 _a0208; +vec4 _TMP211; +vec4 _a0214; +vec4 _TMP217; +vec4 _a0220; +vec4 _x0224; +vec4 _TMP225; +vec4 _x0234; +vec4 _TMP235; +vec4 _x0244; +vec4 _TMP245; +vec4 _TMP253; +vec4 _a0256; +vec4 _TMP257; +vec4 _a0260; +vec4 _TMP261; +vec4 _a0264; +vec4 _TMP265; +vec4 _a0268; +vec4 _TMP269; +vec4 _a0272; +vec4 _TMP275; +vec4 _a0278; +vec4 _TMP279; +vec4 _a0282; +vec4 _TMP283; +vec4 _a0286; +vec4 _TMP287; +vec4 _a0290; +vec4 _TMP291; +vec4 _a0294; +vec4 _TMP295; +vec4 _a0298; +vec4 _TMP299; +vec4 _a0302; +vec4 _TMP303; +vec4 _a0306; +vec4 _TMP307; +vec4 _a0310; +vec4 _TMP311; +vec4 _a0314; +vec4 _TMP315; +vec4 _a0318; +float _t0324; +float _t0326; +vec3 _df0328; +vec3 _a0330; +vec3 _df0332; +vec3 _a0334; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0076 = TEX0.xy*TextureSize; + _fp = fract(_x0076); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP60 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.x = float(_TMP60); + _TMP60 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.y = float(_TMP60); + _TMP60 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.z = float(_TMP60); + _TMP60 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0120.w = float(_TMP60); + _b1 = vec4(float(_r0120.x), float(_r0120.y), float(_r0120.z), float(_r0120.w)); + _TMP60 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.x = float(_TMP60); + _TMP60 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.y = float(_TMP60); + _TMP60 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.z = float(_TMP60); + _TMP60 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0130.w = float(_TMP60); + _c3 = vec4(float(_r0130.x), float(_r0130.y), float(_r0130.z), float(_r0130.w)); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.x = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.y = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.z = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0140.w = float(_TMP60); + _e1 = vec4(float(_r0140.x), float(_r0140.y), float(_r0140.z), float(_r0140.w)); + _TMP60 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.x = float(_TMP60); + _TMP60 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.y = float(_TMP60); + _TMP60 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.z = float(_TMP60); + _TMP60 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0150.w = float(_TMP60); + _i4 = vec4(float(_r0150.x), float(_r0150.y), float(_r0150.z), float(_r0150.w)); + _TMP60 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.x = float(_TMP60); + _TMP60 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.y = float(_TMP60); + _TMP60 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.z = float(_TMP60); + _TMP60 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0160.w = float(_TMP60); + _i5 = vec4(float(_r0160.x), float(_r0160.y), float(_r0160.z), float(_r0160.w)); + _TMP60 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.x = float(_TMP60); + _TMP60 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.y = float(_TMP60); + _TMP60 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.z = float(_TMP60); + _TMP60 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0170.w = float(_TMP60); + _h5 = vec4(float(_r0170.x), float(_r0170.y), float(_r0170.z), float(_r0170.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0184 = _b1.wxyz - _b1; + _TMP181 = abs(_a0184); + _TMP27 = bvec4(_TMP181.x < 1.50000000E+01, _TMP181.y < 1.50000000E+01, _TMP181.z < 1.50000000E+01, _TMP181.w < 1.50000000E+01); + _a0190 = _b1.zwxy - _b1.yzwx; + _TMP187 = abs(_a0190); + _TMP28 = bvec4(_TMP187.x < 1.50000000E+01, _TMP187.y < 1.50000000E+01, _TMP187.z < 1.50000000E+01, _TMP187.w < 1.50000000E+01); + _a0196 = _e1 - _c3.wxyz; + _TMP193 = abs(_a0196); + _TMP29 = bvec4(_TMP193.x < 1.50000000E+01, _TMP193.y < 1.50000000E+01, _TMP193.z < 1.50000000E+01, _TMP193.w < 1.50000000E+01); + _a0202 = _b1.wxyz - _i4; + _TMP199 = abs(_a0202); + _TMP30 = bvec4(_TMP199.x < 1.50000000E+01, _TMP199.y < 1.50000000E+01, _TMP199.z < 1.50000000E+01, _TMP199.w < 1.50000000E+01); + _a0208 = _b1.zwxy - _i5; + _TMP205 = abs(_a0208); + _TMP31 = bvec4(_TMP205.x < 1.50000000E+01, _TMP205.y < 1.50000000E+01, _TMP205.z < 1.50000000E+01, _TMP205.w < 1.50000000E+01); + _a0214 = _e1 - _c3.zwxy; + _TMP211 = abs(_a0214); + _TMP32 = bvec4(_TMP211.x < 1.50000000E+01, _TMP211.y < 1.50000000E+01, _TMP211.z < 1.50000000E+01, _TMP211.w < 1.50000000E+01); + _a0220 = _e1 - _c3; + _TMP217 = abs(_a0220); + _TMP33 = bvec4(_TMP217.x < 1.50000000E+01, _TMP217.y < 1.50000000E+01, _TMP217.z < 1.50000000E+01, _TMP217.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || _TMP29.x && !_TMP30.x && !_TMP31.x || _TMP32.x || _TMP33.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || _TMP29.y && !_TMP30.y && !_TMP31.y || _TMP32.y || _TMP33.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || _TMP29.z && !_TMP30.z && !_TMP31.z || _TMP32.z || _TMP33.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || _TMP29.w && !_TMP30.w && !_TMP31.w || _TMP32.w || _TMP33.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0224 = (_fx - vec4( 1.25000000E+00, 2.50000000E-01, -7.50000000E-01, 2.50000000E-01))/vec4( 5.00000000E-01, 5.00000000E-01, 5.00000000E-01, 5.00000000E-01); + _TMP62 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0224); + _TMP225 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP62); + _fx45 = _TMP225*_TMP225*(3.00000000E+00 - 2.00000000E+00*_TMP225); + _x0234 = (_fx_left - vec4( 7.50000000E-01, 7.50000000E-01, -7.50000000E-01, -2.50000000E-01))/vec4( 5.00000000E-01, 5.00000000E-01, 5.00000000E-01, 5.00000000E-01); + _TMP62 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0234); + _TMP235 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP62); + _fx30 = _TMP235*_TMP235*(3.00000000E+00 - 2.00000000E+00*_TMP235); + _x0244 = (_fx_up - vec4( 1.75000000E+00, -2.50000000E-01, -1.25000000E+00, 2.50000000E-01))/vec4( 5.00000000E-01, 5.00000000E-01, 5.00000000E-01, 5.00000000E-01); + _TMP62 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0244); + _TMP245 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP62); + _fx60 = _TMP245*_TMP245*(3.00000000E+00 - 2.00000000E+00*_TMP245); + _a0256 = _e1 - _c3; + _TMP253 = abs(_a0256); + _a0260 = _e1 - _c3.zwxy; + _TMP257 = abs(_a0260); + _a0264 = _c3.wxyz - _h5; + _TMP261 = abs(_a0264); + _a0268 = _c3.wxyz - _h5.yzwx; + _TMP265 = abs(_a0268); + _a0272 = _b1.zwxy - _b1.wxyz; + _TMP269 = abs(_a0272); + _TMP34 = _TMP253 + _TMP257 + _TMP261 + _TMP265 + 4.00000000E+00*_TMP269; + _a0278 = _b1.zwxy - _b1.yzwx; + _TMP275 = abs(_a0278); + _a0282 = _b1.zwxy - _i5; + _TMP279 = abs(_a0282); + _a0286 = _b1.wxyz - _i4; + _TMP283 = abs(_a0286); + _a0290 = _b1.wxyz - _b1; + _TMP287 = abs(_a0290); + _a0294 = _e1 - _c3.wxyz; + _TMP291 = abs(_a0294); + _TMP35 = _TMP275 + _TMP279 + _TMP283 + _TMP287 + 4.00000000E+00*_TMP291; + _edr = bvec4(_TMP34.x < _TMP35.x && _interp_restriction_lv1.x, _TMP34.y < _TMP35.y && _interp_restriction_lv1.y, _TMP34.z < _TMP35.z && _interp_restriction_lv1.z, _TMP34.w < _TMP35.w && _interp_restriction_lv1.w); + _a0298 = _b1.wxyz - _c3.zwxy; + _TMP295 = abs(_a0298); + _a0302 = _b1.zwxy - _c3; + _TMP299 = abs(_a0302); + _edr_left = bvec4((2.00000000E+00*_TMP295).x <= _TMP299.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP295).y <= _TMP299.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP295).z <= _TMP299.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP295).w <= _TMP299.w && _interp_restriction_lv2_left.w); + _a0306 = _b1.wxyz - _c3.zwxy; + _TMP303 = abs(_a0306); + _a0310 = _b1.zwxy - _c3; + _TMP307 = abs(_a0310); + _edr_up = bvec4(_TMP303.x >= (2.00000000E+00*_TMP307).x && _interp_restriction_lv2_up.x, _TMP303.y >= (2.00000000E+00*_TMP307).y && _interp_restriction_lv2_up.y, _TMP303.z >= (2.00000000E+00*_TMP307).z && _interp_restriction_lv2_up.z, _TMP303.w >= (2.00000000E+00*_TMP307).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0314 = _e1 - _b1.wxyz; + _TMP311 = abs(_a0314); + _a0318 = _e1 - _b1.zwxy; + _TMP315 = abs(_a0318); + _px = bvec4(_TMP311.x <= _TMP315.x, _TMP311.y <= _TMP315.y, _TMP311.z <= _TMP315.z, _TMP311.w <= _TMP315.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP42 = max(_final30, _final60); + _maximo = max(_TMP42, _final45); + if (_nc.x) { + if (_px.x) { + _TMP43 = _F; + } else { + _TMP43 = _H; + } + _pix1 = _TMP43; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP44 = _B2; + } else { + _TMP44 = _F; + } + _pix1 = _TMP44; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP45 = _D; + } else { + _TMP45 = _B2; + } + _pix1 = _TMP45; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP46 = _H; + } else { + _TMP46 = _D; + } + _pix1 = _TMP46; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP47 = _H; + } else { + _TMP47 = _D; + } + _pix2 = _TMP47; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP48 = _D; + } else { + _TMP48 = _B2; + } + _pix2 = _TMP48; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP49 = _B2; + } else { + _TMP49 = _F; + } + _pix2 = _TMP49; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP50 = _F; + } else { + _TMP50 = _H; + } + _pix2 = _TMP50; + _blend2 = _maximo.x; + } + } + } + } + _t0324 = float(_blend1); + _res1 = _E + _t0324*(_pix1 - _E); + _t0326 = float(_blend2); + _res2 = _E + _t0326*(_pix2 - _E); + _a0330 = _E - _res1; + _TMP61 = abs(vec3(float(_a0330.x), float(_a0330.y), float(_a0330.z))); + _df0328 = vec3(float(_TMP61.x), float(_TMP61.y), float(_TMP61.z)); + _TMP51 = _df0328.x + _df0328.y + _df0328.z; + _a0334 = _E - _res2; + _TMP61 = abs(vec3(float(_a0334.x), float(_a0334.y), float(_a0334.z))); + _df0332 = vec3(float(_TMP61.x), float(_TMP61.y), float(_TMP61.z)); + _TMP52 = _df0332.x + _df0332.y + _df0332.z; + _TMP53 = float((_TMP52 >= _TMP51)); + _res = _res1 + _TMP53*(_res2 - _res1); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/5xBR-v3.8c.glsl b/ios/Assets/shaders_glsl/xBR/5xBR-v3.8c.glsl new file mode 100644 index 0000000000..ad9d5a2476 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/5xBR-v3.8c.glsl @@ -0,0 +1,622 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP57; +float _TMP56; +float _TMP55; +vec3 _TMP65; +vec3 _TMP54; +vec3 _TMP53; +vec3 _TMP52; +vec3 _TMP51; +vec3 _TMP50; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec4 _TMP46; +vec4 _TMP39; +vec4 _TMP38; +vec4 _TMP66; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP64; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0080; +vec4 _r0124; +vec4 _r0134; +vec4 _r0144; +vec4 _r0154; +vec4 _r0164; +vec4 _r0174; +vec4 _TMP185; +vec4 _a0188; +vec4 _TMP191; +vec4 _a0194; +vec4 _TMP197; +vec4 _a0200; +vec4 _TMP203; +vec4 _a0206; +vec4 _TMP209; +vec4 _a0212; +vec4 _TMP215; +vec4 _a0218; +vec4 _TMP221; +vec4 _a0224; +vec4 _TMP227; +vec4 _a0230; +vec4 _TMP233; +vec4 _a0236; +vec4 _TMP239; +vec4 _a0242; +vec4 _TMP245; +vec4 _a0248; +vec4 _x0252; +vec4 _TMP253; +vec4 _x0262; +vec4 _TMP263; +vec4 _x0272; +vec4 _TMP273; +vec4 _TMP281; +vec4 _a0284; +vec4 _TMP285; +vec4 _a0288; +vec4 _TMP289; +vec4 _a0292; +vec4 _TMP293; +vec4 _a0296; +vec4 _TMP297; +vec4 _a0300; +vec4 _TMP303; +vec4 _a0306; +vec4 _TMP307; +vec4 _a0310; +vec4 _TMP311; +vec4 _a0314; +vec4 _TMP315; +vec4 _a0318; +vec4 _TMP319; +vec4 _a0322; +vec4 _TMP323; +vec4 _a0326; +vec4 _TMP327; +vec4 _a0330; +vec4 _TMP331; +vec4 _a0334; +vec4 _TMP335; +vec4 _a0338; +vec4 _TMP339; +vec4 _a0342; +vec4 _TMP343; +vec4 _a0346; +float _t0352; +float _t0354; +vec3 _df0356; +vec3 _a0358; +vec3 _df0360; +vec3 _a0362; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0080 = TEX0.xy*TextureSize; + _fp = fract(_x0080); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP64 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.x = float(_TMP64); + _TMP64 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.y = float(_TMP64); + _TMP64 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.z = float(_TMP64); + _TMP64 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0124.w = float(_TMP64); + _b1 = vec4(float(_r0124.x), float(_r0124.y), float(_r0124.z), float(_r0124.w)); + _TMP64 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.x = float(_TMP64); + _TMP64 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.y = float(_TMP64); + _TMP64 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.z = float(_TMP64); + _TMP64 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0134.w = float(_TMP64); + _c3 = vec4(float(_r0134.x), float(_r0134.y), float(_r0134.z), float(_r0134.w)); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.x = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.y = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.z = float(_TMP64); + _TMP64 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0144.w = float(_TMP64); + _e1 = vec4(float(_r0144.x), float(_r0144.y), float(_r0144.z), float(_r0144.w)); + _TMP64 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.x = float(_TMP64); + _TMP64 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.y = float(_TMP64); + _TMP64 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.z = float(_TMP64); + _TMP64 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0154.w = float(_TMP64); + _i4 = vec4(float(_r0154.x), float(_r0154.y), float(_r0154.z), float(_r0154.w)); + _TMP64 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.x = float(_TMP64); + _TMP64 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.y = float(_TMP64); + _TMP64 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.z = float(_TMP64); + _TMP64 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0164.w = float(_TMP64); + _i5 = vec4(float(_r0164.x), float(_r0164.y), float(_r0164.z), float(_r0164.w)); + _TMP64 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.x = float(_TMP64); + _TMP64 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.y = float(_TMP64); + _TMP64 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.z = float(_TMP64); + _TMP64 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0174.w = float(_TMP64); + _h5 = vec4(float(_r0174.x), float(_r0174.y), float(_r0174.z), float(_r0174.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0188 = _b1.wxyz - _b1; + _TMP185 = abs(_a0188); + _TMP27 = bvec4(_TMP185.x < 1.50000000E+01, _TMP185.y < 1.50000000E+01, _TMP185.z < 1.50000000E+01, _TMP185.w < 1.50000000E+01); + _a0194 = _b1.wxyz - _c3; + _TMP191 = abs(_a0194); + _TMP28 = bvec4(_TMP191.x < 1.50000000E+01, _TMP191.y < 1.50000000E+01, _TMP191.z < 1.50000000E+01, _TMP191.w < 1.50000000E+01); + _a0200 = _b1.zwxy - _b1.yzwx; + _TMP197 = abs(_a0200); + _TMP29 = bvec4(_TMP197.x < 1.50000000E+01, _TMP197.y < 1.50000000E+01, _TMP197.z < 1.50000000E+01, _TMP197.w < 1.50000000E+01); + _a0206 = _b1.zwxy - _c3.zwxy; + _TMP203 = abs(_a0206); + _TMP30 = bvec4(_TMP203.x < 1.50000000E+01, _TMP203.y < 1.50000000E+01, _TMP203.z < 1.50000000E+01, _TMP203.w < 1.50000000E+01); + _a0212 = _e1 - _c3.wxyz; + _TMP209 = abs(_a0212); + _TMP31 = bvec4(_TMP209.x < 1.50000000E+01, _TMP209.y < 1.50000000E+01, _TMP209.z < 1.50000000E+01, _TMP209.w < 1.50000000E+01); + _a0218 = _b1.wxyz - _h5.yzwx; + _TMP215 = abs(_a0218); + _TMP32 = bvec4(_TMP215.x < 1.50000000E+01, _TMP215.y < 1.50000000E+01, _TMP215.z < 1.50000000E+01, _TMP215.w < 1.50000000E+01); + _a0224 = _b1.wxyz - _i4; + _TMP221 = abs(_a0224); + _TMP33 = bvec4(_TMP221.x < 1.50000000E+01, _TMP221.y < 1.50000000E+01, _TMP221.z < 1.50000000E+01, _TMP221.w < 1.50000000E+01); + _a0230 = _b1.zwxy - _h5; + _TMP227 = abs(_a0230); + _TMP34 = bvec4(_TMP227.x < 1.50000000E+01, _TMP227.y < 1.50000000E+01, _TMP227.z < 1.50000000E+01, _TMP227.w < 1.50000000E+01); + _a0236 = _b1.zwxy - _i5; + _TMP233 = abs(_a0236); + _TMP35 = bvec4(_TMP233.x < 1.50000000E+01, _TMP233.y < 1.50000000E+01, _TMP233.z < 1.50000000E+01, _TMP233.w < 1.50000000E+01); + _a0242 = _e1 - _c3.zwxy; + _TMP239 = abs(_a0242); + _TMP36 = bvec4(_TMP239.x < 1.50000000E+01, _TMP239.y < 1.50000000E+01, _TMP239.z < 1.50000000E+01, _TMP239.w < 1.50000000E+01); + _a0248 = _e1 - _c3; + _TMP245 = abs(_a0248); + _TMP37 = bvec4(_TMP245.x < 1.50000000E+01, _TMP245.y < 1.50000000E+01, _TMP245.z < 1.50000000E+01, _TMP245.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0252 = (_fx - vec4( 1.25000000E+00, 2.50000000E-01, -7.50000000E-01, 2.50000000E-01))/vec4( 5.00000000E-01, 5.00000000E-01, 5.00000000E-01, 5.00000000E-01); + _TMP66 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0252); + _TMP253 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP66); + _fx45 = _TMP253*_TMP253*(3.00000000E+00 - 2.00000000E+00*_TMP253); + _x0262 = (_fx_left - vec4( 7.50000000E-01, 7.50000000E-01, -7.50000000E-01, -2.50000000E-01))/vec4( 5.00000000E-01, 5.00000000E-01, 5.00000000E-01, 5.00000000E-01); + _TMP66 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0262); + _TMP263 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP66); + _fx30 = _TMP263*_TMP263*(3.00000000E+00 - 2.00000000E+00*_TMP263); + _x0272 = (_fx_up - vec4( 1.75000000E+00, -2.50000000E-01, -1.25000000E+00, 2.50000000E-01))/vec4( 5.00000000E-01, 5.00000000E-01, 5.00000000E-01, 5.00000000E-01); + _TMP66 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0272); + _TMP273 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP66); + _fx60 = _TMP273*_TMP273*(3.00000000E+00 - 2.00000000E+00*_TMP273); + _a0284 = _e1 - _c3; + _TMP281 = abs(_a0284); + _a0288 = _e1 - _c3.zwxy; + _TMP285 = abs(_a0288); + _a0292 = _c3.wxyz - _h5; + _TMP289 = abs(_a0292); + _a0296 = _c3.wxyz - _h5.yzwx; + _TMP293 = abs(_a0296); + _a0300 = _b1.zwxy - _b1.wxyz; + _TMP297 = abs(_a0300); + _TMP38 = _TMP281 + _TMP285 + _TMP289 + _TMP293 + 4.00000000E+00*_TMP297; + _a0306 = _b1.zwxy - _b1.yzwx; + _TMP303 = abs(_a0306); + _a0310 = _b1.zwxy - _i5; + _TMP307 = abs(_a0310); + _a0314 = _b1.wxyz - _i4; + _TMP311 = abs(_a0314); + _a0318 = _b1.wxyz - _b1; + _TMP315 = abs(_a0318); + _a0322 = _e1 - _c3.wxyz; + _TMP319 = abs(_a0322); + _TMP39 = _TMP303 + _TMP307 + _TMP311 + _TMP315 + 4.00000000E+00*_TMP319; + _edr = bvec4(_TMP38.x < _TMP39.x && _interp_restriction_lv1.x, _TMP38.y < _TMP39.y && _interp_restriction_lv1.y, _TMP38.z < _TMP39.z && _interp_restriction_lv1.z, _TMP38.w < _TMP39.w && _interp_restriction_lv1.w); + _a0326 = _b1.wxyz - _c3.zwxy; + _TMP323 = abs(_a0326); + _a0330 = _b1.zwxy - _c3; + _TMP327 = abs(_a0330); + _edr_left = bvec4((2.00000000E+00*_TMP323).x <= _TMP327.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP323).y <= _TMP327.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP323).z <= _TMP327.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP323).w <= _TMP327.w && _interp_restriction_lv2_left.w); + _a0334 = _b1.wxyz - _c3.zwxy; + _TMP331 = abs(_a0334); + _a0338 = _b1.zwxy - _c3; + _TMP335 = abs(_a0338); + _edr_up = bvec4(_TMP331.x >= (2.00000000E+00*_TMP335).x && _interp_restriction_lv2_up.x, _TMP331.y >= (2.00000000E+00*_TMP335).y && _interp_restriction_lv2_up.y, _TMP331.z >= (2.00000000E+00*_TMP335).z && _interp_restriction_lv2_up.z, _TMP331.w >= (2.00000000E+00*_TMP335).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0342 = _e1 - _b1.wxyz; + _TMP339 = abs(_a0342); + _a0346 = _e1 - _b1.zwxy; + _TMP343 = abs(_a0346); + _px = bvec4(_TMP339.x <= _TMP343.x, _TMP339.y <= _TMP343.y, _TMP339.z <= _TMP343.z, _TMP339.w <= _TMP343.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP46 = max(_final30, _final60); + _maximo = max(_TMP46, _final45); + if (_nc.x) { + if (_px.x) { + _TMP47 = _F; + } else { + _TMP47 = _H; + } + _pix1 = _TMP47; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP48 = _B2; + } else { + _TMP48 = _F; + } + _pix1 = _TMP48; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP49 = _D; + } else { + _TMP49 = _B2; + } + _pix1 = _TMP49; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP50 = _H; + } else { + _TMP50 = _D; + } + _pix1 = _TMP50; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP51 = _H; + } else { + _TMP51 = _D; + } + _pix2 = _TMP51; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP52 = _D; + } else { + _TMP52 = _B2; + } + _pix2 = _TMP52; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP53 = _B2; + } else { + _TMP53 = _F; + } + _pix2 = _TMP53; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP54 = _F; + } else { + _TMP54 = _H; + } + _pix2 = _TMP54; + _blend2 = _maximo.x; + } + } + } + } + _t0352 = float(_blend1); + _res1 = _E + _t0352*(_pix1 - _E); + _t0354 = float(_blend2); + _res2 = _E + _t0354*(_pix2 - _E); + _a0358 = _E - _res1; + _TMP65 = abs(vec3(float(_a0358.x), float(_a0358.y), float(_a0358.z))); + _df0356 = vec3(float(_TMP65.x), float(_TMP65.y), float(_TMP65.z)); + _TMP55 = _df0356.x + _df0356.y + _df0356.z; + _a0362 = _E - _res2; + _TMP65 = abs(vec3(float(_a0362.x), float(_a0362.y), float(_a0362.z))); + _df0360 = vec3(float(_TMP65.x), float(_TMP65.y), float(_TMP65.z)); + _TMP56 = _df0360.x + _df0360.y + _df0360.z; + _TMP57 = float((_TMP56 >= _TMP55)); + _res = _res1 + _TMP57*(_res2 - _res1); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/5xBR-v4.0-NoBlend.glsl b/ios/Assets/shaders_glsl/xBR/5xBR-v4.0-NoBlend.glsl new file mode 100644 index 0000000000..2edd23d2b3 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/5xBR-v4.0-NoBlend.glsl @@ -0,0 +1,602 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +float _TMP66; +float _TMP65; +float _TMP64; +vec3 _TMP75; +vec3 _TMP56; +vec3 _TMP58; +vec3 _TMP60; +vec3 _TMP62; +vec3 _TMP63; +vec3 _TMP61; +vec3 _TMP59; +vec3 _TMP57; +vec3 _TMP48; +vec3 _TMP50; +vec3 _TMP52; +vec3 _TMP54; +vec3 _TMP55; +vec3 _TMP53; +vec3 _TMP51; +vec3 _TMP49; +vec4 _TMP41; +vec4 _TMP40; +bvec4 _TMP39; +bvec4 _TMP38; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP74; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0089; +vec4 _r0133; +vec4 _r0143; +vec4 _r0153; +vec4 _r0163; +vec4 _r0173; +vec4 _r0183; +vec4 _TMP194; +vec4 _a0197; +vec4 _TMP200; +vec4 _a0203; +vec4 _TMP206; +vec4 _a0209; +vec4 _TMP212; +vec4 _a0215; +vec4 _TMP218; +vec4 _a0221; +vec4 _TMP224; +vec4 _a0227; +vec4 _TMP230; +vec4 _a0233; +vec4 _TMP236; +vec4 _a0239; +vec4 _TMP242; +vec4 _a0245; +vec4 _TMP248; +vec4 _a0251; +vec4 _TMP254; +vec4 _a0257; +vec4 _TMP260; +vec4 _a0263; +vec4 _TMP266; +vec4 _a0269; +vec4 _TMP272; +vec4 _a0275; +vec4 _TMP276; +vec4 _a0279; +vec4 _TMP280; +vec4 _a0283; +vec4 _TMP284; +vec4 _a0287; +vec4 _TMP288; +vec4 _a0291; +vec4 _TMP294; +vec4 _a0297; +vec4 _TMP298; +vec4 _a0301; +vec4 _TMP302; +vec4 _a0305; +vec4 _TMP306; +vec4 _a0309; +vec4 _TMP310; +vec4 _a0313; +vec4 _TMP314; +vec4 _a0317; +vec4 _TMP318; +vec4 _a0321; +vec4 _TMP322; +vec4 _a0325; +vec4 _TMP326; +vec4 _a0329; +vec4 _TMP330; +vec4 _a0333; +vec4 _TMP334; +vec4 _a0337; +vec3 _df0339; +vec3 _a0341; +vec3 _df0343; +vec3 _a0345; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _interp_restriction_lv3_left; + bvec4 _interp_restriction_lv3_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + bvec4 _fx3_left; + bvec4 _fx3_up; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A3; + vec3 _B3; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec3 _res; + _x0089 = TEX0.xy*TextureSize; + _fp = fract(_x0089); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A3 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B3 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP74 = dot(vec3(float(_B3.x), float(_B3.y), float(_B3.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.x = float(_TMP74); + _TMP74 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.y = float(_TMP74); + _TMP74 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.z = float(_TMP74); + _TMP74 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.w = float(_TMP74); + _b1 = vec4(float(_r0133.x), float(_r0133.y), float(_r0133.z), float(_r0133.w)); + _TMP74 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.x = float(_TMP74); + _TMP74 = dot(vec3(float(_A3.x), float(_A3.y), float(_A3.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.y = float(_TMP74); + _TMP74 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.z = float(_TMP74); + _TMP74 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.w = float(_TMP74); + _c3 = vec4(float(_r0143.x), float(_r0143.y), float(_r0143.z), float(_r0143.w)); + _TMP74 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.x = float(_TMP74); + _TMP74 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.y = float(_TMP74); + _TMP74 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.z = float(_TMP74); + _TMP74 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.w = float(_TMP74); + _e1 = vec4(float(_r0153.x), float(_r0153.y), float(_r0153.z), float(_r0153.w)); + _TMP74 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.x = float(_TMP74); + _TMP74 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.y = float(_TMP74); + _TMP74 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.z = float(_TMP74); + _TMP74 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.w = float(_TMP74); + _i4 = vec4(float(_r0163.x), float(_r0163.y), float(_r0163.z), float(_r0163.w)); + _TMP74 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.x = float(_TMP74); + _TMP74 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.y = float(_TMP74); + _TMP74 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.z = float(_TMP74); + _TMP74 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.w = float(_TMP74); + _i5 = vec4(float(_r0173.x), float(_r0173.y), float(_r0173.z), float(_r0173.w)); + _TMP74 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0183.x = float(_TMP74); + _TMP74 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0183.y = float(_TMP74); + _TMP74 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0183.z = float(_TMP74); + _TMP74 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0183.w = float(_TMP74); + _h5 = vec4(float(_r0183.x), float(_r0183.y), float(_r0183.z), float(_r0183.w)); + _fx = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).x > 1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).y > 5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).w > 5.00000000E-01); + _fx_left = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).x > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).y > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).w > 0.00000000E+00); + _fx_up = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).x > 2.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).y > 0.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).z > -1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).w > 5.00000000E-01); + _fx3_left = bvec4((vec4( 6.00000000E+00, -2.00000000E+00, -6.00000000E+00, 2.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 6.00000000E+00, -2.00000000E+00, -6.00000000E+00)*_fp.x).x > 5.00000000E+00, (vec4( 6.00000000E+00, -2.00000000E+00, -6.00000000E+00, 2.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 6.00000000E+00, -2.00000000E+00, -6.00000000E+00)*_fp.x).y > 3.00000000E+00, (vec4( 6.00000000E+00, -2.00000000E+00, -6.00000000E+00, 2.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 6.00000000E+00, -2.00000000E+00, -6.00000000E+00)*_fp.x).z > -3.00000000E+00, (vec4( 6.00000000E+00, -2.00000000E+00, -6.00000000E+00, 2.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 6.00000000E+00, -2.00000000E+00, -6.00000000E+00)*_fp.x).w > -1.00000000E+00); + _fx3_up = bvec4((vec4( 2.00000000E+00, -6.00000000E+00, -2.00000000E+00, 6.00000000E+00)*_fp.y + vec4( 6.00000000E+00, 2.00000000E+00, -6.00000000E+00, -2.00000000E+00)*_fp.x).x > 5.00000000E+00, (vec4( 2.00000000E+00, -6.00000000E+00, -2.00000000E+00, 6.00000000E+00)*_fp.y + vec4( 6.00000000E+00, 2.00000000E+00, -6.00000000E+00, -2.00000000E+00)*_fp.x).y > -1.00000000E+00, (vec4( 2.00000000E+00, -6.00000000E+00, -2.00000000E+00, 6.00000000E+00)*_fp.y + vec4( 6.00000000E+00, 2.00000000E+00, -6.00000000E+00, -2.00000000E+00)*_fp.x).z > -3.00000000E+00, (vec4( 2.00000000E+00, -6.00000000E+00, -2.00000000E+00, 6.00000000E+00)*_fp.y + vec4( 6.00000000E+00, 2.00000000E+00, -6.00000000E+00, -2.00000000E+00)*_fp.x).w > 3.00000000E+00); + _a0197 = _b1.wxyz - _b1; + _TMP194 = abs(_a0197); + _TMP27 = bvec4(_TMP194.x < 1.00000000E+01, _TMP194.y < 1.00000000E+01, _TMP194.z < 1.00000000E+01, _TMP194.w < 1.00000000E+01); + _a0203 = _b1.zwxy - _b1.yzwx; + _TMP200 = abs(_a0203); + _TMP28 = bvec4(_TMP200.x < 1.00000000E+01, _TMP200.y < 1.00000000E+01, _TMP200.z < 1.00000000E+01, _TMP200.w < 1.00000000E+01); + _a0209 = _e1 - _c3.wxyz; + _TMP206 = abs(_a0209); + _TMP29 = bvec4(_TMP206.x < 1.00000000E+01, _TMP206.y < 1.00000000E+01, _TMP206.z < 1.00000000E+01, _TMP206.w < 1.00000000E+01); + _a0215 = _b1.wxyz - _i4; + _TMP212 = abs(_a0215); + _TMP30 = bvec4(_TMP212.x < 1.00000000E+01, _TMP212.y < 1.00000000E+01, _TMP212.z < 1.00000000E+01, _TMP212.w < 1.00000000E+01); + _a0221 = _b1.zwxy - _i5; + _TMP218 = abs(_a0221); + _TMP31 = bvec4(_TMP218.x < 1.00000000E+01, _TMP218.y < 1.00000000E+01, _TMP218.z < 1.00000000E+01, _TMP218.w < 1.00000000E+01); + _a0227 = _e1 - _c3.zwxy; + _TMP224 = abs(_a0227); + _TMP32 = bvec4(_TMP224.x < 1.00000000E+01, _TMP224.y < 1.00000000E+01, _TMP224.z < 1.00000000E+01, _TMP224.w < 1.00000000E+01); + _a0233 = _e1 - _c3; + _TMP230 = abs(_a0233); + _TMP33 = bvec4(_TMP230.x < 1.00000000E+01, _TMP230.y < 1.00000000E+01, _TMP230.z < 1.00000000E+01, _TMP230.w < 1.00000000E+01); + _a0239 = _b1 - _i4.yzwx; + _TMP236 = abs(_a0239); + _TMP34 = bvec4(_TMP236.x < 1.00000000E+01, _TMP236.y < 1.00000000E+01, _TMP236.z < 1.00000000E+01, _TMP236.w < 1.00000000E+01); + _a0245 = _b1.yzwx - _i5.wxyz; + _TMP242 = abs(_a0245); + _TMP35 = bvec4(_TMP242.x < 1.00000000E+01, _TMP242.y < 1.00000000E+01, _TMP242.z < 1.00000000E+01, _TMP242.w < 1.00000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || _TMP29.x && !_TMP30.x && !_TMP31.x || _TMP32.x || _TMP33.x) && (_b1.w != _h5.y && _b1.w != _c3.w || _b1.z != _h5.x && _b1.z != _c3.w || _b1.z != _c3.z || _b1.w != _c3.x || _TMP34.x && _TMP35.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || _TMP29.y && !_TMP30.y && !_TMP31.y || _TMP32.y || _TMP33.y) && (_b1.x != _h5.z && _b1.x != _c3.x || _b1.w != _h5.y && _b1.w != _c3.x || _b1.w != _c3.w || _b1.x != _c3.y || _TMP34.y && _TMP35.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || _TMP29.z && !_TMP30.z && !_TMP31.z || _TMP32.z || _TMP33.z) && (_b1.y != _h5.w && _b1.y != _c3.y || _b1.x != _h5.z && _b1.x != _c3.y || _b1.x != _c3.x || _b1.y != _c3.z || _TMP34.z && _TMP35.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || _TMP29.w && !_TMP30.w && !_TMP31.w || _TMP32.w || _TMP33.w) && (_b1.z != _h5.x && _b1.z != _c3.z || _b1.y != _h5.w && _b1.y != _c3.z || _b1.y != _c3.y || _b1.z != _c3.w || _TMP34.w && _TMP35.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _a0251 = _c3.zwxy - _i5.wxyz; + _TMP248 = abs(_a0251); + _TMP36 = bvec4(_TMP248.x < 2.00000000E+00, _TMP248.y < 2.00000000E+00, _TMP248.z < 2.00000000E+00, _TMP248.w < 2.00000000E+00); + _a0257 = _h5.wxyz - _i5.wxyz; + _TMP254 = abs(_a0257); + _TMP37 = bvec4(_TMP254.x < 2.00000000E+00, _TMP254.y < 2.00000000E+00, _TMP254.z < 2.00000000E+00, _TMP254.w < 2.00000000E+00); + _interp_restriction_lv3_left = bvec4(_TMP36.x && !_TMP37.x, _TMP36.y && !_TMP37.y, _TMP36.z && !_TMP37.z, _TMP36.w && !_TMP37.w); + _a0263 = _c3 - _i4.yzwx; + _TMP260 = abs(_a0263); + _TMP38 = bvec4(_TMP260.x < 2.00000000E+00, _TMP260.y < 2.00000000E+00, _TMP260.z < 2.00000000E+00, _TMP260.w < 2.00000000E+00); + _a0269 = _h5.zwxy - _i4.yzwx; + _TMP266 = abs(_a0269); + _TMP39 = bvec4(_TMP266.x < 2.00000000E+00, _TMP266.y < 2.00000000E+00, _TMP266.z < 2.00000000E+00, _TMP266.w < 2.00000000E+00); + _interp_restriction_lv3_up = bvec4(_TMP38.x && !_TMP39.x, _TMP38.y && !_TMP39.y, _TMP38.z && !_TMP39.z, _TMP38.w && !_TMP39.w); + _a0275 = _e1 - _c3; + _TMP272 = abs(_a0275); + _a0279 = _e1 - _c3.zwxy; + _TMP276 = abs(_a0279); + _a0283 = _c3.wxyz - _h5; + _TMP280 = abs(_a0283); + _a0287 = _c3.wxyz - _h5.yzwx; + _TMP284 = abs(_a0287); + _a0291 = _b1.zwxy - _b1.wxyz; + _TMP288 = abs(_a0291); + _TMP40 = _TMP272 + _TMP276 + _TMP280 + _TMP284 + 4.00000000E+00*_TMP288; + _a0297 = _b1.zwxy - _b1.yzwx; + _TMP294 = abs(_a0297); + _a0301 = _b1.zwxy - _i5; + _TMP298 = abs(_a0301); + _a0305 = _b1.wxyz - _i4; + _TMP302 = abs(_a0305); + _a0309 = _b1.wxyz - _b1; + _TMP306 = abs(_a0309); + _a0313 = _e1 - _c3.wxyz; + _TMP310 = abs(_a0313); + _TMP41 = _TMP294 + _TMP298 + _TMP302 + _TMP306 + 4.00000000E+00*_TMP310; + _edr = bvec4(_TMP40.x < _TMP41.x && _interp_restriction_lv1.x, _TMP40.y < _TMP41.y && _interp_restriction_lv1.y, _TMP40.z < _TMP41.z && _interp_restriction_lv1.z, _TMP40.w < _TMP41.w && _interp_restriction_lv1.w); + _a0317 = _b1.wxyz - _c3.zwxy; + _TMP314 = abs(_a0317); + _a0321 = _b1.zwxy - _c3; + _TMP318 = abs(_a0321); + _edr_left = bvec4((2.00000000E+00*_TMP314).x <= _TMP318.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP314).y <= _TMP318.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP314).z <= _TMP318.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP314).w <= _TMP318.w && _interp_restriction_lv2_left.w); + _a0325 = _b1.wxyz - _c3.zwxy; + _TMP322 = abs(_a0325); + _a0329 = _b1.zwxy - _c3; + _TMP326 = abs(_a0329); + _edr_up = bvec4(_TMP322.x >= (2.00000000E+00*_TMP326).x && _interp_restriction_lv2_up.x, _TMP322.y >= (2.00000000E+00*_TMP326).y && _interp_restriction_lv2_up.y, _TMP322.z >= (2.00000000E+00*_TMP326).z && _interp_restriction_lv2_up.z, _TMP322.w >= (2.00000000E+00*_TMP326).w && _interp_restriction_lv2_up.w); + _nc = bvec4(_edr.x && (_fx.x || _edr_left.x && (_fx_left.x || _interp_restriction_lv3_left.x && _fx3_left.x) || _edr_up.x && (_fx_up.x || _interp_restriction_lv3_up.x && _fx3_up.x)), _edr.y && (_fx.y || _edr_left.y && (_fx_left.y || _interp_restriction_lv3_left.y && _fx3_left.y) || _edr_up.y && (_fx_up.y || _interp_restriction_lv3_up.y && _fx3_up.y)), _edr.z && (_fx.z || _edr_left.z && (_fx_left.z || _interp_restriction_lv3_left.z && _fx3_left.z) || _edr_up.z && (_fx_up.z || _interp_restriction_lv3_up.z && _fx3_up.z)), _edr.w && (_fx.w || _edr_left.w && (_fx_left.w || _interp_restriction_lv3_left.w && _fx3_left.w) || _edr_up.w && (_fx_up.w || _interp_restriction_lv3_up.w && _fx3_up.w))); + _a0333 = _e1 - _b1.wxyz; + _TMP330 = abs(_a0333); + _a0337 = _e1 - _b1.zwxy; + _TMP334 = abs(_a0337); + _px = bvec4(_TMP330.x <= _TMP334.x, _TMP330.y <= _TMP334.y, _TMP330.z <= _TMP334.z, _TMP330.w <= _TMP334.w); + if (_nc.x) { + if (_px.x) { + _TMP49 = _F; + } else { + _TMP49 = _H; + } + _TMP48 = _TMP49; + } else { + if (_nc.y) { + if (_px.y) { + _TMP51 = _B3; + } else { + _TMP51 = _F; + } + _TMP50 = _TMP51; + } else { + if (_nc.z) { + if (_px.z) { + _TMP53 = _D; + } else { + _TMP53 = _B3; + } + _TMP52 = _TMP53; + } else { + if (_nc.w) { + if (_px.w) { + _TMP55 = _H; + } else { + _TMP55 = _D; + } + _TMP54 = _TMP55; + } else { + _TMP54 = _E; + } + _TMP52 = _TMP54; + } + _TMP50 = _TMP52; + } + _TMP48 = _TMP50; + } + if (_nc.w) { + if (_px.w) { + _TMP57 = _H; + } else { + _TMP57 = _D; + } + _TMP56 = _TMP57; + } else { + if (_nc.z) { + if (_px.z) { + _TMP59 = _D; + } else { + _TMP59 = _B3; + } + _TMP58 = _TMP59; + } else { + if (_nc.y) { + if (_px.y) { + _TMP61 = _B3; + } else { + _TMP61 = _F; + } + _TMP60 = _TMP61; + } else { + if (_nc.x) { + if (_px.x) { + _TMP63 = _F; + } else { + _TMP63 = _H; + } + _TMP62 = _TMP63; + } else { + _TMP62 = _E; + } + _TMP60 = _TMP62; + } + _TMP58 = _TMP60; + } + _TMP56 = _TMP58; + } + _a0341 = _E - _TMP48; + _TMP75 = abs(vec3(float(_a0341.x), float(_a0341.y), float(_a0341.z))); + _df0339 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP64 = _df0339.x + _df0339.y + _df0339.z; + _a0345 = _E - _TMP56; + _TMP75 = abs(vec3(float(_a0345.x), float(_a0345.y), float(_a0345.z))); + _df0343 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP65 = _df0343.x + _df0343.y + _df0343.z; + _TMP66 = float((_TMP65 >= _TMP64)); + _res = _TMP48 + _TMP66*(_TMP56 - _TMP48); + _ret_0 = vec4(float(_res.x), float(_res.y), float(_res.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/5xBR.glsl b/ios/Assets/shaders_glsl/xBR/5xBR.glsl new file mode 100644 index 0000000000..79850168a8 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/5xBR.glsl @@ -0,0 +1,376 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT._t1.xy = vec2(0.00000000E+00, -_ps.y); + _OUT._t1.zw = vec2(-_ps.x, 0.00000000E+00); + _ret_0._position1 = _r0003; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = _r0003; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP16; +vec3 _TMP26; +vec3 _TMP36; +vec3 _TMP37; +vec3 _TMP38; +vec3 _TMP39; +vec3 _TMP27; +vec3 _TMP32; +vec3 _TMP33; +vec3 _TMP34; +vec3 _TMP35; +vec3 _TMP28; +vec3 _TMP29; +vec3 _TMP30; +vec3 _TMP31; +vec3 _TMP17; +vec3 _TMP22; +vec3 _TMP23; +vec3 _TMP24; +vec3 _TMP25; +vec3 _TMP18; +vec3 _TMP19; +vec3 _TMP20; +vec3 _TMP21; +float _TMP40; +float _TMP41; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +float _TMP7; +float _TMP6; +float _TMP5; +float _TMP4; +float _TMP3; +float _TMP2; +float _TMP1; +float _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0047; +vec2 _c0065; +vec2 _c0067; +vec2 _c0069; +vec2 _c0073; +vec2 _c0075; +vec2 _c0077; +vec2 _c0079; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec2 _g1; + vec2 _g2; + vec3 _B; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _E14; + vec3 _E19; + vec3 _E24; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + vec3 _res; + _x0047 = TEX0.xy*TextureSize; + _fp = fract(_x0047); + _TMP0 = float((_fp.x >= 5.00000000E-01)); + _TMP1 = float((_fp.y >= 5.00000000E-01)); + _TMP2 = float((_fp.x >= 5.00000000E-01)); + _TMP3 = float((_fp.y >= 5.00000000E-01)); + _g1 = TEX1.xy*((_TMP0 + _TMP1) - 1.00000000E+00) + TEX1.zw*(_TMP2 - _TMP3); + _TMP4 = float((_fp.y >= 5.00000000E-01)); + _TMP5 = float((_fp.x >= 5.00000000E-01)); + _TMP6 = float((_fp.x >= 5.00000000E-01)); + _TMP7 = float((_fp.y >= 5.00000000E-01)); + _g2 = TEX1.xy*(_TMP4 - _TMP5) + TEX1.zw*((_TMP6 + _TMP7) - 1.00000000E+00); + _c0065 = TEX0.xy + _g1; + _TMP8 = texture2D(Texture, _c0065); + _B = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0067 = (TEX0.xy + _g1) - _g2; + _TMP9 = texture2D(Texture, _c0067); + _C = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0069 = TEX0.xy + _g2; + _TMP10 = texture2D(Texture, _c0069); + _D = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0073 = TEX0.xy - _g2; + _TMP12 = texture2D(Texture, _c0073); + _F = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0075 = (TEX0.xy - _g1) + _g2; + _TMP13 = texture2D(Texture, _c0075); + _G = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0077 = TEX0.xy - _g1; + _TMP14 = texture2D(Texture, _c0077); + _H = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0079 = (TEX0.xy - _g1) - _g2; + _TMP15 = texture2D(Texture, _c0079); + _I = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _E14 = _E; + _E19 = _E; + _E24 = _E; + _TMP41 = dot(vec3(float(_B.x), float(_B.y), float(_B.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _b = float(_TMP40); + _TMP41 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _c = float(_TMP40); + _TMP41 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _d = float(_TMP40); + _TMP41 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _e = float(_TMP40); + _TMP41 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _f = float(_TMP40); + _TMP41 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _g = float(_TMP40); + _TMP41 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _h = float(_TMP40); + _TMP41 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP40 = float(_TMP41); + _i = float(_TMP40); + if (_h == _f && _h != _e && (_e == _g && (_h == _i || _e == _d) || _e == _c && (_h == _i || _e == _b))) { + _E24 = _F; + _E19 = _E + 8.75000000E-01*(_F - _E); + _E14 = _E + 1.25000000E-01*(_F - _E); + } + if (_fp.x < 4.00000006E-01) { + if (_fp.x < 2.00000003E-01) { + if (_fp.y < 2.00000003E-01) { + _TMP18 = _E24; + } else { + if (_fp.y < 4.00000006E-01) { + _TMP19 = _E19; + } else { + if (_fp.y < 6.00000024E-01) { + _TMP20 = _E14; + } else { + if (_fp.y < 8.00000012E-01) { + _TMP21 = _E19; + } else { + _TMP21 = _E24; + } + _TMP20 = _TMP21; + } + _TMP19 = _TMP20; + } + _TMP18 = _TMP19; + } + _TMP17 = _TMP18; + } else { + if (_fp.y < 2.00000003E-01) { + _TMP22 = _E19; + } else { + if (_fp.y < 4.00000006E-01) { + _TMP23 = _E14; + } else { + if (_fp.y < 6.00000024E-01) { + _TMP24 = _E; + } else { + if (_fp.y < 8.00000012E-01) { + _TMP25 = _E14; + } else { + _TMP25 = _E19; + } + _TMP24 = _TMP25; + } + _TMP23 = _TMP24; + } + _TMP22 = _TMP23; + } + _TMP17 = _TMP22; + } + _TMP16 = _TMP17; + } else { + if (_fp.x < 8.00000012E-01) { + if (_fp.x < 6.00000024E-01) { + if (_fp.y < 2.00000003E-01) { + _TMP28 = _E14; + } else { + if (_fp.y < 4.00000006E-01) { + _TMP29 = _E; + } else { + if (_fp.y < 6.00000024E-01) { + _TMP30 = _E; + } else { + if (_fp.y < 8.00000012E-01) { + _TMP31 = _E; + } else { + _TMP31 = _E14; + } + _TMP30 = _TMP31; + } + _TMP29 = _TMP30; + } + _TMP28 = _TMP29; + } + _TMP27 = _TMP28; + } else { + if (_fp.y < 2.00000003E-01) { + _TMP32 = _E19; + } else { + if (_fp.y < 4.00000006E-01) { + _TMP33 = _E14; + } else { + if (_fp.y < 6.00000024E-01) { + _TMP34 = _E; + } else { + if (_fp.y < 8.00000012E-01) { + _TMP35 = _E14; + } else { + _TMP35 = _E19; + } + _TMP34 = _TMP35; + } + _TMP33 = _TMP34; + } + _TMP32 = _TMP33; + } + _TMP27 = _TMP32; + } + _TMP26 = _TMP27; + } else { + if (_fp.y < 2.00000003E-01) { + _TMP36 = _E24; + } else { + if (_fp.y < 4.00000006E-01) { + _TMP37 = _E19; + } else { + if (_fp.y < 6.00000024E-01) { + _TMP38 = _E14; + } else { + if (_fp.y < 8.00000012E-01) { + _TMP39 = _E19; + } else { + _TMP39 = _E24; + } + _TMP38 = _TMP39; + } + _TMP37 = _TMP38; + } + _TMP36 = _TMP37; + } + _TMP26 = _TMP36; + } + _TMP16 = _TMP26; + } + _res = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/2xBR-v2.1.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/2xBR-v2.1.glsl new file mode 100644 index 0000000000..412e0b9f2f --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/2xBR-v2.1.glsl @@ -0,0 +1,532 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0003; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec3 _TMP25; +vec3 _TMP27; +vec3 _TMP26; +float _TMP28; +float _TMP29; +vec4 _TMP24; +vec4 _TMP23; +vec4 _TMP22; +vec4 _TMP21; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _c0037; +vec2 _c0039; +vec2 _c0041; +vec2 _c0043; +vec2 _c0047; +vec2 _c0049; +vec2 _c0051; +vec2 _c0053; +vec2 _c0055; +vec2 _c0057; +vec2 _c0059; +vec2 _c0061; +vec2 _c0063; +vec2 _c0065; +vec2 _c0067; +vec2 _c0069; +vec2 _c0071; +vec2 _c0073; +vec2 _c0075; +vec2 _c0077; +vec2 _c0079; +vec2 _c0081; +vec2 _c0083; +vec2 _c0085; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _ps; + vec2 _dx; + vec2 _dy; + vec2 _pixcoord; + vec2 _fp; + vec2 _d11; + vec3 _A; + vec3 _B; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _P00; + vec3 _P04; + vec3 _P40; + vec3 _P44; + vec3 _A1; + vec3 _B1; + vec3 _C1; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _E0; + vec3 _E1; + vec3 _E2; + vec3 _E3; + float _a; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + float _p00; + float _p04; + float _p40; + float _p44; + float _a1; + float _b1; + float _c1; + float _a0; + float _d0; + float _g0; + float _c4; + float _f4; + float _i4; + float _g5; + float _h5; + float _i5; + vec3 _res; + output_dummy _OUT; + _ps = vec2(9.99899983E-01/TextureSize.x, 9.99899983E-01/TextureSize.y); + _dx = vec2(float(_ps.x), 0.00000000E+00); + _dy = vec2(0.00000000E+00, float(_ps.y)); + _pixcoord = TEX0.xy/_ps; + _fp = fract(_pixcoord); + _d11 = TEX0.xy - _fp*_ps; + _c0037 = (_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP0 = texture2D(Texture, _c0037); + _A = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0039 = _d11 - vec2(float(_dy.x), float(_dy.y)); + _TMP1 = texture2D(Texture, _c0039); + _B = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0041 = (_d11 + vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP2 = texture2D(Texture, _c0041); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0043 = _d11 - vec2(float(_dx.x), float(_dx.y)); + _TMP3 = texture2D(Texture, _c0043); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, _d11); + _E = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0047 = _d11 + vec2(float(_dx.x), float(_dx.y)); + _TMP5 = texture2D(Texture, _c0047); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0049 = (_d11 - vec2(float(_dx.x), float(_dx.y))) + vec2(float(_dy.x), float(_dy.y)); + _TMP6 = texture2D(Texture, _c0049); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0051 = _d11 + vec2(float(_dy.x), float(_dy.y)); + _TMP7 = texture2D(Texture, _c0051); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0053 = _d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP8 = texture2D(Texture, _c0053); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0055 = (((_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP9 = texture2D(Texture, _c0055); + _P00 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0057 = ((_d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP10 = texture2D(Texture, _c0057); + _P04 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0059 = ((_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dx.x), float(_dx.y))) + vec2(float(_dy.x), float(_dy.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP11 = texture2D(Texture, _c0059); + _P40 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0061 = _d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dy.x), float(_dy.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP12 = texture2D(Texture, _c0061); + _P44 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0063 = ((_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP13 = texture2D(Texture, _c0063); + _A1 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0065 = (_d11 - vec2(float(_dy.x), float(_dy.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP14 = texture2D(Texture, _c0065); + _B1 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0067 = ((_d11 + vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP15 = texture2D(Texture, _c0067); + _C1 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0069 = ((_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP16 = texture2D(Texture, _c0069); + _A0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _c0071 = (_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dx.x), float(_dx.y)); + _TMP17 = texture2D(Texture, _c0071); + _D0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _c0073 = ((_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dx.x), float(_dx.y))) + vec2(float(_dy.x), float(_dy.y)); + _TMP18 = texture2D(Texture, _c0073); + _G0 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _c0075 = (_d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP19 = texture2D(Texture, _c0075); + _C4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _c0077 = _d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dx.x), float(_dx.y)); + _TMP20 = texture2D(Texture, _c0077); + _F4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _c0079 = _d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP21 = texture2D(Texture, _c0079); + _I4 = vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)); + _c0081 = (_d11 - vec2(float(_dx.x), float(_dx.y))) + vec2(float(_dy.x), float(_dy.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP22 = texture2D(Texture, _c0081); + _G5 = vec3(float(_TMP22.x), float(_TMP22.y), float(_TMP22.z)); + _c0083 = _d11 + vec2(float(_dy.x), float(_dy.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP23 = texture2D(Texture, _c0083); + _H5 = vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)); + _c0085 = _d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dy.x), float(_dy.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP24 = texture2D(Texture, _c0085); + _I5 = vec3(float(_TMP24.x), float(_TMP24.y), float(_TMP24.z)); + _E0 = _E; + _E1 = _E; + _E2 = _E; + _E3 = _E; + _TMP29 = dot(vec3(float(_A.x), float(_A.y), float(_A.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _a = float(_TMP28); + _TMP29 = dot(vec3(float(_B.x), float(_B.y), float(_B.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _b = float(_TMP28); + _TMP29 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _c = float(_TMP28); + _TMP29 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _d = float(_TMP28); + _TMP29 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _e = float(_TMP28); + _TMP29 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _f = float(_TMP28); + _TMP29 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _g = float(_TMP28); + _TMP29 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _h = float(_TMP28); + _TMP29 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _i = float(_TMP28); + _TMP29 = dot(vec3(float(_P00.x), float(_P00.y), float(_P00.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _p00 = float(_TMP28); + _TMP29 = dot(vec3(float(_P04.x), float(_P04.y), float(_P04.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _p04 = float(_TMP28); + _TMP29 = dot(vec3(float(_P40.x), float(_P40.y), float(_P40.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _p40 = float(_TMP28); + _TMP29 = dot(vec3(float(_P44.x), float(_P44.y), float(_P44.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _p44 = float(_TMP28); + _TMP29 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _a1 = float(_TMP28); + _TMP29 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _b1 = float(_TMP28); + _TMP29 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _c1 = float(_TMP28); + _TMP29 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _a0 = float(_TMP28); + _TMP29 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _d0 = float(_TMP28); + _TMP29 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _g0 = float(_TMP28); + _TMP29 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _c4 = float(_TMP28); + _TMP29 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _f4 = float(_TMP28); + _TMP29 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _i4 = float(_TMP28); + _TMP29 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _g5 = float(_TMP28); + _TMP29 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _h5 = float(_TMP28); + _TMP29 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP28 = float(_TMP29); + _i5 = float(_TMP28); + if (_e != _h && _h == _f && (_e != _i && (_e != _b || _e != _d || _f != _b && _f != _c || _h != _d && _h != _g) || _e == _g && (_i == _h || _e == _d || _h != _d) || _e == _c && (_i == _h || _e == _b || _f != _b))) { + if (_e == _c && _e == _d && _h == _g) { + if (_d == _d0 && _g == _g0) { + _E3 = _E + 8.33496094E-01*(_H - _E); + _E2 = _E + 5.00000000E-01*(_H - _E); + } else { + _E3 = _E + 7.50000000E-01*(_H - _E); + _E2 = (_E + _H) - _E3; + } + } else { + if (_e == _g && _e == _b && _f == _c) { + if (_b == _b1 && _c == _c1) { + _E3 = _E + 8.33496094E-01*(_F - _E); + _E1 = _E + 5.00000000E-01*(_F - _E); + } else { + _E3 = _E + 7.50000000E-01*(_F - _E); + _E1 = (_E + _F) - _E3; + } + } else { + _E3 = _E + 5.00000000E-01*(_F - _E); + } + } + } else { + if (_e != _h && _e != _i && _e != _f && _e == _g && _e == _c) { + _E3 = _E + 5.00000000E-01*(_F - _E); + } else { + if (_f != _i && _i == _f4 && (_f != _i4 || _i != _p44) && _f == _c4 && _f == _e && _i == _h && _e == _d && _h == _g) { + _E3 = _E + 2.50000000E-01*(_H - _E); + } else { + if (_h != _i && _i == _h5 && (_h != _i5 || _i != _p44) && _h == _g5 && _h == _e && _i == _f && _e == _b && _f == _c) { + _E3 = _E + 2.50000000E-01*(_F - _E); + } + } + } + } + if (_e != _f && _f == _b && (_e != _c && (_e != _d || _e != _h || _b != _d && _b != _a || _f != _h && _f != _i) || _e == _i && (_c == _f || _e == _h || _f != _h) || _e == _a && (_c == _f || _e == _d || _b != _d))) { + if (_e == _a && _e == _h && _f == _i) { + if (_h == _h5 && _i == _i5) { + _E1 = _E1 + 8.33496094E-01*(_F - _E1); + _E3 = _E3 + 5.00000000E-01*(_F - _E3); + } else { + _E1 = _E1 + 7.50000000E-01*(_F - _E1); + _E3 = (_E3 + _F) - _E1; + } + } else { + if (_e == _i && _e == _d && _b == _a) { + if (_d == _d0 && _a == _a0) { + _E1 = _E1 + 8.33496094E-01*(_B - _E1); + _E0 = _E + 5.00000000E-01*(_B - _E); + } else { + _E1 = _E1 + 7.50000000E-01*(_B - _E1); + _E0 = (_E + _B) - _E1; + } + } else { + _E1 = _E1 + 5.00000000E-01*(_B - _E1); + } + } + } else { + if (_e != _f && _e != _c && _e != _b && _e == _i && _e == _a) { + _E1 = _E1 + 5.00000000E-01*(_B - _E1); + } else { + if (_b != _c && _c == _b1 && (_b != _c1 || _c != _p04) && _b == _a1 && _b == _e && _c == _f && _e == _h && _f == _i) { + _E1 = _E1 + 2.50000000E-01*(_F - _E1); + } else { + if (_f != _c && _c == _f4 && (_f != _c4 || _c != _p04) && _f == _i4 && _f == _e && _c == _b && _e == _d && _b == _a) { + _E1 = _E1 + 2.50000000E-01*(_B - _E1); + } + } + } + } + if (_e != _b && _b == _d && (_e != _a && (_e != _h || _e != _f || _d != _h && _d != _g || _b != _f && _b != _c) || _e == _c && (_a == _b || _e == _f || _b != _f) || _e == _g && (_a == _b || _e == _h || _d != _h))) { + if (_e == _g && _e == _f && _b == _c) { + if (_f == _f4 && _c == _c4) { + _E0 = _E0 + 8.33496094E-01*(_B - _E0); + _E1 = _E1 + 5.00000000E-01*(_B - _E1); + } else { + _E0 = _E0 + 7.50000000E-01*(_B - _E0); + _E1 = (_E1 + _B) - _E0; + } + } else { + if (_e == _c && _e == _h && _d == _g) { + if (_h == _h5 && _g == _g5) { + _E0 = _E0 + 8.33496094E-01*(_D - _E0); + _E2 = _E2 + 5.00000000E-01*(_D - _E2); + } else { + _E0 = _E0 + 7.50000000E-01*(_D - _E0); + _E2 = (_E2 + _D) - _E0; + } + } else { + _E0 = _E0 + 5.00000000E-01*(_D - _E0); + } + } + } else { + if (_e != _b && _e != _a && _e != _d && _e == _c && _e == _g) { + _E0 = _E0 + 5.00000000E-01*(_D - _E0); + } else { + if (_d != _a && _a == _d0 && (_d != _a0 || _a != _p00) && _d == _g0 && _d == _e && _a == _b && _e == _f && _b == _c) { + _E0 = _E0 + 2.50000000E-01*(_B - _E0); + } else { + if (_b != _a && _a == _b1 && (_b != _a1 || _a != _p00) && _b == _c1 && _b == _e && _a == _d && _e == _h && _d == _g) { + _E0 = _E0 + 2.50000000E-01*(_D - _E0); + } + } + } + } + if (_e != _d && _d == _h && (_e != _g && (_e != _f || _e != _b || _h != _f && _h != _i || _d != _b && _d != _a) || _e == _a && (_g == _d || _e == _b || _d != _b) || _e == _i && (_g == _d || _e == _f || _h != _f))) { + if (_e == _i && _e == _b && _d == _a) { + if (_b == _b1 && _a == _a1) { + _E2 = _E2 + 8.33496094E-01*(_D - _E2); + _E0 = _E0 + 5.00000000E-01*(_D - _E0); + } else { + _E2 = _E2 + 7.50000000E-01*(_D - _E2); + _E0 = (_E0 + _D) - _E2; + } + } else { + if (_e == _a && _e == _f && _h == _i) { + if (_f == _f4 && _i == _i4) { + _E2 = _E2 + 8.33496094E-01*(_H - _E2); + _E3 = _E3 + 5.00000000E-01*(_H - _E3); + } else { + _E2 = _E2 + 7.50000000E-01*(_H - _E2); + _E3 = (_E3 + _H) - _E2; + } + } else { + _E2 = _E2 + 5.00000000E-01*(_H - _E2); + } + } + } else { + if (_e != _d && _e != _g && _e != _h && _e == _a && _e == _i) { + _E2 = _E2 + 5.00000000E-01*(_H - _E2); + } else { + if (_h != _g && _g == _h5 && (_h != _g5 || _g != _p40) && _h == _i5 && _h == _e && _g == _d && _e == _b && _d == _a) { + _E2 = _E2 + 2.50000000E-01*(_D - _E2); + } else { + if (_d != _g && _g == _d0 && (_d != _g0 || _g != _p40) && _d == _a0 && _d == _e && _g == _h && _e == _f && _h == _i) { + _E2 = _E2 + 2.50000000E-01*(_H - _E2); + } + } + } + } + if (_fp.x < 5.00000000E-01) { + if (_fp.y < 5.00000000E-01) { + _TMP26 = _E0; + } else { + _TMP26 = _E2; + } + _TMP25 = _TMP26; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP27 = _E1; + } else { + _TMP27 = _E3; + } + _TMP25 = _TMP27; + } + _res = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _OUT._color1 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _OUT._color1; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/2xBR-v2.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/2xBR-v2.glsl new file mode 100644 index 0000000000..adeecfdccd --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/2xBR-v2.glsl @@ -0,0 +1,300 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0003; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec3 _TMP13; +vec3 _TMP15; +vec3 _TMP14; +float _TMP16; +float _TMP17; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _c0025; +vec2 _c0027; +vec2 _c0029; +vec2 _c0031; +vec2 _c0035; +vec2 _c0037; +vec2 _c0039; +vec2 _c0041; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _ps; + vec2 _dx; + vec2 _dy; + vec2 _pixcoord; + vec2 _fp; + vec2 _d11; + vec3 _A; + vec3 _B; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _E0; + vec3 _E1; + vec3 _E2; + vec3 _E3; + float _a; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + vec3 _res; + output_dummy _OUT; + _ps = vec2(9.99899983E-01/TextureSize.x, 9.99899983E-01/TextureSize.y); + _dx = vec2(float(_ps.x), 0.00000000E+00); + _dy = vec2(0.00000000E+00, float(_ps.y)); + _pixcoord = TEX0.xy/_ps; + _fp = fract(_pixcoord); + _d11 = TEX0.xy - _fp*_ps; + _c0025 = (_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP0 = texture2D(Texture, _c0025); + _A = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0027 = _d11 - vec2(float(_dy.x), float(_dy.y)); + _TMP1 = texture2D(Texture, _c0027); + _B = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0029 = (_d11 + vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP2 = texture2D(Texture, _c0029); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0031 = _d11 - vec2(float(_dx.x), float(_dx.y)); + _TMP3 = texture2D(Texture, _c0031); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, _d11); + _E = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0035 = _d11 + vec2(float(_dx.x), float(_dx.y)); + _TMP5 = texture2D(Texture, _c0035); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0037 = (_d11 - vec2(float(_dx.x), float(_dx.y))) + vec2(float(_dy.x), float(_dy.y)); + _TMP6 = texture2D(Texture, _c0037); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0039 = _d11 + vec2(float(_dy.x), float(_dy.y)); + _TMP7 = texture2D(Texture, _c0039); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0041 = _d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP8 = texture2D(Texture, _c0041); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _E0 = _E; + _E1 = _E; + _E2 = _E; + _E3 = _E; + _TMP17 = dot(vec3(float(_A.x), float(_A.y), float(_A.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _a = float(_TMP16); + _TMP17 = dot(vec3(float(_B.x), float(_B.y), float(_B.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _b = float(_TMP16); + _TMP17 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _c = float(_TMP16); + _TMP17 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _d = float(_TMP16); + _TMP17 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _e = float(_TMP16); + _TMP17 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _f = float(_TMP16); + _TMP17 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _g = float(_TMP16); + _TMP17 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _h = float(_TMP16); + _TMP17 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP16 = float(_TMP17); + _i = float(_TMP16); + if (_e != _h && _h == _f && (_e != _i && (_e != _b || _e != _d || _f != _b && _f != _c || _h != _d && _h != _g) || _e == _g && (_i == _h || _e == _d || _h != _d) || _e == _c && (_i == _h || _e == _b || _f != _b))) { + if (_e == _c && _e == _d && _h == _g) { + _E3 = _E + 7.50000000E-01*(_H - _E); + _E2 = (_E + _H) - _E3; + } else { + if (_e == _g && _e == _b && _f == _c) { + _E3 = _E + 7.50000000E-01*(_F - _E); + _E1 = (_E + _F) - _E3; + } else { + _E3 = _E + 5.00000000E-01*(_F - _E); + } + } + } else { + if (_e != _h && _e != _i && _e != _f && _e == _g && _e == _c) { + _E3 = _E + 5.00000000E-01*(_F - _E); + } + } + if (_e != _f && _f == _b && (_e != _c && (_e != _d || _e != _h || _b != _d && _b != _a || _f != _h && _f != _i) || _e == _i && (_c == _f || _e == _h || _f != _h) || _e == _a && (_c == _f || _e == _d || _b != _d))) { + if (_e == _a && _e == _h && _f == _i) { + _E1 = _E1 + 7.50000000E-01*(_F - _E1); + _E3 = (_E3 + _F) - _E1; + } else { + if (_e == _i && _e == _d && _b == _a) { + _E1 = _E1 + 7.50000000E-01*(_B - _E1); + _E0 = (_E + _B) - _E1; + } else { + _E1 = _E1 + 5.00000000E-01*(_B - _E1); + } + } + } else { + if (_e != _f && _e != _c && _e != _b && _e == _i && _e == _a) { + _E1 = _E1 + 5.00000000E-01*(_B - _E1); + } + } + if (_e != _b && _b == _d && (_e != _a && (_e != _h || _e != _f || _d != _h && _d != _g || _b != _f && _b != _c) || _e == _c && (_a == _b || _e == _f || _b != _f) || _e == _g && (_a == _b || _e == _h || _d != _h))) { + if (_e == _g && _e == _f && _b == _c) { + _E0 = _E0 + 7.50000000E-01*(_B - _E0); + _E1 = (_E1 + _B) - _E0; + } else { + if (_e == _c && _e == _h && _d == _g) { + _E0 = _E0 + 7.50000000E-01*(_D - _E0); + _E2 = (_E2 + _D) - _E0; + } else { + _E0 = _E0 + 5.00000000E-01*(_D - _E0); + } + } + } else { + if (_e != _b && _e != _a && _e != _d && _e == _c && _e == _g) { + _E0 = _E0 + 5.00000000E-01*(_D - _E0); + } + } + if (_e != _d && _d == _h && (_e != _g && (_e != _f || _e != _b || _h != _f && _h != _i || _d != _b && _d != _a) || _e == _a && (_g == _d || _e == _b || _d != _b) || _e == _i && (_g == _d || _e == _f || _h != _f))) { + if (_e == _i && _e == _b && _d == _a) { + _E2 = _E2 + 7.50000000E-01*(_D - _E2); + _E0 = (_E0 + _D) - _E2; + } else { + if (_e == _a && _e == _f && _h == _i) { + _E2 = _E2 + 7.50000000E-01*(_H - _E2); + _E3 = (_E3 + _H) - _E2; + } else { + _E2 = _E2 + 5.00000000E-01*(_H - _E2); + } + } + } else { + if (_e != _d && _e != _g && _e != _h && _e == _a && _e == _i) { + _E2 = _E2 + 5.00000000E-01*(_H - _E2); + } + } + if (_fp.x < 5.00000000E-01) { + if (_fp.y < 5.00000000E-01) { + _TMP14 = _E0; + } else { + _TMP14 = _E2; + } + _TMP13 = _TMP14; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP15 = _E1; + } else { + _TMP15 = _E3; + } + _TMP13 = _TMP15; + } + _res = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _OUT._color1 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _OUT._color1; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/2xBR-v3.5a.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/2xBR-v3.5a.glsl new file mode 100644 index 0000000000..9f0e7ad781 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/2xBR-v3.5a.glsl @@ -0,0 +1,1014 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(_ps.x, 0.00000000E+00); + _OUT._t1.zw = vec2(0.00000000E+00, _ps.y); + _ret_0._position1 = _r0006; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP33; +vec3 _TMP35; +vec3 _TMP34; +vec3 _TMP32; +vec3 _TMP31; +vec3 _TMP30; +vec3 _TMP29; +vec4 _TMP22; +vec4 _TMP21; +vec3 _TMP43; +vec3 _TMP49; +float _TMP50; +vec3 _TMP41; +vec3 _TMP39; +vec3 _TMP37; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0083; +vec2 _c0085; +vec2 _c0087; +vec2 _c0089; +vec2 _c0091; +vec2 _c0095; +vec2 _c0097; +vec2 _c0099; +vec2 _c0101; +vec2 _c0103; +vec2 _c0105; +vec2 _c0107; +vec2 _c0109; +vec2 _c0111; +vec2 _c0113; +vec2 _c0115; +vec2 _c0117; +vec2 _c0119; +vec2 _c0121; +vec2 _c0123; +vec2 _c0125; +float _a0169; +float _b0169; +float _c0169; +float _d0169; +vec3 _r0171; +vec3 _r0181; +vec3 _r0191; +vec3 _r0201; +float _a0211; +float _b0211; +float _c0211; +float _d0211; +vec3 _r0213; +vec3 _r0223; +vec3 _r0233; +vec3 _r0243; +float _a0253; +float _b0253; +float _c0253; +float _d0253; +vec3 _r0255; +vec3 _r0265; +vec3 _r0275; +vec3 _r0285; +float _a0295; +float _b0295; +float _c0295; +float _d0295; +vec3 _r0297; +vec3 _r0307; +vec3 _r0317; +vec3 _r0327; +float _a0337; +float _b0337; +float _c0337; +float _d0337; +vec3 _r0339; +vec3 _r0349; +vec3 _r0359; +vec3 _r0369; +float _a0379; +float _b0379; +float _c0379; +float _d0379; +vec3 _r0381; +vec3 _r0391; +vec3 _r0401; +vec3 _r0411; +float _a0421; +float _b0421; +float _c0421; +float _d0421; +vec3 _r0423; +vec3 _r0433; +vec3 _r0443; +vec3 _r0453; +float _a0463; +float _b0463; +float _c0463; +float _d0463; +vec3 _r0465; +vec3 _r0475; +vec3 _r0485; +vec3 _r0495; +float _a0715; +float _b0715; +float _c0715; +float _d0715; +vec3 _r0717; +vec3 _r0727; +vec3 _r0737; +vec3 _r0747; +float _a0799; +float _b0799; +float _c0799; +float _d0799; +vec3 _r0801; +vec3 _r0811; +vec3 _r0821; +vec3 _r0831; +float _a0925; +float _b0925; +float _c0925; +float _d0925; +vec3 _r0927; +vec3 _r0937; +vec3 _r0947; +vec3 _r0957; +float _a0967; +float _b0967; +float _c0967; +float _d0967; +vec3 _r0969; +vec3 _r0979; +vec3 _r0989; +vec3 _r0999; +vec4 _TMP1010; +vec4 _a1013; +vec4 _TMP1014; +vec4 _a1017; +vec4 _TMP1018; +vec4 _a1021; +vec4 _TMP1022; +vec4 _a1025; +vec4 _TMP1026; +vec4 _a1029; +vec4 _TMP1032; +vec4 _a1035; +vec4 _TMP1036; +vec4 _a1039; +vec4 _TMP1040; +vec4 _a1043; +vec4 _TMP1044; +vec4 _a1047; +vec4 _TMP1048; +vec4 _a1051; +vec4 _TMP1052; +vec4 _a1055; +vec4 _TMP1056; +vec4 _a1059; +vec4 _TMP1060; +vec4 _a1063; +vec4 _TMP1064; +vec4 _a1067; +vec4 _TMP1068; +vec4 _a1071; +vec4 _TMP1072; +vec4 _a1075; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + vec2 _fp; + vec3 _A1; + vec3 _B1; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _A11; + vec3 _C1; + vec3 _A0; + vec3 _G0; + vec3 _C4; + vec3 _I4; + vec3 _G5; + vec3 _I5; + vec3 _B11; + vec3 _D0; + vec3 _H5; + vec3 _F4; + vec4 _b2; + vec4 _c2; + vec4 _d2; + vec4 _e1; + vec4 _f1; + vec4 _g1; + vec4 _h1; + vec4 _i; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _f4; + vec3 _E0; + vec3 _E1; + vec3 _E2; + vec3 _E3; + _x0083 = TEX0.xy*TextureSize; + _fp = fract(_x0083); + _c0085 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP0 = texture2D(Texture, _c0085); + _A1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0087 = TEX0.xy - vec2(float(TEX1.z), float(TEX1.w)); + _TMP1 = texture2D(Texture, _c0087); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0089 = (TEX0.xy + vec2(float(TEX1.x), float(TEX1.y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0089); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0091 = TEX0.xy - vec2(float(TEX1.x), float(TEX1.y)); + _TMP3 = texture2D(Texture, _c0091); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0095 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)); + _TMP5 = texture2D(Texture, _c0095); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0097 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP6 = texture2D(Texture, _c0097); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0099 = TEX0.xy + vec2(float(TEX1.z), float(TEX1.w)); + _TMP7 = texture2D(Texture, _c0099); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0101 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP8 = texture2D(Texture, _c0101); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0103 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP9 = texture2D(Texture, _c0103); + _A11 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0105 = (TEX0.xy + vec2(float(TEX1.x), float(TEX1.y))) - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP10 = texture2D(Texture, _c0105); + _C1 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0107 = (TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP11 = texture2D(Texture, _c0107); + _A0 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0109 = (TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP12 = texture2D(Texture, _c0109); + _G0 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0111 = (TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP13 = texture2D(Texture, _c0111); + _C4 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0113 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP14 = texture2D(Texture, _c0113); + _I4 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0115 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP15 = texture2D(Texture, _c0115); + _G5 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0117 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)) + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP16 = texture2D(Texture, _c0117); + _I5 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _c0119 = TEX0.xy - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP17 = texture2D(Texture, _c0119); + _B11 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _c0121 = TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)); + _TMP18 = texture2D(Texture, _c0121); + _D0 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _c0123 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP19 = texture2D(Texture, _c0123); + _H5 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _c0125 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)); + _TMP20 = texture2D(Texture, _c0125); + _F4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0171.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0171.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0171.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0171.x), float(_r0171.y), float(_r0171.z))); + _TMP37 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _a0169 = float(_TMP37.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0181.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0181.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0181.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0181.x), float(_r0181.y), float(_r0181.z))); + _TMP39 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _b0169 = float(_TMP39.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0191.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0191.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0191.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0191.x), float(_r0191.y), float(_r0191.z))); + _TMP41 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _c0169 = float(_TMP41.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0201.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0201.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0201.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0201.x), float(_r0201.y), float(_r0201.z))); + _TMP43 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _d0169 = float(_TMP43.x); + _b2 = vec4(_a0169, _b0169, _c0169, _d0169); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0213.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0213.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0213.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0213.x), float(_r0213.y), float(_r0213.z))); + _TMP37 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _a0211 = float(_TMP37.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0223.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0223.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0223.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0223.x), float(_r0223.y), float(_r0223.z))); + _TMP39 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _b0211 = float(_TMP39.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0233.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0233.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0233.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0233.x), float(_r0233.y), float(_r0233.z))); + _TMP41 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _c0211 = float(_TMP41.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0243.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0243.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0243.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0243.x), float(_r0243.y), float(_r0243.z))); + _TMP43 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _d0211 = float(_TMP43.x); + _c2 = vec4(_a0211, _b0211, _c0211, _d0211); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0255.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0255.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0255.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0255.x), float(_r0255.y), float(_r0255.z))); + _TMP37 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _a0253 = float(_TMP37.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0265.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0265.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0265.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0265.x), float(_r0265.y), float(_r0265.z))); + _TMP39 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _b0253 = float(_TMP39.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0275.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0275.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0275.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0275.x), float(_r0275.y), float(_r0275.z))); + _TMP41 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _c0253 = float(_TMP41.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0285.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0285.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0285.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0285.x), float(_r0285.y), float(_r0285.z))); + _TMP43 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _d0253 = float(_TMP43.x); + _d2 = vec4(_a0253, _b0253, _c0253, _d0253); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0297.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0297.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0297.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0297.x), float(_r0297.y), float(_r0297.z))); + _TMP37 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _a0295 = float(_TMP37.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0307.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0307.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0307.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0307.x), float(_r0307.y), float(_r0307.z))); + _TMP39 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _b0295 = float(_TMP39.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0317.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0317.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0317.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0317.x), float(_r0317.y), float(_r0317.z))); + _TMP41 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _c0295 = float(_TMP41.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0327.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0327.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0327.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0327.x), float(_r0327.y), float(_r0327.z))); + _TMP43 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _d0295 = float(_TMP43.x); + _e1 = vec4(_a0295, _b0295, _c0295, _d0295); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0339.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0339.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0339.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0339.x), float(_r0339.y), float(_r0339.z))); + _TMP37 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _a0337 = float(_TMP37.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0349.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0349.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0349.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0349.x), float(_r0349.y), float(_r0349.z))); + _TMP39 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _b0337 = float(_TMP39.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0359.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0359.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0359.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0359.x), float(_r0359.y), float(_r0359.z))); + _TMP41 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _c0337 = float(_TMP41.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0369.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0369.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0369.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0369.x), float(_r0369.y), float(_r0369.z))); + _TMP43 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _d0337 = float(_TMP43.x); + _f1 = vec4(_a0337, _b0337, _c0337, _d0337); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0381.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0381.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0381.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0381.x), float(_r0381.y), float(_r0381.z))); + _TMP37 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _a0379 = float(_TMP37.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0391.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0391.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0391.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0391.x), float(_r0391.y), float(_r0391.z))); + _TMP39 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _b0379 = float(_TMP39.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0401.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0401.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0401.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0401.x), float(_r0401.y), float(_r0401.z))); + _TMP41 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _c0379 = float(_TMP41.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0411.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0411.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0411.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0411.x), float(_r0411.y), float(_r0411.z))); + _TMP43 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _d0379 = float(_TMP43.x); + _g1 = vec4(_a0379, _b0379, _c0379, _d0379); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0423.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0423.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0423.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0423.x), float(_r0423.y), float(_r0423.z))); + _TMP37 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _a0421 = float(_TMP37.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0433.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0433.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0433.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0433.x), float(_r0433.y), float(_r0433.z))); + _TMP39 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _b0421 = float(_TMP39.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0443.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0443.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0443.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0443.x), float(_r0443.y), float(_r0443.z))); + _TMP41 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _c0421 = float(_TMP41.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0453.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0453.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0453.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0453.x), float(_r0453.y), float(_r0453.z))); + _TMP43 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _d0421 = float(_TMP43.x); + _h1 = vec4(_a0421, _b0421, _c0421, _d0421); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0465.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0465.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0465.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0465.x), float(_r0465.y), float(_r0465.z))); + _TMP37 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _a0463 = float(_TMP37.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0475.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0475.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0475.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0475.x), float(_r0475.y), float(_r0475.z))); + _TMP39 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _b0463 = float(_TMP39.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0485.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0485.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0485.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0485.x), float(_r0485.y), float(_r0485.z))); + _TMP41 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _c0463 = float(_TMP41.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0495.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0495.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0495.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0495.x), float(_r0495.y), float(_r0495.z))); + _TMP43 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _d0463 = float(_TMP43.x); + _i = vec4(_a0463, _b0463, _c0463, _d0463); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0717.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0717.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0717.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0717.x), float(_r0717.y), float(_r0717.z))); + _TMP37 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _a0715 = float(_TMP37.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0727.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0727.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0727.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0727.x), float(_r0727.y), float(_r0727.z))); + _TMP39 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _b0715 = float(_TMP39.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A0.x), float(_A0.y), float(_A0.z))); + _r0737.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A0.x), float(_A0.y), float(_A0.z))); + _r0737.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A0.x), float(_A0.y), float(_A0.z))); + _r0737.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0737.x), float(_r0737.y), float(_r0737.z))); + _TMP41 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _c0715 = float(_TMP41.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0747.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0747.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0747.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0747.x), float(_r0747.y), float(_r0747.z))); + _TMP43 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _d0715 = float(_TMP43.x); + _i4 = vec4(_a0715, _b0715, _c0715, _d0715); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0801.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0801.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0801.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0801.x), float(_r0801.y), float(_r0801.z))); + _TMP37 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _a0799 = float(_TMP37.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0811.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0811.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0811.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0811.x), float(_r0811.y), float(_r0811.z))); + _TMP39 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _b0799 = float(_TMP39.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A11.x), float(_A11.y), float(_A11.z))); + _r0821.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A11.x), float(_A11.y), float(_A11.z))); + _r0821.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A11.x), float(_A11.y), float(_A11.z))); + _r0821.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0821.x), float(_r0821.y), float(_r0821.z))); + _TMP41 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _c0799 = float(_TMP41.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0831.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0831.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0831.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0831.x), float(_r0831.y), float(_r0831.z))); + _TMP43 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _d0799 = float(_TMP43.x); + _i5 = vec4(_a0799, _b0799, _c0799, _d0799); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0927.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0927.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0927.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0927.x), float(_r0927.y), float(_r0927.z))); + _TMP37 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _a0925 = float(_TMP37.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0937.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0937.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0937.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0937.x), float(_r0937.y), float(_r0937.z))); + _TMP39 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _b0925 = float(_TMP39.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0947.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0947.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0947.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0947.x), float(_r0947.y), float(_r0947.z))); + _TMP41 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _c0925 = float(_TMP41.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0957.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0957.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0957.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0957.x), float(_r0957.y), float(_r0957.z))); + _TMP43 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _d0925 = float(_TMP43.x); + _h5 = vec4(_a0925, _b0925, _c0925, _d0925); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0969.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0969.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0969.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0969.x), float(_r0969.y), float(_r0969.z))); + _TMP37 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _a0967 = float(_TMP37.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0979.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0979.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0979.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0979.x), float(_r0979.y), float(_r0979.z))); + _TMP39 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _b0967 = float(_TMP39.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0989.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0989.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0989.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0989.x), float(_r0989.y), float(_r0989.z))); + _TMP41 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _c0967 = float(_TMP41.x); + _TMP50 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0999.x = float(_TMP50); + _TMP50 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0999.y = float(_TMP50); + _TMP50 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0999.z = float(_TMP50); + _TMP49 = abs(vec3(float(_r0999.x), float(_r0999.y), float(_r0999.z))); + _TMP43 = vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z)); + _d0967 = float(_TMP43.x); + _f4 = vec4(_a0967, _b0967, _c0967, _d0967); + _interp_restriction_lv1 = bvec4(_e1.x != _f1.x && _e1.x != _h1.x, _e1.y != _f1.y && _e1.y != _h1.y, _e1.z != _f1.z && _e1.z != _h1.z, _e1.w != _f1.w && _e1.w != _h1.w); + _interp_restriction_lv2_left = bvec4(_e1.x != _g1.x && _d2.x != _g1.x, _e1.y != _g1.y && _d2.y != _g1.y, _e1.z != _g1.z && _d2.z != _g1.z, _e1.w != _g1.w && _d2.w != _g1.w); + _interp_restriction_lv2_up = bvec4(_e1.x != _c2.x && _b2.x != _c2.x, _e1.y != _c2.y && _b2.y != _c2.y, _e1.z != _c2.z && _b2.z != _c2.z, _e1.w != _c2.w && _b2.w != _c2.w); + _a1013 = _e1 - _c2; + _TMP1010 = abs(_a1013); + _a1017 = _e1 - _g1; + _TMP1014 = abs(_a1017); + _a1021 = _i - _h5; + _TMP1018 = abs(_a1021); + _a1025 = _i - _f4; + _TMP1022 = abs(_a1025); + _a1029 = _h1 - _f1; + _TMP1026 = abs(_a1029); + _TMP21 = _TMP1010 + _TMP1014 + _TMP1018 + _TMP1022 + 4.00000000E+00*_TMP1026; + _a1035 = _h1 - _d2; + _TMP1032 = abs(_a1035); + _a1039 = _h1 - _i5; + _TMP1036 = abs(_a1039); + _a1043 = _f1 - _i4; + _TMP1040 = abs(_a1043); + _a1047 = _f1 - _b2; + _TMP1044 = abs(_a1047); + _a1051 = _e1 - _i; + _TMP1048 = abs(_a1051); + _TMP22 = _TMP1032 + _TMP1036 + _TMP1040 + _TMP1044 + 4.00000000E+00*_TMP1048; + _edr = bvec4(_TMP21.x < _TMP22.x && _interp_restriction_lv1.x, _TMP21.y < _TMP22.y && _interp_restriction_lv1.y, _TMP21.z < _TMP22.z && _interp_restriction_lv1.z, _TMP21.w < _TMP22.w && _interp_restriction_lv1.w); + _a1055 = _f1 - _g1; + _TMP1052 = abs(_a1055); + _a1059 = _h1 - _c2; + _TMP1056 = abs(_a1059); + _edr_left = bvec4((2.00000000E+00*_TMP1052).x <= _TMP1056.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP1052).y <= _TMP1056.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP1052).z <= _TMP1056.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP1052).w <= _TMP1056.w && _interp_restriction_lv2_left.w); + _a1063 = _f1 - _g1; + _TMP1060 = abs(_a1063); + _a1067 = _h1 - _c2; + _TMP1064 = abs(_a1067); + _edr_up = bvec4(_TMP1060.x >= (2.00000000E+00*_TMP1064).x && _interp_restriction_lv2_up.x, _TMP1060.y >= (2.00000000E+00*_TMP1064).y && _interp_restriction_lv2_up.y, _TMP1060.z >= (2.00000000E+00*_TMP1064).z && _interp_restriction_lv2_up.z, _TMP1060.w >= (2.00000000E+00*_TMP1064).w && _interp_restriction_lv2_up.w); + _E0 = _E; + _E1 = _E; + _E2 = _E; + _E3 = _E; + _a1071 = _e1 - _f1; + _TMP1068 = abs(_a1071); + _a1075 = _e1 - _h1; + _TMP1072 = abs(_a1075); + _px = bvec4(_TMP1068.x <= _TMP1072.x, _TMP1068.y <= _TMP1072.y, _TMP1068.z <= _TMP1072.z, _TMP1068.w <= _TMP1072.w); + if (_px.x) { + _TMP29 = _F; + } else { + _TMP29 = _H; + } + if (_px.y) { + _TMP30 = _B1; + } else { + _TMP30 = _F; + } + if (_px.z) { + _TMP31 = _D; + } else { + _TMP31 = _B1; + } + if (_px.w) { + _TMP32 = _H; + } else { + _TMP32 = _D; + } + if (_edr.x) { + if (_edr_left.x && _edr_up.x) { + _E3 = _E + 8.33496094E-01*(_TMP29 - _E); + _E2 = _E + 2.50000000E-01*(_TMP29 - _E); + _E1 = _E + 2.50000000E-01*(_TMP29 - _E); + } else { + if (_edr_left.x) { + _E3 = _E + 7.50000000E-01*(_TMP29 - _E); + _E2 = _E + 2.50000000E-01*(_TMP29 - _E); + } else { + if (_edr_up.x) { + _E3 = _E + 7.50000000E-01*(_TMP29 - _E); + _E1 = _E + 2.50000000E-01*(_TMP29 - _E); + } else { + _E3 = _E + 5.00000000E-01*(_TMP29 - _E); + } + } + } + } + if (_edr.y) { + if (_edr_left.y && _edr_up.y) { + _E1 = _E1 + 8.33496094E-01*(_TMP30 - _E1); + _E3 = _E3 + 2.50000000E-01*(_TMP30 - _E3); + _E0 = _E + 2.50000000E-01*(_TMP30 - _E); + } else { + if (_edr_left.y) { + _E1 = _E1 + 7.50000000E-01*(_TMP30 - _E1); + _E3 = _E3 + 2.50000000E-01*(_TMP30 - _E3); + } else { + if (_edr_up.y) { + _E1 = _E1 + 7.50000000E-01*(_TMP30 - _E1); + _E0 = _E + 2.50000000E-01*(_TMP30 - _E); + } else { + _E1 = _E1 + 5.00000000E-01*(_TMP30 - _E1); + } + } + } + } + if (_edr.z) { + if (_edr_left.z && _edr_up.z) { + _E0 = _E0 + 8.33496094E-01*(_TMP31 - _E0); + _E1 = _E1 + 2.50000000E-01*(_TMP31 - _E1); + _E2 = _E2 + 2.50000000E-01*(_TMP31 - _E2); + } else { + if (_edr_left.z) { + _E0 = _E0 + 7.50000000E-01*(_TMP31 - _E0); + _E1 = _E1 + 2.50000000E-01*(_TMP31 - _E1); + } else { + if (_edr_up.z) { + _E0 = _E0 + 7.50000000E-01*(_TMP31 - _E0); + _E2 = _E2 + 2.50000000E-01*(_TMP31 - _E2); + } else { + _E0 = _E0 + 5.00000000E-01*(_TMP31 - _E0); + } + } + } + } + if (_edr.w) { + if (_edr_left.w && _edr_up.w) { + _E2 = _E2 + 8.33496094E-01*(_TMP32 - _E2); + _E0 = _E0 + 2.50000000E-01*(_TMP32 - _E0); + _E3 = _E3 + 2.50000000E-01*(_TMP32 - _E3); + } else { + if (_edr_left.w) { + _E2 = _E2 + 7.50000000E-01*(_TMP32 - _E2); + _E0 = _E0 + 2.50000000E-01*(_TMP32 - _E0); + } else { + if (_edr_up.w) { + _E2 = _E2 + 7.50000000E-01*(_TMP32 - _E2); + _E3 = _E3 + 2.50000000E-01*(_TMP32 - _E3); + } else { + _E2 = _E2 + 5.00000000E-01*(_TMP32 - _E2); + } + } + } + } + if (_fp.x < 5.00000000E-01) { + if (_fp.y < 5.00000000E-01) { + _TMP34 = _E0; + } else { + _TMP34 = _E2; + } + _TMP33 = _TMP34; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP35 = _E1; + } else { + _TMP35 = _E3; + } + _TMP33 = _TMP35; + } + _ret_0 = vec4(_TMP33.x, _TMP33.y, _TMP33.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/3xBR-v2.1.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/3xBR-v2.1.glsl new file mode 100644 index 0000000000..6e24949000 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/3xBR-v2.1.glsl @@ -0,0 +1,481 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt8; +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 VARtexCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 VARtexCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; + vec4 VARt8; +}; +vec4 _oPosition1; +out_vertex _ret_0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1.xy = TexCoord.xy + vec2(-_ps.x, 0.00000000E+00); + _OUT.VARt2.xy = TexCoord.xy + vec2(_ps.x, 0.00000000E+00); + _OUT.VARt3.xy = TexCoord.xy + vec2(0.00000000E+00, -_ps.y); + _OUT.VARt4.xy = TexCoord.xy + vec2(0.00000000E+00, _ps.y); + _OUT.VARt1.zw = TexCoord.xy + vec2(-_ps.x, -_ps.y); + _OUT.VARt2.zw = TexCoord.xy + vec2(-_ps.x, _ps.y); + _OUT.VARt3.zw = TexCoord.xy + vec2(_ps.x, -_ps.y); + _OUT.VARt4.zw = TexCoord.xy + vec2(_ps.x, _ps.y); + _OUT.VARt5.xy = TexCoord.xy + vec2(-_ps.x, -_ps.y - _ps.y); + _OUT.VARt5.zw = TexCoord.xy + vec2(+_ps.x, -_ps.y - _ps.y); + _OUT.VARt6.xy = TexCoord.xy + vec2(-_ps.x - _ps.x, -_ps.y); + _OUT.VARt6.zw = TexCoord.xy + vec2(-_ps.x - _ps.x, +_ps.y); + _OUT.VARt7.xy = TexCoord.xy + vec2(+_ps.x + _ps.x, -_ps.y); + _OUT.VARt7.zw = TexCoord.xy + vec2(+_ps.x + _ps.x, +_ps.y); + _OUT.VARt8.xy = TexCoord.xy + vec2(-_ps.x, +_ps.y + _ps.y); + _OUT.VARt8.zw = TexCoord.xy + vec2(+_ps.x, +_ps.y + _ps.y); + VARtexCoord = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + VARt8 = _OUT.VARt8; + gl_Position = _r0003; + return; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt8; +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 VARtexCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 VARtexCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; + vec4 VARt8; +}; +vec4 _ret_0; +vec3 _TMP23; +vec3 _TMP26; +vec3 _TMP29; +vec3 _TMP30; +vec3 _TMP27; +vec3 _TMP28; +vec3 _TMP24; +vec3 _TMP25; +float _TMP31; +float _TMP32; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0038; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec3 _A; + vec3 _B; + vec3 _C; + vec3 _D; + vec3 _E0; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _A1; + vec3 _C1; + vec3 _A0; + vec3 _G0; + vec3 _C4; + vec3 _I4; + vec3 _G5; + vec3 _I5; + vec3 _E[9]; + float _a; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + float _a1; + float _c1; + float _a0; + float _g0; + float _c4; + float _i4; + float _g5; + float _i5; + vec3 _res; + _x0038 = VARtexCoord*TextureSize; + _fp = fract(_x0038); + _TMP0 = texture2D(Texture, VARt1.zw); + _A = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt3.xy); + _B = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt3.zw); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt1.xy); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARtexCoord); + _E0 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.xy); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt2.zw); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt4.xy); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt5.xy); + _A1 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt5.zw); + _C1 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt6.zw); + _G0 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt7.zw); + _I4 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt8.xy); + _G5 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt8.zw); + _I5 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _E[2] = _E0; + _E[1] = _E0; + _E[0] = _E0; + _E[5] = _E0; + _E[3] = _E0; + _E[8] = _E0; + _E[7] = _E0; + _E[6] = _E0; + _TMP32 = dot(vec3(float(_A.x), float(_A.y), float(_A.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _a = float(_TMP31); + _TMP32 = dot(vec3(float(_B.x), float(_B.y), float(_B.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _b = float(_TMP31); + _TMP32 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c = float(_TMP31); + _TMP32 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _d = float(_TMP31); + _TMP32 = dot(vec3(float(_E0.x), float(_E0.y), float(_E0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _e = float(_TMP31); + _TMP32 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _f = float(_TMP31); + _TMP32 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _g = float(_TMP31); + _TMP32 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _h = float(_TMP31); + _TMP32 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _i = float(_TMP31); + _TMP32 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _a1 = float(_TMP31); + _TMP32 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c1 = float(_TMP31); + _TMP32 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _a0 = float(_TMP31); + _TMP32 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _g0 = float(_TMP31); + _TMP32 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _c4 = float(_TMP31); + _TMP32 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _i4 = float(_TMP31); + _TMP32 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _g5 = float(_TMP31); + _TMP32 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP31 = float(_TMP32); + _i5 = float(_TMP31); + if (_e != _h && _h == _f && (_e != _i && (_e != _b || _e != _d || _b == _c1 && _d == _g0 || _f != _b && _f != _c || _h != _d && _h != _g) || _e == _g && (_i == _h || _e == _d || _h != _d) || _e == _c && (_i == _h || _e == _b || _f != _b))) { + if (_e == _c && _e == _d && _h == _g) { + _E[5] = (3.00000000E+00*_E0 + _F)*2.50000000E-01; + _E[6] = _E[5]; + _E[7] = (_E0 + _F) - _E[5]; + _E[8] = _H; + } else { + if (_e == _g && _e == _b && _f == _c) { + _E[7] = (3.00000000E+00*_E0 + _H)*2.50000000E-01; + _E[2] = _E[7]; + _E[5] = (_E0 + _H) - _E[7]; + _E[8] = _F; + } else { + _E[8] = _E0 + 8.75000000E-01*(_F - _E0); + _E[5] = (_E0 + _F) - _E[8]; + _E[7] = _E[5]; + } + } + } else { + if (_e != _h && _e != _f && _e == _c && (_f != _i && (_h == _i && _f != _b || _e != _i && _f == _c4) || _e != _i && _e == _g)) { + _E[8] = _E0 + 8.75000000E-01*(_F - _E0); + _E[5] = (_E0 + _F) - _E[8]; + _E[7] = _E[5]; + } else { + if (_e != _h && _e != _f && _h != _i && _e == _g && (_f == _i && _h != _d || _e != _i && _h == _g5)) { + _E[8] = _E0 + 8.75000000E-01*(_H - _E0); + _E[5] = (_E0 + _H) - _E[8]; + _E[7] = _E[5]; + } + } + } + if (_e != _f && _f == _b && (_e != _c && (_e != _d || _e != _h || _d == _a0 && _h == _i5 || _b != _d && _b != _a || _f != _h && _f != _i) || _e == _i && (_c == _f || _e == _h || _f != _h) || _e == _a && (_c == _f || _e == _d || _b != _d))) { + if (_e == _a && _e == _h && _f == _i) { + _E[1] = (3.00000000E+00*_E0 + _B)*2.50000000E-01; + _E[8] = _E[1]; + _E[5] = (_E[5] + _B) - _E[1]; + _E[2] = _F; + } else { + if (_e == _i && _e == _d && _b == _a) { + _E[5] = (3.00000000E+00*_E[5] + _F)*2.50000000E-01; + _E[0] = _E[5]; + _E[1] = (_E0 + _F) - _E[5]; + _E[2] = _B; + } else { + _E[2] = _E[2] + 8.75000000E-01*(_B - _E[2]); + _E[1] = (_E0 + _B) - _E[2]; + _E[5] = _E[1]; + } + } + } else { + if (_e != _f && _e != _b && _e == _a && (_b != _c && (_f == _c && _b != _d || _e != _c && _b == _a1) || _e != _c && _e == _i)) { + _E[2] = _E[2] + 8.75000000E-01*(_B - _E[2]); + _E[1] = (_E0 + _B) - _E[2]; + _E[5] = _E[1]; + } else { + if (_e != _f && _e != _b && _f != _c && _e == _i && (_b == _c && _f != _h || _e != _c && _f == _i4)) { + _E[2] = _E[2] + 8.75000000E-01*(_F - _E[2]); + _E[1] = (_E0 + _F) - _E[2]; + _E[5] = _E[1]; + } + } + } + if (_e != _b && _b == _d && (_e != _a && (_e != _h || _e != _f || _h == _g5 && _f == _c4 || _d != _h && _d != _g || _b != _f && _b != _c) || _e == _c && (_a == _b || _e == _f || _b != _f) || _e == _g && (_a == _b || _e == _h || _d != _h))) { + if (_e == _g && _e == _f && _b == _c) { + _E[3] = (3.00000000E+00*_E0 + _D)*2.50000000E-01; + _E[2] = _E[3]; + _E[1] = (_E[1] + _D) - _E[3]; + _E[0] = _B; + } else { + if (_e == _c && _e == _h && _d == _g) { + _E[1] = (3.00000000E+00*_E[1] + _B)*2.50000000E-01; + _E[6] = _E[1]; + _E[3] = (_E0 + _B) - _E[1]; + _E[0] = _D; + } else { + _E[0] = _E[0] + 8.75000000E-01*(_D - _E[0]); + _E[3] = (_E0 + _D) - _E[0]; + _E[1] = _E[3]; + } + } + } else { + if (_e != _b && _e != _d && _e == _g && (_d != _a && (_b == _a && _d != _h || _e != _a && _d == _g0) || _e != _a && _e == _c)) { + _E[0] = _E[0] + 8.75000000E-01*(_D - _E[0]); + _E[3] = (_E0 + _D) - _E[0]; + _E[1] = _E[3]; + } else { + if (_e != _b && _e != _d && _b != _a && _e == _c && (_d == _a && _b != _f || _e != _a && _b == _c1)) { + _E[0] = _E[0] + 8.75000000E-01*(_B - _E[0]); + _E[3] = (_E0 + _B) - _E[0]; + _E[1] = _E[3]; + } + } + } + if (_e != _d && _d == _h && (_e != _g && (_e != _f || _e != _b || _f == _i4 && _b == _a1 || _h != _f && _h != _i || _d != _b && _d != _a) || _e == _a && (_g == _d || _e == _b || _d != _b) || _e == _i && (_g == _d || _e == _f || _h != _f))) { + if (_e == _i && _e == _b && _d == _a) { + _E[7] = (3.00000000E+00*_E[7] + _H)*2.50000000E-01; + _E[0] = _E[7]; + _E[3] = (_E[3] + _H) - _E[7]; + _E[6] = _D; + } else { + if (_e == _a && _e == _f && _h == _i) { + _E[3] = (3.00000000E+00*_E[3] + _D)*2.50000000E-01; + _E[8] = _E[3]; + _E[7] = (_E[7] + _D) - _E[3]; + _E[6] = _H; + } else { + _E[6] = _E[6] + 8.75000000E-01*(_H - _E[6]); + _E[7] = (_E[7] + _H) - _E[6]; + _E[3] = _E[7]; + } + } + } else { + if (_e != _d && _e != _h && _e == _i && (_h != _g && (_d == _g && _h != _f || _e != _g && _h == _i5) || _e != _g && _e == _a)) { + _E[6] = _E[6] + 8.75000000E-01*(_H - _E[6]); + _E[7] = (_E[7] + _H) - _E[6]; + _E[3] = _E[7]; + } else { + if (_e != _d && _e != _h && _d != _g && _e == _a && (_h == _g && _d != _b || _e != _g && _d == _a0)) { + _E[6] = _E[6] + 8.75000000E-01*(_D - _E[6]); + _E[7] = (_E[7] + _D) - _E[6]; + _E[3] = _E[7]; + } + } + } + if (_fp.x < 3.33333343E-01) { + if (_fp.y < 3.33333343E-01) { + _TMP24 = _E[0]; + } else { + if (_fp.y < 6.66666687E-01) { + _TMP25 = _E[3]; + } else { + _TMP25 = _E[6]; + } + _TMP24 = _TMP25; + } + _TMP23 = _TMP24; + } else { + if (_fp.x < 6.66666687E-01) { + if (_fp.y < 3.33333343E-01) { + _TMP27 = _E[1]; + } else { + if (_fp.y < 6.66666687E-01) { + _TMP28 = _E0; + } else { + _TMP28 = _E[7]; + } + _TMP27 = _TMP28; + } + _TMP26 = _TMP27; + } else { + if (_fp.y < 3.33333343E-01) { + _TMP29 = _E[2]; + } else { + if (_fp.y < 6.66666687E-01) { + _TMP30 = _E[5]; + } else { + _TMP30 = _E[8]; + } + _TMP29 = _TMP30; + } + _TMP26 = _TMP29; + } + _TMP23 = _TMP26; + } + _res = vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)); + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/3xBR-v2.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/3xBR-v2.glsl new file mode 100644 index 0000000000..021616f0a7 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/3xBR-v2.glsl @@ -0,0 +1,439 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0003; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0003; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec3 _TMP27; +vec3 _TMP28; +vec3 _TMP25; +vec3 _TMP26; +vec3 _TMP23; +vec3 _TMP24; +float _TMP29; +float _TMP30; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec2 _c0058; +vec2 _c0060; +vec2 _c0062; +vec2 _c0064; +vec2 _c0066; +vec2 _c0068; +vec2 _c0070; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _ps; + vec2 _dx; + vec2 _dy; + vec2 _pixcoord; + vec2 _fp; + vec2 _d11; + vec3 _E[9]; + vec3 _A; + vec3 _B; + vec3 _C; + vec3 _D; + vec3 _E0; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _A1; + vec3 _C1; + vec3 _A0; + vec3 _G0; + vec3 _C4; + vec3 _I4; + vec3 _G5; + vec3 _I5; + float _a; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + float _a1; + float _c1; + float _a0; + float _g0; + float _c4; + float _i4; + float _g5; + float _i5; + vec3 _res; + output_dummy _OUT; + _ps = vec2(9.99899983E-01/TextureSize.x, 9.99899983E-01/TextureSize.y); + _dx = vec2(float(_ps.x), 0.00000000E+00); + _dy = vec2(0.00000000E+00, float(_ps.y)); + _pixcoord = TEX0.xy/_ps; + _fp = fract(_pixcoord); + _d11 = TEX0.xy - _fp*_ps; + _c0038 = (_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP0 = texture2D(Texture, _c0038); + _A = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0040 = _d11 - vec2(float(_dy.x), float(_dy.y)); + _TMP1 = texture2D(Texture, _c0040); + _B = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0042 = (_d11 + vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP2 = texture2D(Texture, _c0042); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0044 = _d11 - vec2(float(_dx.x), float(_dx.y)); + _TMP3 = texture2D(Texture, _c0044); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, _d11); + _E0 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0048 = _d11 + vec2(float(_dx.x), float(_dx.y)); + _TMP5 = texture2D(Texture, _c0048); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0050 = (_d11 - vec2(float(_dx.x), float(_dx.y))) + vec2(float(_dy.x), float(_dy.y)); + _TMP6 = texture2D(Texture, _c0050); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0052 = _d11 + vec2(float(_dy.x), float(_dy.y)); + _TMP7 = texture2D(Texture, _c0052); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0054 = _d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP8 = texture2D(Texture, _c0054); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0056 = ((_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP9 = texture2D(Texture, _c0056); + _A1 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0058 = ((_d11 + vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP10 = texture2D(Texture, _c0058); + _C1 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0060 = ((_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP11 = texture2D(Texture, _c0060); + _A0 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0062 = ((_d11 - vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dx.x), float(_dx.y))) + vec2(float(_dy.x), float(_dy.y)); + _TMP12 = texture2D(Texture, _c0062); + _G0 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0064 = (_d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dx.x), float(_dx.y))) - vec2(float(_dy.x), float(_dy.y)); + _TMP13 = texture2D(Texture, _c0064); + _C4 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0066 = _d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP14 = texture2D(Texture, _c0066); + _I4 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0068 = (_d11 - vec2(float(_dx.x), float(_dx.y))) + vec2(float(_dy.x), float(_dy.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP15 = texture2D(Texture, _c0068); + _G5 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0070 = _d11 + vec2(float(_dx.x), float(_dx.y)) + vec2(float(_dy.x), float(_dy.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP16 = texture2D(Texture, _c0070); + _I5 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _E[2] = _E0; + _E[1] = _E0; + _E[0] = _E0; + _E[5] = _E0; + _E[3] = _E0; + _E[8] = _E0; + _E[7] = _E0; + _E[6] = _E0; + _TMP30 = dot(vec3(float(_A.x), float(_A.y), float(_A.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _a = float(_TMP29); + _TMP30 = dot(vec3(float(_B.x), float(_B.y), float(_B.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _b = float(_TMP29); + _TMP30 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _c = float(_TMP29); + _TMP30 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _d = float(_TMP29); + _TMP30 = dot(vec3(float(_E0.x), float(_E0.y), float(_E0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _e = float(_TMP29); + _TMP30 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _f = float(_TMP29); + _TMP30 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _g = float(_TMP29); + _TMP30 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _h = float(_TMP29); + _TMP30 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _i = float(_TMP29); + _TMP30 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _a1 = float(_TMP29); + _TMP30 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _c1 = float(_TMP29); + _TMP30 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _a0 = float(_TMP29); + _TMP30 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _g0 = float(_TMP29); + _TMP30 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _c4 = float(_TMP29); + _TMP30 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _i4 = float(_TMP29); + _TMP30 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _g5 = float(_TMP29); + _TMP30 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP29 = float(_TMP30); + _i5 = float(_TMP29); + if (_e != _h && _h == _f && (_e != _i && (_e != _b || _e != _d || _b == _c1 && _d == _g0 || _f != _b && _f != _c || _h != _d && _h != _g) || _e == _g && (_i == _h || _e == _d || _h != _d) || _e == _c && (_i == _h || _e == _b || _f != _b))) { + if (_e == _c && _e == _d && _h == _g) { + _E[5] = (3.00000000E+00*_E0 + _F)*2.50000000E-01; + _E[6] = _E[5]; + _E[7] = (_E0 + _F) - _E[5]; + _E[8] = _H; + } else { + if (_e == _g && _e == _b && _f == _c) { + _E[7] = (3.00000000E+00*_E0 + _H)*2.50000000E-01; + _E[2] = _E[7]; + _E[5] = (_E0 + _H) - _E[7]; + _E[8] = _F; + } else { + _E[8] = _E0 + 8.75000000E-01*(_F - _E0); + _E[5] = (_E0 + _F) - _E[8]; + _E[7] = _E[5]; + } + } + } else { + if (_e != _h && _g == _e && _e == _c && _e != _i && _e != _f) { + _E[8] = _E0 + 8.75000000E-01*(_F - _E0); + _E[5] = _E0 + 1.25000000E-01*(_F - _E0); + _E[7] = _E0 + 1.25000000E-01*(_H - _E0); + } + } + if (_e != _f && _f == _b && (_e != _c && (_e != _d || _e != _h || _d == _a0 && _h == _i5 || _b != _d && _b != _a || _f != _h && _f != _i) || _e == _i && (_c == _f || _e == _h || _f != _h) || _e == _a && (_c == _f || _e == _d || _b != _d))) { + if (_e == _a && _e == _h && _f == _i) { + _E[1] = (3.00000000E+00*_E0 + _B)*2.50000000E-01; + _E[8] = _E[1]; + _E[5] = (_E[5] + _B) - _E[1]; + _E[2] = _F; + } else { + if (_e == _i && _e == _d && _b == _a) { + _E[5] = (3.00000000E+00*_E[5] + _F)*2.50000000E-01; + _E[0] = _E[5]; + _E[1] = (_E0 + _F) - _E[5]; + _E[2] = _B; + } else { + _E[2] = _E[2] + 8.75000000E-01*(_B - _E[2]); + _E[1] = (_E0 + _B) - _E[2]; + _E[5] = _E[1]; + } + } + } else { + if (_e != _f && _i == _e && _e == _a && _e != _c && _e != _b) { + _E[2] = _E[2] + 8.75000000E-01*(_B - _E[2]); + _E[1] = _E0 + 1.25000000E-01*(_B - _E0); + _E[5] = _E[5] + 1.25000000E-01*(_F - _E[5]); + } + } + if (_e != _b && _b == _d && (_e != _a && (_e != _h || _e != _f || _h == _g5 && _f == _c4 || _d != _h && _d != _g || _b != _f && _b != _c) || _e == _c && (_a == _b || _e == _f || _b != _f) || _e == _g && (_a == _b || _e == _h || _d != _h))) { + if (_e == _g && _e == _f && _b == _c) { + _E[3] = (3.00000000E+00*_E0 + _D)*2.50000000E-01; + _E[2] = _E[3]; + _E[1] = (_E[1] + _D) - _E[3]; + _E[0] = _B; + } else { + if (_e == _c && _e == _h && _d == _g) { + _E[1] = (3.00000000E+00*_E[1] + _B)*2.50000000E-01; + _E[6] = _E[1]; + _E[3] = (_E0 + _B) - _E[1]; + _E[0] = _D; + } else { + _E[0] = _E[0] + 8.75000000E-01*(_D - _E[0]); + _E[3] = (_E0 + _D) - _E[0]; + _E[1] = _E[3]; + } + } + } else { + if (_e != _b && _c == _e && _e == _g && _e != _a && _e != _d) { + _E[0] = _E[0] + 8.75000000E-01*(_D - _E[0]); + _E[3] = _E0 + 1.25000000E-01*(_D - _E0); + _E[1] = _E[1] + 1.25000000E-01*(_B - _E[1]); + } + } + if (_e != _d && _d == _h && (_e != _g && (_e != _f || _e != _b || _f == _i4 && _b == _a1 || _h != _f && _h != _i || _d != _b && _d != _a) || _e == _a && (_g == _d || _e == _b || _d != _b) || _e == _i && (_g == _d || _e == _f || _h != _f))) { + if (_e == _i && _e == _b && _d == _a) { + _E[7] = (3.00000000E+00*_E[7] + _H)*2.50000000E-01; + _E[0] = _E[7]; + _E[3] = (_E[3] + _H) - _E[7]; + _E[6] = _D; + } else { + if (_e == _a && _e == _f && _h == _i) { + _E[3] = (3.00000000E+00*_E[3] + _D)*2.50000000E-01; + _E[8] = _E[3]; + _E[7] = (_E[7] + _D) - _E[3]; + _E[6] = _H; + } else { + _E[6] = _E[6] + 8.75000000E-01*(_H - _E[6]); + _E[7] = (_E[7] + _H) - _E[6]; + _E[3] = _E[7]; + } + } + } else { + if (_e != _d && _a == _e && _e == _i && _e != _g && _e != _h) { + _E[6] = _E[6] + 8.75000000E-01*(_H - _E[6]); + _E[7] = _E[7] + 1.25000000E-01*(_H - _E[7]); + _E[3] = _E[3] + 1.25000000E-01*(_D - _E[3]); + } + } + if (_fp.x < 3.33333343E-01) { + if (_fp.y < 3.33333343E-01) { + _TMP23 = _E[0]; + } else { + if (_fp.y < 6.66666687E-01) { + _TMP24 = _E[3]; + } else { + _TMP24 = _E[6]; + } + _TMP23 = _TMP24; + } + _res = vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)); + } else { + if (_fp.x < 6.66666687E-01) { + if (_fp.y < 3.33333343E-01) { + _TMP25 = _E[1]; + } else { + if (_fp.y < 6.66666687E-01) { + _TMP26 = _E0; + } else { + _TMP26 = _E[7]; + } + _TMP25 = _TMP26; + } + _res = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + } else { + if (_fp.y < 3.33333343E-01) { + _TMP27 = _E[2]; + } else { + if (_fp.y < 6.66666687E-01) { + _TMP28 = _E[5]; + } else { + _TMP28 = _E[8]; + } + _TMP27 = _TMP28; + } + _res = vec3(float(_TMP27.x), float(_TMP27.y), float(_TMP27.z)); + } + } + _OUT._color1 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _OUT._color1; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/4xBR-v3.5_plus_CRT.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/4xBR-v3.5_plus_CRT.glsl new file mode 100644 index 0000000000..868471007f --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/4xBR-v3.5_plus_CRT.glsl @@ -0,0 +1,967 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(0.00000000E+00, -_ps.y); + _OUT._t1.zw = vec2(-_ps.x, 0.00000000E+00); + _ret_0._position1 = _r0006; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP57; +vec3 _TMP76; +float _TMP75; +float _TMP74; +float _TMP73; +vec4 _TMP56; +vec3 _TMP55; +float _TMP72; +float _TMP71; +float _TMP70; +float _TMP78; +vec3 _TMP40; +vec3 _TMP48; +vec3 _TMP52; +vec3 _TMP53; +vec3 _TMP54; +vec3 _TMP49; +vec3 _TMP50; +vec3 _TMP51; +vec3 _TMP41; +vec3 _TMP45; +vec3 _TMP46; +vec3 _TMP47; +vec3 _TMP42; +vec3 _TMP43; +vec3 _TMP44; +vec3 _TMP35; +vec3 _TMP34; +vec3 _TMP33; +vec3 _TMP23; +vec3 _TMP22; +vec3 _TMP64; +vec3 _TMP77; +float _TMP79; +vec3 _TMP62; +vec3 _TMP60; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec2 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0111; +vec2 _c0115; +vec2 _c0117; +vec2 _c0119; +vec2 _c0121; +vec2 _c0125; +vec2 _c0127; +vec2 _c0129; +vec2 _c0131; +vec2 _c0133; +vec2 _c0135; +vec2 _c0137; +vec2 _c0139; +vec2 _c0141; +vec2 _c0143; +vec2 _c0145; +vec2 _c0147; +vec2 _c0149; +vec2 _c0151; +float _a0189; +float _b0189; +float _c0189; +vec3 _r0191; +vec3 _r0201; +vec3 _r0211; +float _a0221; +float _b0221; +float _c0221; +vec3 _r0223; +vec3 _r0233; +vec3 _r0243; +float _a0253; +float _b0253; +float _c0253; +vec3 _r0255; +vec3 _r0265; +vec3 _r0275; +float _a0285; +float _b0285; +float _c0285; +vec3 _r0287; +vec3 _r0297; +vec3 _r0307; +float _a0317; +float _b0317; +float _c0317; +vec3 _r0319; +vec3 _r0329; +vec3 _r0339; +float _a0349; +float _b0349; +float _c0349; +vec3 _r0351; +vec3 _r0361; +vec3 _r0371; +float _a0381; +float _b0381; +float _c0381; +vec3 _r0383; +vec3 _r0393; +vec3 _r0403; +float _a0413; +float _b0413; +float _c0413; +vec3 _r0415; +vec3 _r0425; +vec3 _r0435; +float _a0605; +float _b0605; +float _c0605; +vec3 _r0607; +vec3 _r0617; +vec3 _r0627; +float _a0669; +float _b0669; +float _c0669; +vec3 _r0671; +vec3 _r0681; +vec3 _r0691; +float _a0765; +float _b0765; +float _c0765; +vec3 _r0767; +vec3 _r0777; +vec3 _r0787; +float _a0797; +float _b0797; +float _c0797; +vec3 _r0799; +vec3 _r0809; +vec3 _r0819; +vec3 _TMP830; +vec3 _a0833; +vec3 _TMP834; +vec3 _a0837; +vec3 _TMP838; +vec3 _a0841; +vec3 _TMP842; +vec3 _a0845; +vec3 _TMP846; +vec3 _a0849; +vec3 _TMP852; +vec3 _a0855; +vec3 _TMP856; +vec3 _a0859; +vec3 _TMP860; +vec3 _a0863; +vec3 _TMP864; +vec3 _a0867; +vec3 _TMP868; +vec3 _a0871; +vec3 _TMP872; +vec3 _a0875; +vec3 _TMP876; +vec3 _a0879; +vec3 _TMP880; +vec3 _a0883; +vec3 _TMP884; +vec3 _a0887; +vec3 _TMP888; +vec3 _a0891; +vec3 _TMP892; +vec3 _a0895; +vec2 _c0935; +vec3 _TMP952; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec3 _edr; + bvec3 _edr_left; + bvec3 _edr_up; + bvec3 _px; + bvec3 _interp_restriction_lv1; + bvec3 _interp_restriction_lv2_left; + bvec3 _interp_restriction_lv2_up; + vec3 _E11; + vec3 _E14; + vec3 _E15; + vec2 _fp; + vec2 _st; + vec2 _g1; + vec2 _g2; + vec3 _A1; + vec3 _B1; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _C1; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _B11; + vec3 _D0; + vec3 _b2; + vec3 _c2; + vec3 _d1; + vec3 _e1; + vec3 _f1; + vec3 _g3; + vec3 _h1; + vec3 _i; + vec3 _i4; + vec3 _i5; + vec3 _h5; + vec3 _f4; + vec3 _color; + float _dy; + float _v_weight_00; + vec2 _coords10; + vec3 _colorNB; + float _v_weight_10; + _x0111 = TEX0.xy*TextureSize; + _fp = fract(_x0111); + _TMP0 = vec2(float((_fp.x >= 5.00000000E-01)), float((_fp.y >= 5.00000000E-01))); + _st = vec2(float(_TMP0.x), float(_TMP0.y)); + _g1 = TEX1.xy*((_st.x + _st.y) - 1.00000000E+00) + TEX1.zw*(_st.x - _st.y); + _g2 = TEX1.xy*(_st.y - _st.x) + TEX1.zw*((_st.x + _st.y) - 1.00000000E+00); + _c0115 = TEX0.xy + vec2(float(_g1.x), float(_g1.y)) + vec2(float(_g2.x), float(_g2.y)); + _TMP1 = texture2D(Texture, _c0115); + _A1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0117 = TEX0.xy + vec2(float(_g1.x), float(_g1.y)); + _TMP2 = texture2D(Texture, _c0117); + _B1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0119 = (TEX0.xy + vec2(float(_g1.x), float(_g1.y))) - vec2(float(_g2.x), float(_g2.y)); + _TMP3 = texture2D(Texture, _c0119); + _C = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0121 = TEX0.xy + vec2(float(_g2.x), float(_g2.y)); + _TMP4 = texture2D(Texture, _c0121); + _D = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0125 = TEX0.xy - vec2(float(_g2.x), float(_g2.y)); + _TMP6 = texture2D(Texture, _c0125); + _F = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0127 = (TEX0.xy - vec2(float(_g1.x), float(_g1.y))) + vec2(float(_g2.x), float(_g2.y)); + _TMP7 = texture2D(Texture, _c0127); + _G = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0129 = TEX0.xy - vec2(float(_g1.x), float(_g1.y)); + _TMP8 = texture2D(Texture, _c0129); + _H = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0131 = (TEX0.xy - vec2(float(_g1.x), float(_g1.y))) - vec2(float(_g2.x), float(_g2.y)); + _TMP9 = texture2D(Texture, _c0131); + _I = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0133 = (TEX0.xy + vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y))) - vec2(float(_g2.x), float(_g2.y)); + _TMP10 = texture2D(Texture, _c0133); + _C1 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0135 = (TEX0.xy - vec2(float(_g1.x), float(_g1.y))) + vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP11 = texture2D(Texture, _c0135); + _G0 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0137 = (TEX0.xy + vec2(float(_g1.x), float(_g1.y))) - vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP12 = texture2D(Texture, _c0137); + _C4 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0139 = TEX0.xy - vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP13 = texture2D(Texture, _c0139); + _F4 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0141 = (TEX0.xy - vec2(float(_g1.x), float(_g1.y))) - vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP14 = texture2D(Texture, _c0141); + _I4 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0143 = (TEX0.xy - vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y))) + vec2(float(_g2.x), float(_g2.y)); + _TMP15 = texture2D(Texture, _c0143); + _G5 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0145 = TEX0.xy - vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y)); + _TMP16 = texture2D(Texture, _c0145); + _H5 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _c0147 = (TEX0.xy - vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y))) - vec2(float(_g2.x), float(_g2.y)); + _TMP17 = texture2D(Texture, _c0147); + _I5 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _c0149 = TEX0.xy + vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y)); + _TMP18 = texture2D(Texture, _c0149); + _B11 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _c0151 = TEX0.xy + vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP19 = texture2D(Texture, _c0151); + _D0 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0191.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0191.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0191.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0191.x), float(_r0191.y), float(_r0191.z))); + _TMP60 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _a0189 = float(_TMP60.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0201.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0201.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0201.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0201.x), float(_r0201.y), float(_r0201.z))); + _TMP62 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _b0189 = float(_TMP62.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0211.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0211.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0211.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0211.x), float(_r0211.y), float(_r0211.z))); + _TMP64 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _c0189 = float(_TMP64.x); + _b2 = vec3(_a0189, _b0189, _c0189); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0223.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0223.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0223.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0223.x), float(_r0223.y), float(_r0223.z))); + _TMP60 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _a0221 = float(_TMP60.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0233.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0233.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0233.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0233.x), float(_r0233.y), float(_r0233.z))); + _TMP62 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _b0221 = float(_TMP62.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0243.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0243.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0243.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0243.x), float(_r0243.y), float(_r0243.z))); + _TMP64 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _c0221 = float(_TMP64.x); + _c2 = vec3(_a0221, _b0221, _c0221); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0255.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0255.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0255.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0255.x), float(_r0255.y), float(_r0255.z))); + _TMP60 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _a0253 = float(_TMP60.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0265.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0265.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0265.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0265.x), float(_r0265.y), float(_r0265.z))); + _TMP62 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _b0253 = float(_TMP62.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0275.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0275.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0275.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0275.x), float(_r0275.y), float(_r0275.z))); + _TMP64 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _c0253 = float(_TMP64.x); + _d1 = vec3(_a0253, _b0253, _c0253); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0287.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0287.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0287.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0287.x), float(_r0287.y), float(_r0287.z))); + _TMP60 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _a0285 = float(_TMP60.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0297.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0297.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0297.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0297.x), float(_r0297.y), float(_r0297.z))); + _TMP62 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _b0285 = float(_TMP62.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0307.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0307.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0307.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0307.x), float(_r0307.y), float(_r0307.z))); + _TMP64 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _c0285 = float(_TMP64.x); + _e1 = vec3(_a0285, _b0285, _c0285); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0319.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0319.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0319.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0319.x), float(_r0319.y), float(_r0319.z))); + _TMP60 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _a0317 = float(_TMP60.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0329.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0329.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0329.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0329.x), float(_r0329.y), float(_r0329.z))); + _TMP62 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _b0317 = float(_TMP62.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0339.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0339.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0339.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0339.x), float(_r0339.y), float(_r0339.z))); + _TMP64 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _c0317 = float(_TMP64.x); + _f1 = vec3(_a0317, _b0317, _c0317); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0351.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0351.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0351.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0351.x), float(_r0351.y), float(_r0351.z))); + _TMP60 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _a0349 = float(_TMP60.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0361.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0361.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0361.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0361.x), float(_r0361.y), float(_r0361.z))); + _TMP62 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _b0349 = float(_TMP62.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0371.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0371.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0371.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0371.x), float(_r0371.y), float(_r0371.z))); + _TMP64 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _c0349 = float(_TMP64.x); + _g3 = vec3(_a0349, _b0349, _c0349); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0383.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0383.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0383.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0383.x), float(_r0383.y), float(_r0383.z))); + _TMP60 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _a0381 = float(_TMP60.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0393.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0393.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0393.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0393.x), float(_r0393.y), float(_r0393.z))); + _TMP62 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _b0381 = float(_TMP62.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0403.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0403.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0403.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0403.x), float(_r0403.y), float(_r0403.z))); + _TMP64 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _c0381 = float(_TMP64.x); + _h1 = vec3(_a0381, _b0381, _c0381); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0415.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0415.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0415.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0415.x), float(_r0415.y), float(_r0415.z))); + _TMP60 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _a0413 = float(_TMP60.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0425.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0425.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0425.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0425.x), float(_r0425.y), float(_r0425.z))); + _TMP62 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _b0413 = float(_TMP62.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0435.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0435.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0435.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0435.x), float(_r0435.y), float(_r0435.z))); + _TMP64 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _c0413 = float(_TMP64.x); + _i = vec3(_a0413, _b0413, _c0413); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0607.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0607.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0607.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0607.x), float(_r0607.y), float(_r0607.z))); + _TMP60 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _a0605 = float(_TMP60.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0617.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0617.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0617.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0617.x), float(_r0617.y), float(_r0617.z))); + _TMP62 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _b0605 = float(_TMP62.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0627.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0627.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0627.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0627.x), float(_r0627.y), float(_r0627.z))); + _TMP64 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _c0605 = float(_TMP64.x); + _i4 = vec3(_a0605, _b0605, _c0605); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0671.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0671.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0671.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0671.x), float(_r0671.y), float(_r0671.z))); + _TMP60 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _a0669 = float(_TMP60.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0681.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0681.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0681.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0681.x), float(_r0681.y), float(_r0681.z))); + _TMP62 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _b0669 = float(_TMP62.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0691.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0691.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0691.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0691.x), float(_r0691.y), float(_r0691.z))); + _TMP64 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _c0669 = float(_TMP64.x); + _i5 = vec3(_a0669, _b0669, _c0669); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0767.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0767.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0767.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0767.x), float(_r0767.y), float(_r0767.z))); + _TMP60 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _a0765 = float(_TMP60.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0777.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0777.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0777.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0777.x), float(_r0777.y), float(_r0777.z))); + _TMP62 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _b0765 = float(_TMP62.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0787.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0787.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0787.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0787.x), float(_r0787.y), float(_r0787.z))); + _TMP64 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _c0765 = float(_TMP64.x); + _h5 = vec3(_a0765, _b0765, _c0765); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0799.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0799.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0799.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0799.x), float(_r0799.y), float(_r0799.z))); + _TMP60 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _a0797 = float(_TMP60.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0809.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0809.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0809.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0809.x), float(_r0809.y), float(_r0809.z))); + _TMP62 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _b0797 = float(_TMP62.x); + _TMP79 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0819.x = float(_TMP79); + _TMP79 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0819.y = float(_TMP79); + _TMP79 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0819.z = float(_TMP79); + _TMP77 = abs(vec3(float(_r0819.x), float(_r0819.y), float(_r0819.z))); + _TMP64 = vec3(float(_TMP77.x), float(_TMP77.y), float(_TMP77.z)); + _c0797 = float(_TMP64.x); + _f4 = vec3(_a0797, _b0797, _c0797); + _interp_restriction_lv1 = bvec3(_e1.x != _f1.x && _e1.x != _h1.x, _e1.y != _f1.y && _e1.y != _h1.y, _e1.z != _f1.z && _e1.z != _h1.z); + _interp_restriction_lv2_left = bvec3(_e1.x != _g3.x && _d1.x != _g3.x, _e1.y != _g3.y && _d1.y != _g3.y, _e1.z != _g3.z && _d1.z != _g3.z); + _interp_restriction_lv2_up = bvec3(_e1.x != _c2.x && _b2.x != _c2.x, _e1.y != _c2.y && _b2.y != _c2.y, _e1.z != _c2.z && _b2.z != _c2.z); + _a0833 = _e1 - _c2; + _TMP830 = abs(_a0833); + _a0837 = _e1 - _g3; + _TMP834 = abs(_a0837); + _a0841 = _i - _h5; + _TMP838 = abs(_a0841); + _a0845 = _i - _f4; + _TMP842 = abs(_a0845); + _a0849 = _h1 - _f1; + _TMP846 = abs(_a0849); + _TMP22 = _TMP830 + _TMP834 + _TMP838 + _TMP842 + 4.00000000E+00*_TMP846; + _a0855 = _h1 - _d1; + _TMP852 = abs(_a0855); + _a0859 = _h1 - _i5; + _TMP856 = abs(_a0859); + _a0863 = _f1 - _i4; + _TMP860 = abs(_a0863); + _a0867 = _f1 - _b2; + _TMP864 = abs(_a0867); + _a0871 = _e1 - _i; + _TMP868 = abs(_a0871); + _TMP23 = _TMP852 + _TMP856 + _TMP860 + _TMP864 + 4.00000000E+00*_TMP868; + _edr = bvec3(_TMP22.x < _TMP23.x && _interp_restriction_lv1.x, _TMP22.y < _TMP23.y && _interp_restriction_lv1.y, _TMP22.z < _TMP23.z && _interp_restriction_lv1.z); + _a0875 = _f1 - _g3; + _TMP872 = abs(_a0875); + _a0879 = _h1 - _c2; + _TMP876 = abs(_a0879); + _edr_left = bvec3((2.00000000E+00*_TMP872).x <= _TMP876.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP872).y <= _TMP876.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP872).z <= _TMP876.z && _interp_restriction_lv2_left.z); + _a0883 = _f1 - _g3; + _TMP880 = abs(_a0883); + _a0887 = _h1 - _c2; + _TMP884 = abs(_a0887); + _edr_up = bvec3(_TMP880.x >= (2.00000000E+00*_TMP884).x && _interp_restriction_lv2_up.x, _TMP880.y >= (2.00000000E+00*_TMP884).y && _interp_restriction_lv2_up.y, _TMP880.z >= (2.00000000E+00*_TMP884).z && _interp_restriction_lv2_up.z); + _a0891 = _e1 - _f1; + _TMP888 = abs(_a0891); + _a0895 = _e1 - _h1; + _TMP892 = abs(_a0895); + _px = bvec3(_TMP888.x <= _TMP892.x, _TMP888.y <= _TMP892.y, _TMP888.z <= _TMP892.z); + _E15 = _E; + _E14 = _E; + _E11 = _E; + if (_px.x) { + _TMP33 = _F; + } else { + _TMP33 = _H; + } + if (_px.y) { + _TMP34 = _B1; + } else { + _TMP34 = _F; + } + if (_px.z) { + _TMP35 = _H; + } else { + _TMP35 = _D; + } + if (_edr.x && _edr_left.x && _edr_up.x) { + _E15 = _TMP33; + _E14 = _TMP33; + _E11 = _TMP33; + } else { + if (_edr.x && _edr_left.x) { + _E11 = _E + 7.50000000E-01*(_TMP33 - _E); + _E15 = _TMP33; + _E14 = _TMP33; + } else { + if (_edr.x && _edr_up.x) { + _E14 = _E + 7.50000000E-01*(_TMP33 - _E); + _E15 = _TMP33; + _E11 = _TMP33; + } else { + if (_edr.y && _edr_left.y && _edr.z && _edr_up.z) { + _E11 = _E + 7.50000000E-01*(_TMP34 - _E); + _E14 = _E + 7.50000000E-01*(_TMP35 - _E); + _E15 = _E + 2.50000000E-01*(_TMP34 - _E); + _E15 = _E15 + 2.50000000E-01*(_TMP35 - _E15); + } else { + if (_edr.y && _edr_left.y) { + _E11 = _E + 7.50000000E-01*(_TMP34 - _E); + _E15 = _E + 2.50000000E-01*(_TMP34 - _E); + } else { + if (_edr.z && _edr_up.z) { + _E14 = _E + 7.50000000E-01*(_TMP35 - _E); + _E15 = _E + 2.50000000E-01*(_TMP35 - _E); + } else { + if (_edr.x) { + _E11 = _E + 5.00000000E-01*(_TMP33 - _E); + _E14 = _E + 5.00000000E-01*(_TMP33 - _E); + _E15 = _TMP33; + } + } + } + } + } + } + } + if (_fp.x < 5.00000000E-01) { + if (_fp.x < 2.50000000E-01) { + if (_fp.y < 2.50000000E-01) { + _TMP42 = _E15; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP43 = _E11; + } else { + if (_fp.y < 7.50000000E-01) { + _TMP44 = _E14; + } else { + _TMP44 = _E15; + } + _TMP43 = _TMP44; + } + _TMP42 = _TMP43; + } + _TMP41 = _TMP42; + } else { + if (_fp.y < 2.50000000E-01) { + _TMP45 = _E14; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP46 = _E; + } else { + if (_fp.y < 7.50000000E-01) { + _TMP47 = _E; + } else { + _TMP47 = _E11; + } + _TMP46 = _TMP47; + } + _TMP45 = _TMP46; + } + _TMP41 = _TMP45; + } + _TMP40 = _TMP41; + } else { + if (_fp.x < 7.50000000E-01) { + if (_fp.y < 2.50000000E-01) { + _TMP49 = _E11; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP50 = _E; + } else { + if (_fp.y < 7.50000000E-01) { + _TMP51 = _E; + } else { + _TMP51 = _E14; + } + _TMP50 = _TMP51; + } + _TMP49 = _TMP50; + } + _TMP48 = _TMP49; + } else { + if (_fp.y < 2.50000000E-01) { + _TMP52 = _E15; + } else { + if (_fp.y < 5.00000000E-01) { + _TMP53 = _E14; + } else { + if (_fp.y < 7.50000000E-01) { + _TMP54 = _E11; + } else { + _TMP54 = _E15; + } + _TMP53 = _TMP54; + } + _TMP52 = _TMP53; + } + _TMP48 = _TMP52; + } + _TMP40 = _TMP48; + } + _TMP78 = pow(float(_TMP40.x), 2.40039062E+00); + _TMP70 = float(_TMP78); + _TMP78 = pow(float(_TMP40.y), 2.40039062E+00); + _TMP71 = float(_TMP78); + _TMP78 = pow(float(_TMP40.z), 2.40039062E+00); + _TMP72 = float(_TMP78); + _TMP55 = vec3(_TMP70, _TMP71, _TMP72); + _color = vec3(float(_TMP55.x), float(_TMP55.y), float(_TMP55.z)); + _dy = _fp.y - 5.00000000E-01; + _v_weight_00 = _dy/5.00000000E-01; + if (_v_weight_00 > 1.00000000E+00) { + _v_weight_00 = 1.00000000E+00; + } + _v_weight_00 = 1.00000000E+00 - _v_weight_00*_v_weight_00; + _v_weight_00 = _v_weight_00*_v_weight_00; + _color = _color*vec3(_v_weight_00, _v_weight_00, _v_weight_00); + if (_dy > 0.00000000E+00) { + _coords10 = vec2(float((-TEX1.xy).x), float((-TEX1.xy).y)); + _dy = 1.00000000E+00 - _dy; + } else { + _coords10 = vec2(float(TEX1.x), float(TEX1.y)); + _dy = 1.00000000E+00 + _dy; + } + _c0935 = TEX0.xy + _coords10; + _TMP56 = texture2D(Texture, _c0935); + _TMP73 = pow(_TMP56.x, 2.40000010E+00); + _TMP74 = pow(_TMP56.y, 2.40000010E+00); + _TMP75 = pow(_TMP56.z, 2.40000010E+00); + _colorNB = vec3(_TMP73, _TMP74, _TMP75); + _v_weight_10 = _dy/5.00000000E-01; + if (_v_weight_10 > 1.00000000E+00) { + _v_weight_10 = 1.00000000E+00; + } + _v_weight_10 = 1.00000000E+00 - _v_weight_10*_v_weight_10; + _v_weight_10 = _v_weight_10*_v_weight_10; + _color = _color + _colorNB*vec3(_v_weight_10, _v_weight_10, _v_weight_10); + _color = _color*vec3( 1.45000005E+00, 1.45000005E+00, 1.45000005E+00); + _TMP73 = pow(_color.x, 4.54545438E-01); + _TMP74 = pow(_color.y, 4.54545438E-01); + _TMP75 = pow(_color.z, 4.54545438E-01); + _TMP57 = vec3(_TMP73, _TMP74, _TMP75); + _TMP76 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _TMP57); + _TMP952 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP76); + _ret_0 = vec4(float(_TMP952.x), float(_TMP952.y), float(_TMP952.z), 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v2.1.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v2.1.glsl new file mode 100644 index 0000000000..65ed7ce68a --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v2.1.glsl @@ -0,0 +1,301 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT._t1.xy = vec2(0.00000000E+00, -_ps.y); + _OUT._t1.zw = vec2(-_ps.x, 0.00000000E+00); + _ret_0._position1 = _r0003; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = _r0003; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _color1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color1; + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +float _TMP15; +float _TMP16; +vec4 _TMP13; +vec4 _TMP11; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0022; +vec2 _c0026; +vec2 _c0028; +vec2 _c0030; +vec2 _c0032; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0048; +vec2 _c0052; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec2 _st; + vec2 _g1; + vec2 _g2; + float _AO; + float _BO; + float _CO; + float _AX; + float _BX; + float _CX; + float _AY; + float _BY; + float _CY; + vec3 _A; + vec3 _B; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _C4; + vec3 _G5; + float _a; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + float _c4; + float _g5; + vec3 _res; + bool _fx_1; + bool _fx_2; + bool _fx_3; + bool _condition_1; + bool _condition_1a; + bool _condition_1b; + bool _condition_2; + bool _condition_3; + bool _condition_4; + bool _condition_7; + bool _condition_8; + bool _condition_7a; + bool _condition_8a; + _x0022 = TEX0.xy*TextureSize; + _fp = fract(_x0022); + _st = vec2(float((_fp.x >= 5.00000000E-01)), float((_fp.y >= 5.00000000E-01))); + _g1 = TEX1.xy*((_st.x + _st.y) - 1.00000000E+00) + TEX1.zw*(_st.x - _st.y); + _g2 = TEX1.xy*(_st.y - _st.x) + TEX1.zw*((_st.x + _st.y) - 1.00000000E+00); + _AO = 2.00000000E+00*_st.y - 1.00000000E+00; + _BO = 2.00000000E+00*_st.x - 1.00000000E+00; + _CO = (_st.x + _st.y) - 5.00000000E-01; + _AX = (5.00000000E-01*_st.x + 1.50000000E+00*_st.y) - 1.00000000E+00; + _BX = (1.50000000E+00*_st.x - 5.00000000E-01*_st.y) - 5.00000000E-01; + _CX = (_st.x + 5.00000000E-01*_st.y) - 5.00000000E-01; + _AY = (-5.00000000E-01*_st.x + 1.50000000E+00*_st.y) - 5.00000000E-01; + _BY = (1.50000000E+00*_st.x + 5.00000000E-01*_st.y) - 1.00000000E+00; + _CY = (5.00000000E-01*_st.x + _st.y) - 5.00000000E-01; + _c0026 = TEX0.xy + _g1 + _g2; + _TMP0 = texture2D(Texture, _c0026); + _A = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0028 = TEX0.xy + _g1; + _TMP1 = texture2D(Texture, _c0028); + _B = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0030 = (TEX0.xy + _g1) - _g2; + _TMP2 = texture2D(Texture, _c0030); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0032 = TEX0.xy + _g2; + _TMP3 = texture2D(Texture, _c0032); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0036 = TEX0.xy - _g2; + _TMP5 = texture2D(Texture, _c0036); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0038 = (TEX0.xy - _g1) + _g2; + _TMP6 = texture2D(Texture, _c0038); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0040 = TEX0.xy - _g1; + _TMP7 = texture2D(Texture, _c0040); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0042 = (TEX0.xy - _g1) - _g2; + _TMP8 = texture2D(Texture, _c0042); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0048 = (TEX0.xy + _g1) - 2.00000000E+00*_g2; + _TMP11 = texture2D(Texture, _c0048); + _C4 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0052 = (TEX0.xy - 2.00000000E+00*_g1) + _g2; + _TMP13 = texture2D(Texture, _c0052); + _G5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP16 = dot(vec3(float(_A.x), float(_A.y), float(_A.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP15 = float(_TMP16); + _a = float(_TMP15); + _TMP16 = dot(vec3(float(_B.x), float(_B.y), float(_B.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP15 = float(_TMP16); + _b = float(_TMP15); + _TMP16 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP15 = float(_TMP16); + _c = float(_TMP15); + _TMP16 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP15 = float(_TMP16); + _d = float(_TMP15); + _TMP16 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP15 = float(_TMP16); + _e = float(_TMP15); + _TMP16 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP15 = float(_TMP16); + _f = float(_TMP15); + _TMP16 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP15 = float(_TMP16); + _g = float(_TMP15); + _TMP16 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP15 = float(_TMP16); + _h = float(_TMP15); + _TMP16 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP15 = float(_TMP16); + _i = float(_TMP15); + _TMP16 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP15 = float(_TMP16); + _c4 = float(_TMP15); + _TMP16 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP15 = float(_TMP16); + _g5 = float(_TMP15); + _res = vec3(float(_E.x), float(_E.y), float(_E.z)); + _fx_1 = _AO*_fp.y + _BO*_fp.x > _CO; + _fx_2 = _AX*_fp.y + _BX*_fp.x > _CX; + _fx_3 = _AY*_fp.y + _BY*_fp.x > _CY; + _condition_1a = _e == _c && _e == _d && _h == _g; + _condition_1b = _e == _g && _e == _b && _f == _c; + _condition_1 = _e != _h && _h == _f && (_e != _i && (_e != _b || _e != _d || _f != _b && _f != _c || _h != _d && _h != _g) || _e == _g && (_i == _h || _e == _d || _h != _d) || _e == _c && (_i == _h || _e == _b || _f != _b)); + _condition_2 = _e != _h && _e != _f && _f != _i && _e == _c && (_h == _i && _f != _b || _e != _i && _f == _c4); + _condition_3 = _e != _h && _e != _f && _h != _i && _e == _g && (_f == _i && _h != _d || _e != _i && _h == _g5); + _condition_4 = _e != _h && _g == _e && _e == _c && _e != _i && _e != _f; + _condition_7 = _e != _f && _f == _b && (_e != _c && (_e != _d || _e != _h || _b != _d && _b != _a || _f != _h && _f != _i) || _e == _i && (_c == _f || _e == _h || _f != _h)); + _condition_8 = _e != _d && _d == _h && (_e != _g && (_e != _f || _e != _b || _h != _f && _h != _i || _d != _b && _d != _a) || _e == _i && (_g == _d || _e == _f || _h != _f)); + _condition_7a = _e == _a && _e == _h && _f == _i; + _condition_8a = _e == _a && _e == _f && _h == _i; + if (_condition_1 && (_fx_1 || _condition_1a && _fx_2 || _condition_1b && _fx_3) || _condition_8 && _condition_8a && _BY*_fp.y + _AY*(1.00000000E+00 - _fp.x) > _CY || _fx_1 && _condition_3) { + _res = vec3(float(_H.x), float(_H.y), float(_H.z)); + } else { + if (_condition_7 && _condition_7a && _BX*(1.00000000E+00 - _fp.y) + _AX*_fp.x > _CX || _fx_1 && _condition_2) { + _res = vec3(float(_F.x), float(_F.y), float(_F.z)); + } else { + if (_fx_1 && _condition_4) { + _res = vec3(float(((_F + _H)*5.00000000E-01).x), float(((_F + _H)*5.00000000E-01).y), float(((_F + _H)*5.00000000E-01).z)); + } + } + } + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v2.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v2.glsl new file mode 100644 index 0000000000..7bd946a800 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v2.glsl @@ -0,0 +1,257 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; +}; +out_vertex _ret_0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0003; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _r0003.x = dot(MVPMatrix_[0], VertexCoord); + _r0003.y = dot(MVPMatrix_[1], VertexCoord); + _r0003.z = dot(MVPMatrix_[2], VertexCoord); + _r0003.w = dot(MVPMatrix_[3], VertexCoord); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT._t1.xy = TexCoord.xy + vec2(-_ps.x, 0.00000000E+00); + _OUT._t2.xy = TexCoord.xy + vec2(_ps.x, 0.00000000E+00); + _OUT._t3.xy = TexCoord.xy + vec2(0.00000000E+00, -_ps.y); + _OUT._t4.xy = TexCoord.xy + vec2(0.00000000E+00, _ps.y); + _OUT._t1.zw = TexCoord.xy + vec2(-_ps.x, -_ps.y); + _OUT._t2.zw = TexCoord.xy + vec2(-_ps.x, _ps.y); + _OUT._t3.zw = TexCoord.xy + vec2(_ps.x, -_ps.y); + _OUT._t4.zw = TexCoord.xy + vec2(_ps.x, _ps.y); + _ret_0._position1 = _r0003; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + _ret_0._t2 = _OUT._t2; + _ret_0._t3 = _OUT._t3; + _ret_0._t4 = _OUT._t4; + gl_Position = _r0003; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + TEX2 = _OUT._t2; + TEX3 = _OUT._t3; + TEX4 = _OUT._t4; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _color1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; +}; +vec4 _ret_0; +float _TMP9; +float _TMP10; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0016; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec3 _A; + vec3 _B; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + float _a; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + vec3 _res; + _x0016 = TEX0.xy*TextureSize; + _fp = fract(_x0016); + _TMP0 = texture2D(Texture, TEX1.zw); + _A = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, TEX3.xy); + _B = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, TEX3.zw); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, TEX1.xy); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, TEX2.xy); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, TEX2.zw); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, TEX4.xy); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, TEX4.zw); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP10 = dot(vec3(float(_A.x), float(_A.y), float(_A.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP9 = float(_TMP10); + _a = float(_TMP9); + _TMP10 = dot(vec3(float(_B.x), float(_B.y), float(_B.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP9 = float(_TMP10); + _b = float(_TMP9); + _TMP10 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP9 = float(_TMP10); + _c = float(_TMP9); + _TMP10 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP9 = float(_TMP10); + _d = float(_TMP9); + _TMP10 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP9 = float(_TMP10); + _e = float(_TMP9); + _TMP10 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP9 = float(_TMP10); + _f = float(_TMP9); + _TMP10 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP9 = float(_TMP10); + _g = float(_TMP9); + _TMP10 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP9 = float(_TMP10); + _h = float(_TMP9); + _TMP10 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP9 = float(_TMP10); + _i = float(_TMP9); + _res = vec3(float(_E.x), float(_E.y), float(_E.z)); + if (_e != _h && _h == _f && (_e != _i && (_e != _b || _e != _d || _f != _b && _f != _c || _h != _d && _h != _g) || _e == _g && (_i == _h || _e == _d || _h != _d) || _e == _c && (_i == _h || _e == _b || _f != _b))) { + if (_fp.y + _fp.x > 1.50000000E+00 || _e == _c && _e == _d && _h == _g && _fp.y + 5.00000000E-01*_fp.x > 1.00000000E+00 || _e == _g && _e == _b && _f == _c && _fp.y + 2.00000000E+00*_fp.x > 2.00000000E+00) { + _res = vec3(float(_H.x), float(_H.y), float(_H.z)); + } + } + if (_e != _f && _f == _b && (_e != _c && (_e != _d || _e != _h || _b != _d && _b != _a || _f != _h && _f != _i) || _e == _i && (_c == _f || _e == _h || _f != _h) || _e == _a && (_c == _f || _e == _d || _b != _d))) { + if (-_fp.y + _fp.x > 5.00000000E-01 || _e == _a && _e == _h && _f == _i && -_fp.y + 2.00000000E+00*_fp.x > 1.00000000E+00 || _e == _i && _e == _d && _b == _a && -_fp.y + 5.00000000E-01*_fp.x > 0.00000000E+00) { + _res = vec3(float(_F.x), float(_F.y), float(_F.z)); + } + } + if (_e != _b && _b == _d && (_e != _a && (_e != _h || _e != _f || _d != _h && _d != _g || _b != _f && _b != _c) || _e == _c && (_a == _b || _e == _f || _b != _f) || _e == _g && (_a == _b || _e == _h || _d != _h))) { + if (-_fp.y + -_fp.x > -5.00000000E-01 || _e == _g && _e == _f && _b == _c && -_fp.y + -5.00000000E-01*_fp.x > -5.00000000E-01 || _e == _c && _e == _h && _d == _g && -_fp.y + -2.00000000E+00*_fp.x > -1.00000000E+00) { + _res = vec3(float(_B.x), float(_B.y), float(_B.z)); + } + } + if (_e != _d && _d == _h && (_e != _g && (_e != _f || _e != _b || _h != _f && _h != _i || _d != _b && _d != _a) || _e == _a && (_g == _d || _e == _b || _d != _b) || _e == _i && (_g == _d || _e == _f || _h != _f))) { + if (_fp.y + -_fp.x > 5.00000000E-01 || _e == _i && _e == _b && _d == _a && _fp.y + -2.00000000E+00*_fp.x > 0.00000000E+00 || _e == _a && _e == _f && _h == _i && _fp.y + -5.00000000E-01*_fp.x > 5.00000000E-01) { + _res = vec3(float(_D.x), float(_D.y), float(_D.z)); + } + } + _ret_0 = vec4(_res.x, _res.y, _res.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.2.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.2.glsl new file mode 100644 index 0000000000..eb0183a480 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.2.glsl @@ -0,0 +1,839 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(0.00000000E+00, -_ps.y); + _OUT._t1.zw = vec2(-_ps.x, 0.00000000E+00); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _color1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color1; + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP67; +vec3 _TMP68; +vec3 _TMP69; +float _TMP74; +vec3 _TMP56; +float _TMP58; +float _TMP57; +vec3 _TMP72; +vec3 _TMP75; +vec3 _TMP53; +float _TMP55; +float _TMP54; +vec3 _TMP50; +float _TMP52; +float _TMP51; +float _TMP49; +float _TMP48; +float _TMP47; +float _TMP46; +float _TMP45; +float _TMP44; +float _TMP43; +float _TMP42; +float _TMP41; +float _TMP40; +float _TMP39; +float _TMP38; +float _TMP37; +float _TMP36; +float _TMP35; +float _TMP34; +float _TMP33; +float _TMP32; +float _TMP31; +float _TMP30; +float _TMP29; +float _TMP28; +float _TMP27; +float _TMP26; +float _TMP25; +float _TMP24; +float _TMP23; +float _TMP22; +float _TMP21; +float _TMP20; +float _TMP70; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec2 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0085; +vec2 _c0089; +vec2 _c0091; +vec2 _c0093; +vec2 _c0095; +vec2 _c0099; +vec2 _c0101; +vec2 _c0103; +vec2 _c0105; +vec2 _c0107; +vec2 _c0109; +vec2 _c0111; +vec2 _c0113; +vec2 _c0115; +vec2 _c0117; +vec2 _c0119; +vec2 _c0121; +vec2 _c0123; +vec2 _c0125; +vec3 _r0205; +vec3 _v0205; +vec3 _r0217; +vec3 _v0217; +vec3 _r0229; +vec3 _v0229; +vec3 _r0241; +vec3 _v0241; +vec3 _r0253; +vec3 _v0253; +vec3 _r0265; +vec3 _v0265; +vec3 _r0277; +vec3 _v0277; +vec3 _r0289; +vec3 _v0289; +vec3 _r0301; +vec3 _v0301; +vec3 _r0313; +vec3 _v0313; +vec3 _r0325; +vec3 _v0325; +vec3 _r0337; +vec3 _v0337; +vec3 _r0349; +vec3 _v0349; +vec3 _r0361; +vec3 _v0361; +vec3 _r0373; +vec3 _v0373; +vec3 _r0385; +vec3 _v0385; +vec3 _r0397; +vec3 _v0397; +vec3 _r0409; +vec3 _v0409; +vec3 _r0421; +vec3 _v0421; +vec3 _r0433; +vec3 _v0433; +vec3 _r0445; +vec3 _v0445; +vec3 _r0457; +vec3 _v0457; +vec3 _r0469; +vec3 _v0469; +vec3 _r0481; +vec3 _v0481; +vec3 _r0493; +vec3 _v0493; +vec3 _r0505; +vec3 _v0505; +vec3 _r0517; +vec3 _v0517; +vec3 _r0529; +vec3 _v0529; +vec3 _r0541; +vec3 _v0541; +vec3 _r0553; +vec3 _v0553; +vec3 _r0565; +vec3 _v0565; +vec3 _r0577; +vec3 _v0577; +vec3 _r0589; +vec3 _v0589; +vec3 _r0601; +vec3 _v0601; +vec3 _r0613; +vec3 _v0613; +vec3 _r0625; +vec3 _v0625; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec2 _st; + vec2 _g1; + vec2 _g2; + float _AO; + float _BO; + float _CO; + float _AX; + float _BX; + float _CX; + float _AY; + float _BY; + float _CY; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _C1; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _B11; + vec3 _D0; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + bool _ex; + bool _e_i; + bool _kei; + bool _mei; + bool _ex_ck; + bool _ex_em; + bool _fx_1; + bool _fx_2; + bool _fx_3; + bool _fx_4; + bool _fx_5; + bool _r1; + bool _r2; + bool _r3; + _x0085 = TEX0.xy*TextureSize; + _fp = fract(_x0085); + _TMP0 = vec2(float((_fp.x >= 5.00000000E-01)), float((_fp.y >= 5.00000000E-01))); + _st = vec2(float(_TMP0.x), float(_TMP0.y)); + _g1 = TEX1.xy*((_st.x + _st.y) - 1.00000000E+00) + TEX1.zw*(_st.x - _st.y); + _g2 = TEX1.xy*(_st.y - _st.x) + TEX1.zw*((_st.x + _st.y) - 1.00000000E+00); + _AO = float((2.00000000E+00*_st.y - 1.00000000E+00)); + _BO = float((2.00000000E+00*_st.x - 1.00000000E+00)); + _CO = float(((_st.x + _st.y) - 5.00000000E-01)); + _AX = float(((5.00000000E-01*_st.x + 1.50000000E+00*_st.y) - 1.00000000E+00)); + _BX = float(((1.50000000E+00*_st.x - 5.00000000E-01*_st.y) - 5.00000000E-01)); + _CX = float(((_st.x + 5.00000000E-01*_st.y) - 5.00000000E-01)); + _AY = float(((-5.00000000E-01*_st.x + 1.50000000E+00*_st.y) - 5.00000000E-01)); + _BY = float(((1.50000000E+00*_st.x + 5.00000000E-01*_st.y) - 1.00000000E+00)); + _CY = float(((5.00000000E-01*_st.x + _st.y) - 5.00000000E-01)); + _c0089 = TEX0.xy + vec2(float(_g1.x), float(_g1.y)) + vec2(float(_g2.x), float(_g2.y)); + _TMP1 = texture2D(Texture, _c0089); + _A2 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0091 = TEX0.xy + vec2(float(_g1.x), float(_g1.y)); + _TMP2 = texture2D(Texture, _c0091); + _B2 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0093 = (TEX0.xy + vec2(float(_g1.x), float(_g1.y))) - vec2(float(_g2.x), float(_g2.y)); + _TMP3 = texture2D(Texture, _c0093); + _C = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0095 = TEX0.xy + vec2(float(_g2.x), float(_g2.y)); + _TMP4 = texture2D(Texture, _c0095); + _D = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0099 = TEX0.xy - vec2(float(_g2.x), float(_g2.y)); + _TMP6 = texture2D(Texture, _c0099); + _F = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0101 = (TEX0.xy - vec2(float(_g1.x), float(_g1.y))) + vec2(float(_g2.x), float(_g2.y)); + _TMP7 = texture2D(Texture, _c0101); + _G = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0103 = TEX0.xy - vec2(float(_g1.x), float(_g1.y)); + _TMP8 = texture2D(Texture, _c0103); + _H = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0105 = (TEX0.xy - vec2(float(_g1.x), float(_g1.y))) - vec2(float(_g2.x), float(_g2.y)); + _TMP9 = texture2D(Texture, _c0105); + _I = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0107 = (TEX0.xy + vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y))) - vec2(float(_g2.x), float(_g2.y)); + _TMP10 = texture2D(Texture, _c0107); + _C1 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0109 = (TEX0.xy - vec2(float(_g1.x), float(_g1.y))) + vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP11 = texture2D(Texture, _c0109); + _G0 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0111 = (TEX0.xy + vec2(float(_g1.x), float(_g1.y))) - vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP12 = texture2D(Texture, _c0111); + _C4 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0113 = TEX0.xy - vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP13 = texture2D(Texture, _c0113); + _F4 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0115 = (TEX0.xy - vec2(float(_g1.x), float(_g1.y))) - vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP14 = texture2D(Texture, _c0115); + _I4 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0117 = (TEX0.xy - vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y))) + vec2(float(_g2.x), float(_g2.y)); + _TMP15 = texture2D(Texture, _c0117); + _G5 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0119 = TEX0.xy - vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y)); + _TMP16 = texture2D(Texture, _c0119); + _H5 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _c0121 = (TEX0.xy - vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y))) - vec2(float(_g2.x), float(_g2.y)); + _TMP17 = texture2D(Texture, _c0121); + _I5 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _c0123 = TEX0.xy + vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y)); + _TMP18 = texture2D(Texture, _c0123); + _B11 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _c0125 = TEX0.xy + vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP19 = texture2D(Texture, _c0125); + _D0 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP74 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP70 = float(_TMP74); + _b = float(_TMP70); + _TMP74 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP70 = float(_TMP74); + _c = float(_TMP70); + _TMP74 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP70 = float(_TMP74); + _d = float(_TMP70); + _TMP74 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP70 = float(_TMP74); + _e = float(_TMP70); + _TMP74 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP70 = float(_TMP74); + _f = float(_TMP70); + _TMP74 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP70 = float(_TMP74); + _g = float(_TMP70); + _TMP74 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP70 = float(_TMP74); + _h = float(_TMP70); + _TMP74 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP70 = float(_TMP74); + _i = float(_TMP70); + _fx_1 = _AO*_fp.y + _BO*_fp.x > _CO; + _fx_2 = _AX*_fp.y + _BX*_fp.x > _CX; + _fx_3 = _AY*_fp.y + _BY*_fp.x > _CY; + _fx_4 = _BY*_fp.y + _AY*(1.00000000E+00 - _fp.x) > _CY; + _fx_5 = _BX*(1.00000000E+00 - _fp.y) + _AX*_fp.x > _CX; + _v0205 = _E - _C; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0205.x), float(_v0205.y), float(_v0205.z))); + _r0205.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0205.x), float(_v0205.y), float(_v0205.z))); + _r0205.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0205.x), float(_v0205.y), float(_v0205.z))); + _r0205.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0205.x), float(_r0205.y), float(_r0205.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP20 = float(_TMP72.x); + _v0217 = _E - _G; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0217.x), float(_v0217.y), float(_v0217.z))); + _r0217.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0217.x), float(_v0217.y), float(_v0217.z))); + _r0217.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0217.x), float(_v0217.y), float(_v0217.z))); + _r0217.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0217.x), float(_r0217.y), float(_r0217.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP21 = float(_TMP72.x); + _v0229 = _I - _H5; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0229.x), float(_v0229.y), float(_v0229.z))); + _r0229.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0229.x), float(_v0229.y), float(_v0229.z))); + _r0229.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0229.x), float(_v0229.y), float(_v0229.z))); + _r0229.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0229.x), float(_r0229.y), float(_r0229.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP22 = float(_TMP72.x); + _v0241 = _I - _F4; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0241.x), float(_v0241.y), float(_v0241.z))); + _r0241.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0241.x), float(_v0241.y), float(_v0241.z))); + _r0241.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0241.x), float(_v0241.y), float(_v0241.z))); + _r0241.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0241.x), float(_r0241.y), float(_r0241.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP23 = float(_TMP72.x); + _v0253 = _H - _F; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0253.x), float(_v0253.y), float(_v0253.z))); + _r0253.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0253.x), float(_v0253.y), float(_v0253.z))); + _r0253.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0253.x), float(_v0253.y), float(_v0253.z))); + _r0253.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0253.x), float(_r0253.y), float(_r0253.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP24 = float(_TMP72.x); + _v0265 = _H - _D; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0265.x), float(_v0265.y), float(_v0265.z))); + _r0265.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0265.x), float(_v0265.y), float(_v0265.z))); + _r0265.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0265.x), float(_v0265.y), float(_v0265.z))); + _r0265.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0265.x), float(_r0265.y), float(_r0265.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP25 = float(_TMP72.x); + _v0277 = _H - _I5; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0277.x), float(_v0277.y), float(_v0277.z))); + _r0277.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0277.x), float(_v0277.y), float(_v0277.z))); + _r0277.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0277.x), float(_v0277.y), float(_v0277.z))); + _r0277.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0277.x), float(_r0277.y), float(_r0277.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP26 = float(_TMP72.x); + _v0289 = _F - _I4; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0289.x), float(_v0289.y), float(_v0289.z))); + _r0289.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0289.x), float(_v0289.y), float(_v0289.z))); + _r0289.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0289.x), float(_v0289.y), float(_v0289.z))); + _r0289.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0289.x), float(_r0289.y), float(_r0289.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP27 = float(_TMP72.x); + _v0301 = _F - _B2; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0301.x), float(_v0301.y), float(_v0301.z))); + _r0301.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0301.x), float(_v0301.y), float(_v0301.z))); + _r0301.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0301.x), float(_v0301.y), float(_v0301.z))); + _r0301.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0301.x), float(_r0301.y), float(_r0301.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP28 = float(_TMP72.x); + _v0313 = _E - _I; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0313.x), float(_v0313.y), float(_v0313.z))); + _r0313.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0313.x), float(_v0313.y), float(_v0313.z))); + _r0313.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0313.x), float(_v0313.y), float(_v0313.z))); + _r0313.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0313.x), float(_r0313.y), float(_r0313.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP29 = float(_TMP72.x); + _e_i = _TMP20 + _TMP21 + _TMP22 + _TMP23 + 4.00000000E+00*_TMP24 < _TMP25 + _TMP26 + _TMP27 + _TMP28 + 4.00000000E+00*_TMP29; + _v0325 = _E - _A2; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0325.x), float(_v0325.y), float(_v0325.z))); + _r0325.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0325.x), float(_v0325.y), float(_v0325.z))); + _r0325.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0325.x), float(_v0325.y), float(_v0325.z))); + _r0325.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0325.x), float(_r0325.y), float(_r0325.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP30 = float(_TMP72.x); + _v0337 = _E - _I; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0337.x), float(_v0337.y), float(_v0337.z))); + _r0337.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0337.x), float(_v0337.y), float(_v0337.z))); + _r0337.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0337.x), float(_v0337.y), float(_v0337.z))); + _r0337.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0337.x), float(_r0337.y), float(_r0337.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP31 = float(_TMP72.x); + _v0349 = _C - _F4; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0349.x), float(_v0349.y), float(_v0349.z))); + _r0349.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0349.x), float(_v0349.y), float(_v0349.z))); + _r0349.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0349.x), float(_v0349.y), float(_v0349.z))); + _r0349.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0349.x), float(_r0349.y), float(_r0349.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP32 = float(_TMP72.x); + _v0361 = _C - _B11; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0361.x), float(_v0361.y), float(_v0361.z))); + _r0361.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0361.x), float(_v0361.y), float(_v0361.z))); + _r0361.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0361.x), float(_v0361.y), float(_v0361.z))); + _r0361.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0361.x), float(_r0361.y), float(_r0361.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP33 = float(_TMP72.x); + _v0373 = _F - _B2; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0373.x), float(_v0373.y), float(_v0373.z))); + _r0373.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0373.x), float(_v0373.y), float(_v0373.z))); + _r0373.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0373.x), float(_v0373.y), float(_v0373.z))); + _r0373.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0373.x), float(_r0373.y), float(_r0373.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP34 = float(_TMP72.x); + _v0385 = _F - _H; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0385.x), float(_v0385.y), float(_v0385.z))); + _r0385.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0385.x), float(_v0385.y), float(_v0385.z))); + _r0385.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0385.x), float(_v0385.y), float(_v0385.z))); + _r0385.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0385.x), float(_r0385.y), float(_r0385.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP35 = float(_TMP72.x); + _v0397 = _F - _C4; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0397.x), float(_v0397.y), float(_v0397.z))); + _r0397.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0397.x), float(_v0397.y), float(_v0397.z))); + _r0397.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0397.x), float(_v0397.y), float(_v0397.z))); + _r0397.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0397.x), float(_r0397.y), float(_r0397.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP36 = float(_TMP72.x); + _v0409 = _B2 - _C1; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0409.x), float(_v0409.y), float(_v0409.z))); + _r0409.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0409.x), float(_v0409.y), float(_v0409.z))); + _r0409.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0409.x), float(_v0409.y), float(_v0409.z))); + _r0409.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0409.x), float(_r0409.y), float(_r0409.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP37 = float(_TMP72.x); + _v0421 = _B2 - _D; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0421.x), float(_v0421.y), float(_v0421.z))); + _r0421.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0421.x), float(_v0421.y), float(_v0421.z))); + _r0421.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0421.x), float(_v0421.y), float(_v0421.z))); + _r0421.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0421.x), float(_r0421.y), float(_r0421.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP38 = float(_TMP72.x); + _v0433 = _E - _C; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0433.x), float(_v0433.y), float(_v0433.z))); + _r0433.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0433.x), float(_v0433.y), float(_v0433.z))); + _r0433.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0433.x), float(_v0433.y), float(_v0433.z))); + _r0433.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0433.x), float(_r0433.y), float(_r0433.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP39 = float(_TMP72.x); + _kei = _TMP30 + _TMP31 + _TMP32 + _TMP33 + 4.00000000E+00*_TMP34 < _TMP35 + _TMP36 + _TMP37 + _TMP38 + 4.00000000E+00*_TMP39; + _v0445 = _E - _I; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0445.x), float(_v0445.y), float(_v0445.z))); + _r0445.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0445.x), float(_v0445.y), float(_v0445.z))); + _r0445.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0445.x), float(_v0445.y), float(_v0445.z))); + _r0445.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0445.x), float(_r0445.y), float(_r0445.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP40 = float(_TMP72.x); + _v0457 = _E - _A2; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0457.x), float(_v0457.y), float(_v0457.z))); + _r0457.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0457.x), float(_v0457.y), float(_v0457.z))); + _r0457.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0457.x), float(_v0457.y), float(_v0457.z))); + _r0457.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0457.x), float(_r0457.y), float(_r0457.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP41 = float(_TMP72.x); + _v0469 = _G - _D0; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0469.x), float(_v0469.y), float(_v0469.z))); + _r0469.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0469.x), float(_v0469.y), float(_v0469.z))); + _r0469.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0469.x), float(_v0469.y), float(_v0469.z))); + _r0469.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0469.x), float(_r0469.y), float(_r0469.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP42 = float(_TMP72.x); + _v0481 = _G - _H5; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0481.x), float(_v0481.y), float(_v0481.z))); + _r0481.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0481.x), float(_v0481.y), float(_v0481.z))); + _r0481.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0481.x), float(_v0481.y), float(_v0481.z))); + _r0481.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0481.x), float(_r0481.y), float(_r0481.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP43 = float(_TMP72.x); + _v0493 = _D - _H; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0493.x), float(_v0493.y), float(_v0493.z))); + _r0493.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0493.x), float(_v0493.y), float(_v0493.z))); + _r0493.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0493.x), float(_v0493.y), float(_v0493.z))); + _r0493.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0493.x), float(_r0493.y), float(_r0493.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP44 = float(_TMP72.x); + _v0505 = _D - _B2; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0505.x), float(_v0505.y), float(_v0505.z))); + _r0505.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0505.x), float(_v0505.y), float(_v0505.z))); + _r0505.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0505.x), float(_v0505.y), float(_v0505.z))); + _r0505.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0505.x), float(_r0505.y), float(_r0505.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP45 = float(_TMP72.x); + _v0517 = _D - _G0; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0517.x), float(_v0517.y), float(_v0517.z))); + _r0517.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0517.x), float(_v0517.y), float(_v0517.z))); + _r0517.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0517.x), float(_v0517.y), float(_v0517.z))); + _r0517.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0517.x), float(_r0517.y), float(_r0517.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP46 = float(_TMP72.x); + _v0529 = _H - _G5; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0529.x), float(_v0529.y), float(_v0529.z))); + _r0529.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0529.x), float(_v0529.y), float(_v0529.z))); + _r0529.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0529.x), float(_v0529.y), float(_v0529.z))); + _r0529.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0529.x), float(_r0529.y), float(_r0529.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP47 = float(_TMP72.x); + _v0541 = _H - _F; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0541.x), float(_v0541.y), float(_v0541.z))); + _r0541.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0541.x), float(_v0541.y), float(_v0541.z))); + _r0541.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0541.x), float(_v0541.y), float(_v0541.z))); + _r0541.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0541.x), float(_r0541.y), float(_r0541.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP48 = float(_TMP72.x); + _v0553 = _E - _G; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0553.x), float(_v0553.y), float(_v0553.z))); + _r0553.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0553.x), float(_v0553.y), float(_v0553.z))); + _r0553.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0553.x), float(_v0553.y), float(_v0553.z))); + _r0553.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0553.x), float(_r0553.y), float(_r0553.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP49 = float(_TMP72.x); + _mei = _TMP40 + _TMP41 + _TMP42 + _TMP43 + 4.00000000E+00*_TMP44 < _TMP45 + _TMP46 + _TMP47 + _TMP48 + 4.00000000E+00*_TMP49; + _v0565 = _E - _F; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0565.x), float(_v0565.y), float(_v0565.z))); + _r0565.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0565.x), float(_v0565.y), float(_v0565.z))); + _r0565.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0565.x), float(_v0565.y), float(_v0565.z))); + _r0565.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0565.x), float(_r0565.y), float(_r0565.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP51 = float(_TMP72.x); + _v0577 = _E - _H; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0577.x), float(_v0577.y), float(_v0577.z))); + _r0577.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0577.x), float(_v0577.y), float(_v0577.z))); + _r0577.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0577.x), float(_v0577.y), float(_v0577.z))); + _r0577.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0577.x), float(_r0577.y), float(_r0577.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP52 = float(_TMP72.x); + if (_TMP51 <= _TMP52) { + _TMP50 = _F; + } else { + _TMP50 = _H; + } + _v0589 = _E - _B2; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0589.x), float(_v0589.y), float(_v0589.z))); + _r0589.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0589.x), float(_v0589.y), float(_v0589.z))); + _r0589.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0589.x), float(_v0589.y), float(_v0589.z))); + _r0589.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0589.x), float(_r0589.y), float(_r0589.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP54 = float(_TMP72.x); + _v0601 = _E - _F; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0601.x), float(_v0601.y), float(_v0601.z))); + _r0601.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0601.x), float(_v0601.y), float(_v0601.z))); + _r0601.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0601.x), float(_v0601.y), float(_v0601.z))); + _r0601.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0601.x), float(_r0601.y), float(_r0601.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP55 = float(_TMP72.x); + if (_TMP54 <= _TMP55) { + _TMP53 = _B2; + } else { + _TMP53 = _F; + } + _v0613 = _E - _H; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0613.x), float(_v0613.y), float(_v0613.z))); + _r0613.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0613.x), float(_v0613.y), float(_v0613.z))); + _r0613.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0613.x), float(_v0613.y), float(_v0613.z))); + _r0613.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0613.x), float(_r0613.y), float(_r0613.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP57 = float(_TMP72.x); + _v0625 = _E - _D; + _TMP74 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0625.x), float(_v0625.y), float(_v0625.z))); + _r0625.x = float(_TMP74); + _TMP74 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0625.x), float(_v0625.y), float(_v0625.z))); + _r0625.y = float(_TMP74); + _TMP74 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0625.x), float(_v0625.y), float(_v0625.z))); + _r0625.z = float(_TMP74); + _TMP75 = abs(vec3(float(_r0625.x), float(_r0625.y), float(_r0625.z))); + _TMP72 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP58 = float(_TMP72.x); + if (_TMP57 <= _TMP58) { + _TMP56 = _H; + } else { + _TMP56 = _D; + } + _ex = _e != _f && _e != _h; + _ex_ck = _e != _b && _e != _f; + _ex_em = _e != _h && _e != _d; + _r1 = _e_i && _ex && (_fx_1 || _f == _g && _fx_2 || _h == _c && _fx_3); + _r2 = _ex_ck && _kei && _b == _i && _fx_5; + _r3 = _ex_em && _mei && _d == _i && _fx_4; + if (_r1) { + _TMP67 = _TMP50; + } else { + if (_r2) { + _TMP68 = _TMP53; + } else { + if (_r3) { + _TMP69 = _TMP56; + } else { + _TMP69 = _E; + } + _TMP68 = _TMP69; + } + _TMP67 = _TMP68; + } + _ret_0 = vec4(_TMP67.x, _TMP67.y, _TMP67.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.3.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.3.glsl new file mode 100644 index 0000000000..c14965c00b --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.3.glsl @@ -0,0 +1,923 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(0.00000000E+00, -_ps.y); + _OUT._t1.zw = vec2(-_ps.x, 0.00000000E+00); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _color1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color1; + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP59; +vec3 _TMP60; +vec3 _TMP61; +vec3 _TMP56; +float _TMP58; +float _TMP57; +vec3 _TMP64; +vec3 _TMP66; +float _TMP65; +vec3 _TMP53; +float _TMP55; +float _TMP54; +vec3 _TMP50; +float _TMP52; +float _TMP51; +float _TMP49; +float _TMP48; +float _TMP47; +float _TMP46; +float _TMP45; +float _TMP44; +float _TMP43; +float _TMP42; +float _TMP41; +float _TMP40; +float _TMP39; +float _TMP38; +float _TMP37; +float _TMP36; +float _TMP35; +float _TMP34; +float _TMP33; +float _TMP32; +float _TMP31; +float _TMP30; +float _TMP29; +float _TMP28; +float _TMP27; +float _TMP26; +float _TMP25; +float _TMP24; +float _TMP23; +float _TMP22; +float _TMP21; +float _TMP20; +float _TMP62; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec2 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0075; +vec2 _c0079; +vec2 _c0081; +vec2 _c0083; +vec2 _c0085; +vec2 _c0089; +vec2 _c0091; +vec2 _c0093; +vec2 _c0095; +vec2 _c0097; +vec2 _c0099; +vec2 _c0101; +vec2 _c0103; +vec2 _c0105; +vec2 _c0107; +vec2 _c0109; +vec2 _c0111; +vec2 _c0113; +vec2 _c0115; +vec3 _r0195; +vec3 _v0195; +vec3 _r0207; +vec3 _v0207; +vec3 _r0219; +vec3 _v0219; +vec3 _r0231; +vec3 _v0231; +vec3 _r0243; +vec3 _v0243; +vec3 _r0255; +vec3 _v0255; +vec3 _r0267; +vec3 _v0267; +vec3 _r0279; +vec3 _v0279; +vec3 _r0291; +vec3 _v0291; +vec3 _r0303; +vec3 _v0303; +vec3 _r0315; +vec3 _v0315; +vec3 _r0327; +vec3 _v0327; +vec3 _r0339; +vec3 _v0339; +vec3 _r0351; +vec3 _v0351; +vec3 _r0363; +vec3 _v0363; +vec3 _r0375; +vec3 _v0375; +vec3 _r0387; +vec3 _v0387; +vec3 _r0399; +vec3 _v0399; +vec3 _r0411; +vec3 _v0411; +vec3 _r0423; +vec3 _v0423; +vec3 _r0435; +vec3 _v0435; +vec3 _r0447; +vec3 _v0447; +vec3 _r0459; +vec3 _v0459; +vec3 _r0471; +vec3 _v0471; +vec3 _r0483; +vec3 _v0483; +vec3 _r0495; +vec3 _v0495; +vec3 _r0507; +vec3 _v0507; +vec3 _r0519; +vec3 _v0519; +vec3 _r0531; +vec3 _v0531; +vec3 _r0543; +vec3 _v0543; +vec3 _r0555; +vec3 _v0555; +vec3 _r0567; +vec3 _v0567; +vec3 _r0579; +vec3 _v0579; +vec3 _r0591; +vec3 _v0591; +vec3 _r0603; +vec3 _v0603; +vec3 _r0615; +vec3 _v0615; +vec3 _r0627; +vec3 _v0627; +vec3 _r0639; +vec3 _v0639; +vec3 _r0651; +vec3 _v0651; +vec3 _r0663; +vec3 _v0663; +vec3 _r0675; +vec3 _v0675; +vec3 _r0687; +vec3 _v0687; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec2 _fp; + vec2 _st; + vec2 _g1; + vec2 _g2; + float _AO; + float _BO; + float _CO; + float _AX; + float _BX; + float _CX; + float _AY; + float _BY; + float _CY; + vec3 _A1; + vec3 _B1; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _C1; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _B11; + vec3 _D0; + float _b; + float _c; + float _d; + float _e; + float _f; + float _g; + float _h; + float _i; + bool _ex; + bool _e_i; + bool _kei; + bool _mei; + bool _ex_ck; + bool _ex_em; + bool _ex2; + bool _ex3; + bool _exkm; + bool _fx_1; + bool _fx_2; + bool _fx_3; + bool _fx_4; + bool _fx_5; + float _ke; + float _ki; + float _kek; + float _kem; + float _kik; + float _kim; + bool _r1; + bool _r2; + bool _r3; + _x0075 = TEX0.xy*TextureSize; + _fp = fract(_x0075); + _TMP0 = vec2(float((_fp.x >= 5.00000000E-01)), float((_fp.y >= 5.00000000E-01))); + _st = vec2(float(_TMP0.x), float(_TMP0.y)); + _g1 = TEX1.xy*((_st.x + _st.y) - 1.00000000E+00) + TEX1.zw*(_st.x - _st.y); + _g2 = TEX1.xy*(_st.y - _st.x) + TEX1.zw*((_st.x + _st.y) - 1.00000000E+00); + _AO = float((2.00000000E+00*_st.y - 1.00000000E+00)); + _BO = float((2.00000000E+00*_st.x - 1.00000000E+00)); + _CO = float(((_st.x + _st.y) - 5.00000000E-01)); + _AX = float(((5.00000000E-01*_st.x + 1.50000000E+00*_st.y) - 1.00000000E+00)); + _BX = float(((1.50000000E+00*_st.x - 5.00000000E-01*_st.y) - 5.00000000E-01)); + _CX = float(((_st.x + 5.00000000E-01*_st.y) - 5.00000000E-01)); + _AY = float(((-5.00000000E-01*_st.x + 1.50000000E+00*_st.y) - 5.00000000E-01)); + _BY = float(((1.50000000E+00*_st.x + 5.00000000E-01*_st.y) - 1.00000000E+00)); + _CY = float(((5.00000000E-01*_st.x + _st.y) - 5.00000000E-01)); + _c0079 = TEX0.xy + vec2(float(_g1.x), float(_g1.y)) + vec2(float(_g2.x), float(_g2.y)); + _TMP1 = texture2D(Texture, _c0079); + _A1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0081 = TEX0.xy + vec2(float(_g1.x), float(_g1.y)); + _TMP2 = texture2D(Texture, _c0081); + _B1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0083 = (TEX0.xy + vec2(float(_g1.x), float(_g1.y))) - vec2(float(_g2.x), float(_g2.y)); + _TMP3 = texture2D(Texture, _c0083); + _C = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0085 = TEX0.xy + vec2(float(_g2.x), float(_g2.y)); + _TMP4 = texture2D(Texture, _c0085); + _D = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0089 = TEX0.xy - vec2(float(_g2.x), float(_g2.y)); + _TMP6 = texture2D(Texture, _c0089); + _F = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0091 = (TEX0.xy - vec2(float(_g1.x), float(_g1.y))) + vec2(float(_g2.x), float(_g2.y)); + _TMP7 = texture2D(Texture, _c0091); + _G = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0093 = TEX0.xy - vec2(float(_g1.x), float(_g1.y)); + _TMP8 = texture2D(Texture, _c0093); + _H = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0095 = (TEX0.xy - vec2(float(_g1.x), float(_g1.y))) - vec2(float(_g2.x), float(_g2.y)); + _TMP9 = texture2D(Texture, _c0095); + _I = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0097 = (TEX0.xy + vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y))) - vec2(float(_g2.x), float(_g2.y)); + _TMP10 = texture2D(Texture, _c0097); + _C1 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0099 = (TEX0.xy - vec2(float(_g1.x), float(_g1.y))) + vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP11 = texture2D(Texture, _c0099); + _G0 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0101 = (TEX0.xy + vec2(float(_g1.x), float(_g1.y))) - vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP12 = texture2D(Texture, _c0101); + _C4 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0103 = TEX0.xy - vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP13 = texture2D(Texture, _c0103); + _F4 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0105 = (TEX0.xy - vec2(float(_g1.x), float(_g1.y))) - vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP14 = texture2D(Texture, _c0105); + _I4 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0107 = (TEX0.xy - vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y))) + vec2(float(_g2.x), float(_g2.y)); + _TMP15 = texture2D(Texture, _c0107); + _G5 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0109 = TEX0.xy - vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y)); + _TMP16 = texture2D(Texture, _c0109); + _H5 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _c0111 = (TEX0.xy - vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y))) - vec2(float(_g2.x), float(_g2.y)); + _TMP17 = texture2D(Texture, _c0111); + _I5 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _c0113 = TEX0.xy + vec2(float((2.00000000E+00*_g1).x), float((2.00000000E+00*_g1).y)); + _TMP18 = texture2D(Texture, _c0113); + _B11 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _c0115 = TEX0.xy + vec2(float((2.00000000E+00*_g2).x), float((2.00000000E+00*_g2).y)); + _TMP19 = texture2D(Texture, _c0115); + _D0 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP65 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP62 = float(_TMP65); + _b = float(_TMP62); + _TMP65 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP62 = float(_TMP65); + _c = float(_TMP62); + _TMP65 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP62 = float(_TMP65); + _d = float(_TMP62); + _TMP65 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP62 = float(_TMP65); + _e = float(_TMP62); + _TMP65 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP62 = float(_TMP65); + _f = float(_TMP62); + _TMP65 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP62 = float(_TMP65); + _g = float(_TMP62); + _TMP65 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP62 = float(_TMP65); + _h = float(_TMP62); + _TMP65 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP62 = float(_TMP65); + _i = float(_TMP62); + _fx_1 = _AO*_fp.y + _BO*_fp.x > _CO; + _fx_2 = _AX*_fp.y + _BX*_fp.x > _CX; + _fx_3 = _AY*_fp.y + _BY*_fp.x > _CY; + _fx_4 = _BY*_fp.y + _AY*(1.00000000E+00 - _fp.x) > _CY; + _fx_5 = _BX*(1.00000000E+00 - _fp.y) + _AX*_fp.x > _CX; + _v0195 = _E - _C; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0195.x), float(_v0195.y), float(_v0195.z))); + _r0195.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0195.x), float(_v0195.y), float(_v0195.z))); + _r0195.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0195.x), float(_v0195.y), float(_v0195.z))); + _r0195.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0195.x), float(_r0195.y), float(_r0195.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP20 = float(_TMP64.x); + _v0207 = _E - _G; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0207.x), float(_v0207.y), float(_v0207.z))); + _r0207.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0207.x), float(_v0207.y), float(_v0207.z))); + _r0207.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0207.x), float(_v0207.y), float(_v0207.z))); + _r0207.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0207.x), float(_r0207.y), float(_r0207.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP21 = float(_TMP64.x); + _v0219 = _I - _H5; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0219.x), float(_v0219.y), float(_v0219.z))); + _r0219.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0219.x), float(_v0219.y), float(_v0219.z))); + _r0219.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0219.x), float(_v0219.y), float(_v0219.z))); + _r0219.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0219.x), float(_r0219.y), float(_r0219.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP22 = float(_TMP64.x); + _v0231 = _I - _F4; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0231.x), float(_v0231.y), float(_v0231.z))); + _r0231.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0231.x), float(_v0231.y), float(_v0231.z))); + _r0231.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0231.x), float(_v0231.y), float(_v0231.z))); + _r0231.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0231.x), float(_r0231.y), float(_r0231.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP23 = float(_TMP64.x); + _v0243 = _H - _F; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0243.x), float(_v0243.y), float(_v0243.z))); + _r0243.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0243.x), float(_v0243.y), float(_v0243.z))); + _r0243.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0243.x), float(_v0243.y), float(_v0243.z))); + _r0243.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0243.x), float(_r0243.y), float(_r0243.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP24 = float(_TMP64.x); + _v0255 = _H - _D; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0255.x), float(_v0255.y), float(_v0255.z))); + _r0255.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0255.x), float(_v0255.y), float(_v0255.z))); + _r0255.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0255.x), float(_v0255.y), float(_v0255.z))); + _r0255.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0255.x), float(_r0255.y), float(_r0255.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP25 = float(_TMP64.x); + _v0267 = _H - _I5; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0267.x), float(_v0267.y), float(_v0267.z))); + _r0267.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0267.x), float(_v0267.y), float(_v0267.z))); + _r0267.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0267.x), float(_v0267.y), float(_v0267.z))); + _r0267.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0267.x), float(_r0267.y), float(_r0267.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP26 = float(_TMP64.x); + _v0279 = _F - _I4; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0279.x), float(_v0279.y), float(_v0279.z))); + _r0279.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0279.x), float(_v0279.y), float(_v0279.z))); + _r0279.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0279.x), float(_v0279.y), float(_v0279.z))); + _r0279.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0279.x), float(_r0279.y), float(_r0279.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP27 = float(_TMP64.x); + _v0291 = _F - _B1; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0291.x), float(_v0291.y), float(_v0291.z))); + _r0291.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0291.x), float(_v0291.y), float(_v0291.z))); + _r0291.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0291.x), float(_v0291.y), float(_v0291.z))); + _r0291.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0291.x), float(_r0291.y), float(_r0291.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP28 = float(_TMP64.x); + _v0303 = _E - _I; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0303.x), float(_v0303.y), float(_v0303.z))); + _r0303.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0303.x), float(_v0303.y), float(_v0303.z))); + _r0303.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0303.x), float(_v0303.y), float(_v0303.z))); + _r0303.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0303.x), float(_r0303.y), float(_r0303.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP29 = float(_TMP64.x); + _e_i = _TMP20 + _TMP21 + _TMP22 + _TMP23 + 4.00000000E+00*_TMP24 < _TMP25 + _TMP26 + _TMP27 + _TMP28 + 4.00000000E+00*_TMP29; + _v0315 = _E - _A1; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0315.x), float(_v0315.y), float(_v0315.z))); + _r0315.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0315.x), float(_v0315.y), float(_v0315.z))); + _r0315.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0315.x), float(_v0315.y), float(_v0315.z))); + _r0315.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0315.x), float(_r0315.y), float(_r0315.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP30 = float(_TMP64.x); + _v0327 = _E - _I; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0327.x), float(_v0327.y), float(_v0327.z))); + _r0327.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0327.x), float(_v0327.y), float(_v0327.z))); + _r0327.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0327.x), float(_v0327.y), float(_v0327.z))); + _r0327.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0327.x), float(_r0327.y), float(_r0327.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP31 = float(_TMP64.x); + _v0339 = _C - _F4; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0339.x), float(_v0339.y), float(_v0339.z))); + _r0339.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0339.x), float(_v0339.y), float(_v0339.z))); + _r0339.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0339.x), float(_v0339.y), float(_v0339.z))); + _r0339.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0339.x), float(_r0339.y), float(_r0339.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP32 = float(_TMP64.x); + _v0351 = _C - _B11; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0351.x), float(_v0351.y), float(_v0351.z))); + _r0351.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0351.x), float(_v0351.y), float(_v0351.z))); + _r0351.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0351.x), float(_v0351.y), float(_v0351.z))); + _r0351.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0351.x), float(_r0351.y), float(_r0351.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP33 = float(_TMP64.x); + _v0363 = _F - _B1; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0363.x), float(_v0363.y), float(_v0363.z))); + _r0363.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0363.x), float(_v0363.y), float(_v0363.z))); + _r0363.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0363.x), float(_v0363.y), float(_v0363.z))); + _r0363.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0363.x), float(_r0363.y), float(_r0363.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP34 = float(_TMP64.x); + _v0375 = _F - _H; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0375.x), float(_v0375.y), float(_v0375.z))); + _r0375.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0375.x), float(_v0375.y), float(_v0375.z))); + _r0375.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0375.x), float(_v0375.y), float(_v0375.z))); + _r0375.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0375.x), float(_r0375.y), float(_r0375.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP35 = float(_TMP64.x); + _v0387 = _F - _C4; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0387.x), float(_v0387.y), float(_v0387.z))); + _r0387.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0387.x), float(_v0387.y), float(_v0387.z))); + _r0387.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0387.x), float(_v0387.y), float(_v0387.z))); + _r0387.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0387.x), float(_r0387.y), float(_r0387.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP36 = float(_TMP64.x); + _v0399 = _B1 - _C1; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0399.x), float(_v0399.y), float(_v0399.z))); + _r0399.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0399.x), float(_v0399.y), float(_v0399.z))); + _r0399.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0399.x), float(_v0399.y), float(_v0399.z))); + _r0399.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0399.x), float(_r0399.y), float(_r0399.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP37 = float(_TMP64.x); + _v0411 = _B1 - _D; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0411.x), float(_v0411.y), float(_v0411.z))); + _r0411.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0411.x), float(_v0411.y), float(_v0411.z))); + _r0411.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0411.x), float(_v0411.y), float(_v0411.z))); + _r0411.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0411.x), float(_r0411.y), float(_r0411.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP38 = float(_TMP64.x); + _v0423 = _E - _C; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0423.x), float(_v0423.y), float(_v0423.z))); + _r0423.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0423.x), float(_v0423.y), float(_v0423.z))); + _r0423.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0423.x), float(_v0423.y), float(_v0423.z))); + _r0423.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0423.x), float(_r0423.y), float(_r0423.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP39 = float(_TMP64.x); + _kei = _TMP30 + _TMP31 + _TMP32 + _TMP33 + 4.00000000E+00*_TMP34 < _TMP35 + _TMP36 + _TMP37 + _TMP38 + 4.00000000E+00*_TMP39; + _v0435 = _E - _I; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0435.x), float(_v0435.y), float(_v0435.z))); + _r0435.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0435.x), float(_v0435.y), float(_v0435.z))); + _r0435.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0435.x), float(_v0435.y), float(_v0435.z))); + _r0435.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0435.x), float(_r0435.y), float(_r0435.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP40 = float(_TMP64.x); + _v0447 = _E - _A1; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0447.x), float(_v0447.y), float(_v0447.z))); + _r0447.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0447.x), float(_v0447.y), float(_v0447.z))); + _r0447.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0447.x), float(_v0447.y), float(_v0447.z))); + _r0447.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0447.x), float(_r0447.y), float(_r0447.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP41 = float(_TMP64.x); + _v0459 = _G - _D0; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0459.x), float(_v0459.y), float(_v0459.z))); + _r0459.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0459.x), float(_v0459.y), float(_v0459.z))); + _r0459.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0459.x), float(_v0459.y), float(_v0459.z))); + _r0459.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0459.x), float(_r0459.y), float(_r0459.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP42 = float(_TMP64.x); + _v0471 = _G - _H5; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0471.x), float(_v0471.y), float(_v0471.z))); + _r0471.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0471.x), float(_v0471.y), float(_v0471.z))); + _r0471.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0471.x), float(_v0471.y), float(_v0471.z))); + _r0471.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0471.x), float(_r0471.y), float(_r0471.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP43 = float(_TMP64.x); + _v0483 = _D - _H; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0483.x), float(_v0483.y), float(_v0483.z))); + _r0483.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0483.x), float(_v0483.y), float(_v0483.z))); + _r0483.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0483.x), float(_v0483.y), float(_v0483.z))); + _r0483.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0483.x), float(_r0483.y), float(_r0483.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP44 = float(_TMP64.x); + _v0495 = _D - _B1; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0495.x), float(_v0495.y), float(_v0495.z))); + _r0495.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0495.x), float(_v0495.y), float(_v0495.z))); + _r0495.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0495.x), float(_v0495.y), float(_v0495.z))); + _r0495.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0495.x), float(_r0495.y), float(_r0495.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP45 = float(_TMP64.x); + _v0507 = _D - _G0; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0507.x), float(_v0507.y), float(_v0507.z))); + _r0507.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0507.x), float(_v0507.y), float(_v0507.z))); + _r0507.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0507.x), float(_v0507.y), float(_v0507.z))); + _r0507.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0507.x), float(_r0507.y), float(_r0507.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP46 = float(_TMP64.x); + _v0519 = _H - _G5; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0519.x), float(_v0519.y), float(_v0519.z))); + _r0519.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0519.x), float(_v0519.y), float(_v0519.z))); + _r0519.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0519.x), float(_v0519.y), float(_v0519.z))); + _r0519.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0519.x), float(_r0519.y), float(_r0519.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP47 = float(_TMP64.x); + _v0531 = _H - _F; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0531.x), float(_v0531.y), float(_v0531.z))); + _r0531.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0531.x), float(_v0531.y), float(_v0531.z))); + _r0531.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0531.x), float(_v0531.y), float(_v0531.z))); + _r0531.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0531.x), float(_r0531.y), float(_r0531.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP48 = float(_TMP64.x); + _v0543 = _E - _G; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0543.x), float(_v0543.y), float(_v0543.z))); + _r0543.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0543.x), float(_v0543.y), float(_v0543.z))); + _r0543.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0543.x), float(_v0543.y), float(_v0543.z))); + _r0543.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0543.x), float(_r0543.y), float(_r0543.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP49 = float(_TMP64.x); + _mei = _TMP40 + _TMP41 + _TMP42 + _TMP43 + 4.00000000E+00*_TMP44 < _TMP45 + _TMP46 + _TMP47 + _TMP48 + 4.00000000E+00*_TMP49; + _v0555 = _F - _G; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0555.x), float(_v0555.y), float(_v0555.z))); + _r0555.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0555.x), float(_v0555.y), float(_v0555.z))); + _r0555.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0555.x), float(_v0555.y), float(_v0555.z))); + _r0555.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0555.x), float(_r0555.y), float(_r0555.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _ke = float(_TMP64.x); + _v0567 = _B1 - _I; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0567.x), float(_v0567.y), float(_v0567.z))); + _r0567.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0567.x), float(_v0567.y), float(_v0567.z))); + _r0567.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0567.x), float(_v0567.y), float(_v0567.z))); + _r0567.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0567.x), float(_r0567.y), float(_r0567.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _kek = float(_TMP64.x); + _v0579 = _D - _I; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0579.x), float(_v0579.y), float(_v0579.z))); + _r0579.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0579.x), float(_v0579.y), float(_v0579.z))); + _r0579.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0579.x), float(_v0579.y), float(_v0579.z))); + _r0579.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0579.x), float(_r0579.y), float(_r0579.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _kem = float(_TMP64.x); + _v0591 = _H - _C; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0591.x), float(_v0591.y), float(_v0591.z))); + _r0591.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0591.x), float(_v0591.y), float(_v0591.z))); + _r0591.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0591.x), float(_v0591.y), float(_v0591.z))); + _r0591.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0591.x), float(_r0591.y), float(_r0591.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _ki = float(_TMP64.x); + _v0603 = _F - _A1; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0603.x), float(_v0603.y), float(_v0603.z))); + _r0603.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0603.x), float(_v0603.y), float(_v0603.z))); + _r0603.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0603.x), float(_v0603.y), float(_v0603.z))); + _r0603.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0603.x), float(_r0603.y), float(_r0603.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _kik = float(_TMP64.x); + _v0615 = _H - _A1; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0615.x), float(_v0615.y), float(_v0615.z))); + _r0615.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0615.x), float(_v0615.y), float(_v0615.z))); + _r0615.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0615.x), float(_v0615.y), float(_v0615.z))); + _r0615.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0615.x), float(_r0615.y), float(_r0615.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _kim = float(_TMP64.x); + _ex2 = _e != _g; + _exkm = _e != _i; + _ex3 = _e != _c; + _v0627 = _E - _F; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0627.x), float(_v0627.y), float(_v0627.z))); + _r0627.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0627.x), float(_v0627.y), float(_v0627.z))); + _r0627.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0627.x), float(_v0627.y), float(_v0627.z))); + _r0627.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0627.x), float(_r0627.y), float(_r0627.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP51 = float(_TMP64.x); + _v0639 = _E - _H; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0639.x), float(_v0639.y), float(_v0639.z))); + _r0639.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0639.x), float(_v0639.y), float(_v0639.z))); + _r0639.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0639.x), float(_v0639.y), float(_v0639.z))); + _r0639.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0639.x), float(_r0639.y), float(_r0639.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP52 = float(_TMP64.x); + if (_TMP51 <= _TMP52) { + _TMP50 = _F; + } else { + _TMP50 = _H; + } + _v0651 = _E - _B1; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0651.x), float(_v0651.y), float(_v0651.z))); + _r0651.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0651.x), float(_v0651.y), float(_v0651.z))); + _r0651.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0651.x), float(_v0651.y), float(_v0651.z))); + _r0651.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0651.x), float(_r0651.y), float(_r0651.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP54 = float(_TMP64.x); + _v0663 = _E - _F; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0663.x), float(_v0663.y), float(_v0663.z))); + _r0663.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0663.x), float(_v0663.y), float(_v0663.z))); + _r0663.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0663.x), float(_v0663.y), float(_v0663.z))); + _r0663.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0663.x), float(_r0663.y), float(_r0663.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP55 = float(_TMP64.x); + if (_TMP54 <= _TMP55) { + _TMP53 = _B1; + } else { + _TMP53 = _F; + } + _v0675 = _E - _H; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0675.x), float(_v0675.y), float(_v0675.z))); + _r0675.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0675.x), float(_v0675.y), float(_v0675.z))); + _r0675.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0675.x), float(_v0675.y), float(_v0675.z))); + _r0675.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0675.x), float(_r0675.y), float(_r0675.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP57 = float(_TMP64.x); + _v0687 = _E - _D; + _TMP65 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_v0687.x), float(_v0687.y), float(_v0687.z))); + _r0687.x = float(_TMP65); + _TMP65 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_v0687.x), float(_v0687.y), float(_v0687.z))); + _r0687.y = float(_TMP65); + _TMP65 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_v0687.x), float(_v0687.y), float(_v0687.z))); + _r0687.z = float(_TMP65); + _TMP66 = abs(vec3(float(_r0687.x), float(_r0687.y), float(_r0687.z))); + _TMP64 = vec3(float(_TMP66.x), float(_TMP66.y), float(_TMP66.z)); + _TMP58 = float(_TMP64.x); + if (_TMP57 <= _TMP58) { + _TMP56 = _H; + } else { + _TMP56 = _D; + } + _ex = _e != _f || _e != _h; + _ex_ck = _e != _b || _e != _f; + _ex_em = _e != _h || _e != _d; + _r1 = _e_i && _ex && (_fx_1 || 2.50000000E+00*_ke <= _ki && _ex2 && _fx_2 || _ke >= 2.50000000E+00*_ki && _ex3 && _fx_3); + _r2 = 2.50000000E+00*_kek <= _kik && _exkm && _fx_5 && _kei && _ex_ck; + _r3 = 2.50000000E+00*_kem <= _kim && _exkm && _fx_4 && _mei && _ex_em; + if (_r1) { + _TMP59 = _TMP50; + } else { + if (_r2) { + _TMP60 = _TMP53; + } else { + if (_r3) { + _TMP61 = _TMP56; + } else { + _TMP61 = _E; + } + _TMP60 = _TMP61; + } + _TMP59 = _TMP60; + } + _ret_0 = vec4(_TMP59.x, _TMP59.y, _TMP59.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.5.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.5.glsl new file mode 100644 index 0000000000..d2dc0ff507 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.5.glsl @@ -0,0 +1,953 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0005.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0005.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0005.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0005.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(_ps.x, 0.00000000E+00); + _OUT._t1.zw = vec2(0.00000000E+00, _ps.y); + _ret_0._position1 = _r0005; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = vec4(float(_r0005.x), float(_r0005.y), float(_r0005.z), float(_r0005.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP29; +vec3 _TMP31; +vec3 _TMP33; +vec3 _TMP35; +vec3 _TMP36; +vec3 _TMP34; +vec3 _TMP32; +vec3 _TMP30; +vec4 _TMP22; +vec4 _TMP21; +vec3 _TMP44; +vec3 _TMP50; +float _TMP51; +vec3 _TMP42; +vec3 _TMP40; +vec3 _TMP38; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0083; +vec2 _c0085; +vec2 _c0087; +vec2 _c0089; +vec2 _c0091; +vec2 _c0095; +vec2 _c0097; +vec2 _c0099; +vec2 _c0101; +vec2 _c0103; +vec2 _c0105; +vec2 _c0107; +vec2 _c0109; +vec2 _c0111; +vec2 _c0113; +vec2 _c0115; +vec2 _c0117; +vec2 _c0119; +vec2 _c0121; +vec2 _c0123; +vec2 _c0125; +float _a0169; +float _b0169; +float _c0169; +float _d0169; +vec3 _r0171; +vec3 _r0181; +vec3 _r0191; +vec3 _r0201; +float _a0211; +float _b0211; +float _c0211; +float _d0211; +vec3 _r0213; +vec3 _r0223; +vec3 _r0233; +vec3 _r0243; +float _a0253; +float _b0253; +float _c0253; +float _d0253; +vec3 _r0255; +vec3 _r0265; +vec3 _r0275; +vec3 _r0285; +float _a0295; +float _b0295; +float _c0295; +float _d0295; +vec3 _r0297; +vec3 _r0307; +vec3 _r0317; +vec3 _r0327; +float _a0337; +float _b0337; +float _c0337; +float _d0337; +vec3 _r0339; +vec3 _r0349; +vec3 _r0359; +vec3 _r0369; +float _a0379; +float _b0379; +float _c0379; +float _d0379; +vec3 _r0381; +vec3 _r0391; +vec3 _r0401; +vec3 _r0411; +float _a0421; +float _b0421; +float _c0421; +float _d0421; +vec3 _r0423; +vec3 _r0433; +vec3 _r0443; +vec3 _r0453; +float _a0463; +float _b0463; +float _c0463; +float _d0463; +vec3 _r0465; +vec3 _r0475; +vec3 _r0485; +vec3 _r0495; +float _a0715; +float _b0715; +float _c0715; +float _d0715; +vec3 _r0717; +vec3 _r0727; +vec3 _r0737; +vec3 _r0747; +float _a0799; +float _b0799; +float _c0799; +float _d0799; +vec3 _r0801; +vec3 _r0811; +vec3 _r0821; +vec3 _r0831; +float _a0925; +float _b0925; +float _c0925; +float _d0925; +vec3 _r0927; +vec3 _r0937; +vec3 _r0947; +vec3 _r0957; +float _a0967; +float _b0967; +float _c0967; +float _d0967; +vec3 _r0969; +vec3 _r0979; +vec3 _r0989; +vec3 _r0999; +vec4 _TMP1010; +vec4 _a1013; +vec4 _TMP1014; +vec4 _a1017; +vec4 _TMP1018; +vec4 _a1021; +vec4 _TMP1022; +vec4 _a1025; +vec4 _TMP1026; +vec4 _a1029; +vec4 _TMP1032; +vec4 _a1035; +vec4 _TMP1036; +vec4 _a1039; +vec4 _TMP1040; +vec4 _a1043; +vec4 _TMP1044; +vec4 _a1047; +vec4 _TMP1048; +vec4 _a1051; +vec4 _TMP1052; +vec4 _a1055; +vec4 _TMP1056; +vec4 _a1059; +vec4 _TMP1060; +vec4 _a1063; +vec4 _TMP1064; +vec4 _a1067; +vec4 _TMP1068; +vec4 _a1071; +vec4 _TMP1072; +vec4 _a1075; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + vec2 _fp; + vec3 _A1; + vec3 _B1; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _A11; + vec3 _C1; + vec3 _A0; + vec3 _G0; + vec3 _C4; + vec3 _I4; + vec3 _G5; + vec3 _I5; + vec3 _B11; + vec3 _D0; + vec3 _H5; + vec3 _F4; + vec4 _b2; + vec4 _c2; + vec4 _d2; + vec4 _e1; + vec4 _f1; + vec4 _g1; + vec4 _h1; + vec4 _i; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _f4; + _x0083 = TEX0.xy*TextureSize; + _fp = fract(_x0083); + _c0085 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP0 = texture2D(Texture, _c0085); + _A1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0087 = TEX0.xy - vec2(float(TEX1.z), float(TEX1.w)); + _TMP1 = texture2D(Texture, _c0087); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0089 = (TEX0.xy + vec2(float(TEX1.x), float(TEX1.y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0089); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0091 = TEX0.xy - vec2(float(TEX1.x), float(TEX1.y)); + _TMP3 = texture2D(Texture, _c0091); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0095 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)); + _TMP5 = texture2D(Texture, _c0095); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0097 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP6 = texture2D(Texture, _c0097); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0099 = TEX0.xy + vec2(float(TEX1.z), float(TEX1.w)); + _TMP7 = texture2D(Texture, _c0099); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0101 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP8 = texture2D(Texture, _c0101); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0103 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP9 = texture2D(Texture, _c0103); + _A11 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0105 = (TEX0.xy + vec2(float(TEX1.x), float(TEX1.y))) - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP10 = texture2D(Texture, _c0105); + _C1 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0107 = (TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP11 = texture2D(Texture, _c0107); + _A0 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0109 = (TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP12 = texture2D(Texture, _c0109); + _G0 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0111 = (TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP13 = texture2D(Texture, _c0111); + _C4 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0113 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP14 = texture2D(Texture, _c0113); + _I4 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0115 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP15 = texture2D(Texture, _c0115); + _G5 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0117 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)) + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP16 = texture2D(Texture, _c0117); + _I5 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _c0119 = TEX0.xy - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP17 = texture2D(Texture, _c0119); + _B11 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _c0121 = TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)); + _TMP18 = texture2D(Texture, _c0121); + _D0 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _c0123 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP19 = texture2D(Texture, _c0123); + _H5 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _c0125 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)); + _TMP20 = texture2D(Texture, _c0125); + _F4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0171.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0171.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0171.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0171.x), float(_r0171.y), float(_r0171.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0169 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0181.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0181.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0181.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0181.x), float(_r0181.y), float(_r0181.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0169 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0191.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0191.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0191.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0191.x), float(_r0191.y), float(_r0191.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0169 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0201.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0201.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0201.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0201.x), float(_r0201.y), float(_r0201.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0169 = float(_TMP44.x); + _b2 = vec4(_a0169, _b0169, _c0169, _d0169); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0213.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0213.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0213.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0213.x), float(_r0213.y), float(_r0213.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0211 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0223.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0223.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0223.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0223.x), float(_r0223.y), float(_r0223.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0211 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0233.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0233.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0233.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0233.x), float(_r0233.y), float(_r0233.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0211 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0243.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0243.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0243.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0243.x), float(_r0243.y), float(_r0243.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0211 = float(_TMP44.x); + _c2 = vec4(_a0211, _b0211, _c0211, _d0211); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0255.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0255.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0255.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0255.x), float(_r0255.y), float(_r0255.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0253 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0265.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0265.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0265.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0265.x), float(_r0265.y), float(_r0265.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0253 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0275.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0275.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0275.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0275.x), float(_r0275.y), float(_r0275.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0253 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0285.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0285.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0285.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0285.x), float(_r0285.y), float(_r0285.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0253 = float(_TMP44.x); + _d2 = vec4(_a0253, _b0253, _c0253, _d0253); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0297.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0297.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0297.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0297.x), float(_r0297.y), float(_r0297.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0295 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0307.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0307.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0307.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0307.x), float(_r0307.y), float(_r0307.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0295 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0317.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0317.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0317.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0317.x), float(_r0317.y), float(_r0317.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0295 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0327.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0327.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0327.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0327.x), float(_r0327.y), float(_r0327.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0295 = float(_TMP44.x); + _e1 = vec4(_a0295, _b0295, _c0295, _d0295); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0339.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0339.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0339.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0339.x), float(_r0339.y), float(_r0339.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0337 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0349.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0349.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0349.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0349.x), float(_r0349.y), float(_r0349.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0337 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0359.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0359.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0359.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0359.x), float(_r0359.y), float(_r0359.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0337 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0369.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0369.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0369.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0369.x), float(_r0369.y), float(_r0369.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0337 = float(_TMP44.x); + _f1 = vec4(_a0337, _b0337, _c0337, _d0337); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0381.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0381.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0381.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0381.x), float(_r0381.y), float(_r0381.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0379 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0391.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0391.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0391.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0391.x), float(_r0391.y), float(_r0391.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0379 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0401.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0401.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0401.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0401.x), float(_r0401.y), float(_r0401.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0379 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0411.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0411.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0411.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0411.x), float(_r0411.y), float(_r0411.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0379 = float(_TMP44.x); + _g1 = vec4(_a0379, _b0379, _c0379, _d0379); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0423.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0423.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0423.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0423.x), float(_r0423.y), float(_r0423.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0421 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0433.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0433.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0433.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0433.x), float(_r0433.y), float(_r0433.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0421 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0443.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0443.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0443.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0443.x), float(_r0443.y), float(_r0443.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0421 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0453.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0453.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0453.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0453.x), float(_r0453.y), float(_r0453.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0421 = float(_TMP44.x); + _h1 = vec4(_a0421, _b0421, _c0421, _d0421); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0465.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0465.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0465.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0465.x), float(_r0465.y), float(_r0465.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0463 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0475.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0475.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0475.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0475.x), float(_r0475.y), float(_r0475.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0463 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0485.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0485.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0485.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0485.x), float(_r0485.y), float(_r0485.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0463 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0495.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0495.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0495.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0495.x), float(_r0495.y), float(_r0495.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0463 = float(_TMP44.x); + _i = vec4(_a0463, _b0463, _c0463, _d0463); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0717.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0717.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0717.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0717.x), float(_r0717.y), float(_r0717.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0715 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0727.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0727.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0727.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0727.x), float(_r0727.y), float(_r0727.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0715 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A0.x), float(_A0.y), float(_A0.z))); + _r0737.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_A0.x), float(_A0.y), float(_A0.z))); + _r0737.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_A0.x), float(_A0.y), float(_A0.z))); + _r0737.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0737.x), float(_r0737.y), float(_r0737.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0715 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0747.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0747.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0747.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0747.x), float(_r0747.y), float(_r0747.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0715 = float(_TMP44.x); + _i4 = vec4(_a0715, _b0715, _c0715, _d0715); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0801.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0801.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0801.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0801.x), float(_r0801.y), float(_r0801.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0799 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0811.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0811.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0811.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0811.x), float(_r0811.y), float(_r0811.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0799 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A11.x), float(_A11.y), float(_A11.z))); + _r0821.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_A11.x), float(_A11.y), float(_A11.z))); + _r0821.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_A11.x), float(_A11.y), float(_A11.z))); + _r0821.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0821.x), float(_r0821.y), float(_r0821.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0799 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0831.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0831.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0831.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0831.x), float(_r0831.y), float(_r0831.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0799 = float(_TMP44.x); + _i5 = vec4(_a0799, _b0799, _c0799, _d0799); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0927.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0927.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0927.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0927.x), float(_r0927.y), float(_r0927.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0925 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0937.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0937.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0937.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0937.x), float(_r0937.y), float(_r0937.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0925 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0947.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0947.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0947.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0947.x), float(_r0947.y), float(_r0947.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0925 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0957.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0957.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0957.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0957.x), float(_r0957.y), float(_r0957.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0925 = float(_TMP44.x); + _h5 = vec4(_a0925, _b0925, _c0925, _d0925); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0969.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0969.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0969.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0969.x), float(_r0969.y), float(_r0969.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0967 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0979.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0979.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0979.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0979.x), float(_r0979.y), float(_r0979.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0967 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0989.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0989.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0989.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0989.x), float(_r0989.y), float(_r0989.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0967 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0999.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.50000000E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0999.y = float(_TMP51); + _TMP51 = dot(vec3( 3.00000000E+00, -2.51367188E+00, -4.86083984E-01), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0999.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0999.x), float(_r0999.y), float(_r0999.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0967 = float(_TMP44.x); + _f4 = vec4(_a0967, _b0967, _c0967, _d0967); + _fx = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).x > 1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).y > 5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).w > 5.00000000E-01); + _fx_left = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).x > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).y > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).w > 0.00000000E+00); + _fx_up = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).x > 2.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).y > 0.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).z > -1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).w > 5.00000000E-01); + _interp_restriction_lv1 = bvec4(_e1.x != _f1.x && _e1.x != _h1.x, _e1.y != _f1.y && _e1.y != _h1.y, _e1.z != _f1.z && _e1.z != _h1.z, _e1.w != _f1.w && _e1.w != _h1.w); + _interp_restriction_lv2_left = bvec4(_e1.x != _g1.x && _d2.x != _g1.x, _e1.y != _g1.y && _d2.y != _g1.y, _e1.z != _g1.z && _d2.z != _g1.z, _e1.w != _g1.w && _d2.w != _g1.w); + _interp_restriction_lv2_up = bvec4(_e1.x != _c2.x && _b2.x != _c2.x, _e1.y != _c2.y && _b2.y != _c2.y, _e1.z != _c2.z && _b2.z != _c2.z, _e1.w != _c2.w && _b2.w != _c2.w); + _a1013 = _e1 - _c2; + _TMP1010 = abs(_a1013); + _a1017 = _e1 - _g1; + _TMP1014 = abs(_a1017); + _a1021 = _i - _h5; + _TMP1018 = abs(_a1021); + _a1025 = _i - _f4; + _TMP1022 = abs(_a1025); + _a1029 = _h1 - _f1; + _TMP1026 = abs(_a1029); + _TMP21 = _TMP1010 + _TMP1014 + _TMP1018 + _TMP1022 + 4.00000000E+00*_TMP1026; + _a1035 = _h1 - _d2; + _TMP1032 = abs(_a1035); + _a1039 = _h1 - _i5; + _TMP1036 = abs(_a1039); + _a1043 = _f1 - _i4; + _TMP1040 = abs(_a1043); + _a1047 = _f1 - _b2; + _TMP1044 = abs(_a1047); + _a1051 = _e1 - _i; + _TMP1048 = abs(_a1051); + _TMP22 = _TMP1032 + _TMP1036 + _TMP1040 + _TMP1044 + 4.00000000E+00*_TMP1048; + _edr = bvec4(_TMP21.x < _TMP22.x && _interp_restriction_lv1.x, _TMP21.y < _TMP22.y && _interp_restriction_lv1.y, _TMP21.z < _TMP22.z && _interp_restriction_lv1.z, _TMP21.w < _TMP22.w && _interp_restriction_lv1.w); + _a1055 = _f1 - _g1; + _TMP1052 = abs(_a1055); + _a1059 = _h1 - _c2; + _TMP1056 = abs(_a1059); + _edr_left = bvec4((2.00000000E+00*_TMP1052).x <= _TMP1056.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP1052).y <= _TMP1056.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP1052).z <= _TMP1056.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP1052).w <= _TMP1056.w && _interp_restriction_lv2_left.w); + _a1063 = _f1 - _g1; + _TMP1060 = abs(_a1063); + _a1067 = _h1 - _c2; + _TMP1064 = abs(_a1067); + _edr_up = bvec4(_TMP1060.x >= (2.00000000E+00*_TMP1064).x && _interp_restriction_lv2_up.x, _TMP1060.y >= (2.00000000E+00*_TMP1064).y && _interp_restriction_lv2_up.y, _TMP1060.z >= (2.00000000E+00*_TMP1064).z && _interp_restriction_lv2_up.z, _TMP1060.w >= (2.00000000E+00*_TMP1064).w && _interp_restriction_lv2_up.w); + _nc = bvec4(_edr.x && (_fx.x || _edr_left.x && _fx_left.x || _edr_up.x && _fx_up.x), _edr.y && (_fx.y || _edr_left.y && _fx_left.y || _edr_up.y && _fx_up.y), _edr.z && (_fx.z || _edr_left.z && _fx_left.z || _edr_up.z && _fx_up.z), _edr.w && (_fx.w || _edr_left.w && _fx_left.w || _edr_up.w && _fx_up.w)); + _a1071 = _e1 - _f1; + _TMP1068 = abs(_a1071); + _a1075 = _e1 - _h1; + _TMP1072 = abs(_a1075); + _px = bvec4(_TMP1068.x <= _TMP1072.x, _TMP1068.y <= _TMP1072.y, _TMP1068.z <= _TMP1072.z, _TMP1068.w <= _TMP1072.w); + if (_nc.x) { + if (_px.x) { + _TMP30 = _F; + } else { + _TMP30 = _H; + } + _TMP29 = _TMP30; + } else { + if (_nc.y) { + if (_px.y) { + _TMP32 = _B1; + } else { + _TMP32 = _F; + } + _TMP31 = _TMP32; + } else { + if (_nc.z) { + if (_px.z) { + _TMP34 = _D; + } else { + _TMP34 = _B1; + } + _TMP33 = _TMP34; + } else { + if (_nc.w) { + if (_px.w) { + _TMP36 = _H; + } else { + _TMP36 = _D; + } + _TMP35 = _TMP36; + } else { + _TMP35 = _E; + } + _TMP33 = _TMP35; + } + _TMP31 = _TMP33; + } + _TMP29 = _TMP31; + } + _ret_0 = vec4(_TMP29.x, _TMP29.y, _TMP29.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.5_plus_CRT.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.5_plus_CRT.glsl new file mode 100644 index 0000000000..353c054bfb --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.5_plus_CRT.glsl @@ -0,0 +1,1004 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(_ps.x, 0.00000000E+00); + _OUT._t1.zw = vec2(0.00000000E+00, _ps.y); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _color1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color1; + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP37; +vec3 _TMP55; +float _TMP54; +float _TMP53; +float _TMP52; +vec3 _TMP29; +vec3 _TMP31; +vec3 _TMP33; +vec3 _TMP35; +vec3 _TMP36; +vec3 _TMP34; +vec3 _TMP32; +vec3 _TMP30; +vec4 _TMP22; +vec4 _TMP21; +vec3 _TMP46; +vec3 _TMP56; +float _TMP57; +vec3 _TMP44; +vec3 _TMP42; +vec3 _TMP40; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0090; +vec2 _c0092; +vec2 _c0094; +vec2 _c0096; +vec2 _c0098; +vec2 _c0102; +vec2 _c0104; +vec2 _c0106; +vec2 _c0108; +vec2 _c0110; +vec2 _c0112; +vec2 _c0114; +vec2 _c0116; +vec2 _c0118; +vec2 _c0120; +vec2 _c0122; +vec2 _c0124; +vec2 _c0126; +vec2 _c0128; +vec2 _c0130; +vec2 _c0132; +float _a0176; +float _b0176; +float _c0176; +float _d0176; +vec3 _r0178; +vec3 _r0188; +vec3 _r0198; +vec3 _r0208; +float _a0218; +float _b0218; +float _c0218; +float _d0218; +vec3 _r0220; +vec3 _r0230; +vec3 _r0240; +vec3 _r0250; +float _a0260; +float _b0260; +float _c0260; +float _d0260; +vec3 _r0262; +vec3 _r0272; +vec3 _r0282; +vec3 _r0292; +float _a0302; +float _b0302; +float _c0302; +float _d0302; +vec3 _r0304; +vec3 _r0314; +vec3 _r0324; +vec3 _r0334; +float _a0344; +float _b0344; +float _c0344; +float _d0344; +vec3 _r0346; +vec3 _r0356; +vec3 _r0366; +vec3 _r0376; +float _a0386; +float _b0386; +float _c0386; +float _d0386; +vec3 _r0388; +vec3 _r0398; +vec3 _r0408; +vec3 _r0418; +float _a0428; +float _b0428; +float _c0428; +float _d0428; +vec3 _r0430; +vec3 _r0440; +vec3 _r0450; +vec3 _r0460; +float _a0470; +float _b0470; +float _c0470; +float _d0470; +vec3 _r0472; +vec3 _r0482; +vec3 _r0492; +vec3 _r0502; +float _a0722; +float _b0722; +float _c0722; +float _d0722; +vec3 _r0724; +vec3 _r0734; +vec3 _r0744; +vec3 _r0754; +float _a0806; +float _b0806; +float _c0806; +float _d0806; +vec3 _r0808; +vec3 _r0818; +vec3 _r0828; +vec3 _r0838; +float _a0932; +float _b0932; +float _c0932; +float _d0932; +vec3 _r0934; +vec3 _r0944; +vec3 _r0954; +vec3 _r0964; +float _a0974; +float _b0974; +float _c0974; +float _d0974; +vec3 _r0976; +vec3 _r0986; +vec3 _r0996; +vec3 _r1006; +vec4 _TMP1017; +vec4 _a1020; +vec4 _TMP1021; +vec4 _a1024; +vec4 _TMP1025; +vec4 _a1028; +vec4 _TMP1029; +vec4 _a1032; +vec4 _TMP1033; +vec4 _a1036; +vec4 _TMP1039; +vec4 _a1042; +vec4 _TMP1043; +vec4 _a1046; +vec4 _TMP1047; +vec4 _a1050; +vec4 _TMP1051; +vec4 _a1054; +vec4 _TMP1055; +vec4 _a1058; +vec4 _TMP1059; +vec4 _a1062; +vec4 _TMP1063; +vec4 _a1066; +vec4 _TMP1067; +vec4 _a1070; +vec4 _TMP1071; +vec4 _a1074; +vec4 _TMP1075; +vec4 _a1078; +vec4 _TMP1079; +vec4 _a1082; +vec3 _TMP1107; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + vec2 _fp; + vec3 _A1; + vec3 _B1; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _A11; + vec3 _C1; + vec3 _A0; + vec3 _G0; + vec3 _C4; + vec3 _I4; + vec3 _G5; + vec3 _I5; + vec3 _B11; + vec3 _D0; + vec3 _H5; + vec3 _F4; + vec4 _b2; + vec4 _c2; + vec4 _d2; + vec4 _e1; + vec4 _f1; + vec4 _g1; + vec4 _h1; + vec4 _i; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _f4; + vec3 _res; + vec3 _color; + float _ddy; + float _v_weight_00; + vec3 _coords10; + vec3 _colorNB; + float _v_weight_10; + _x0090 = TEX0.xy*TextureSize; + _fp = fract(_x0090); + _c0092 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP0 = texture2D(Texture, _c0092); + _A1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0094 = TEX0.xy - vec2(float(TEX1.z), float(TEX1.w)); + _TMP1 = texture2D(Texture, _c0094); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0096 = (TEX0.xy + vec2(float(TEX1.x), float(TEX1.y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0096); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0098 = TEX0.xy - vec2(float(TEX1.x), float(TEX1.y)); + _TMP3 = texture2D(Texture, _c0098); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0102 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)); + _TMP5 = texture2D(Texture, _c0102); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0104 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP6 = texture2D(Texture, _c0104); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0106 = TEX0.xy + vec2(float(TEX1.z), float(TEX1.w)); + _TMP7 = texture2D(Texture, _c0106); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0108 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP8 = texture2D(Texture, _c0108); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0110 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP9 = texture2D(Texture, _c0110); + _A11 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0112 = (TEX0.xy + vec2(float(TEX1.x), float(TEX1.y))) - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP10 = texture2D(Texture, _c0112); + _C1 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0114 = (TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP11 = texture2D(Texture, _c0114); + _A0 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0116 = (TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP12 = texture2D(Texture, _c0116); + _G0 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0118 = (TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP13 = texture2D(Texture, _c0118); + _C4 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0120 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP14 = texture2D(Texture, _c0120); + _I4 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0122 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP15 = texture2D(Texture, _c0122); + _G5 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0124 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)) + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP16 = texture2D(Texture, _c0124); + _I5 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _c0126 = TEX0.xy - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP17 = texture2D(Texture, _c0126); + _B11 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _c0128 = TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)); + _TMP18 = texture2D(Texture, _c0128); + _D0 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _c0130 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP19 = texture2D(Texture, _c0130); + _H5 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _c0132 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)); + _TMP20 = texture2D(Texture, _c0132); + _F4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0178.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0178.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0178.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0178.x), float(_r0178.y), float(_r0178.z))); + _TMP40 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _a0176 = float(_TMP40.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0188.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0188.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0188.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0188.x), float(_r0188.y), float(_r0188.z))); + _TMP42 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _b0176 = float(_TMP42.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0198.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0198.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0198.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0198.x), float(_r0198.y), float(_r0198.z))); + _TMP44 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _c0176 = float(_TMP44.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0208.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0208.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0208.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0208.x), float(_r0208.y), float(_r0208.z))); + _TMP46 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _d0176 = float(_TMP46.x); + _b2 = vec4(_a0176, _b0176, _c0176, _d0176); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0220.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0220.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0220.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0220.x), float(_r0220.y), float(_r0220.z))); + _TMP40 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _a0218 = float(_TMP40.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0230.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0230.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0230.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0230.x), float(_r0230.y), float(_r0230.z))); + _TMP42 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _b0218 = float(_TMP42.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0240.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0240.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0240.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0240.x), float(_r0240.y), float(_r0240.z))); + _TMP44 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _c0218 = float(_TMP44.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0250.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0250.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0250.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0250.x), float(_r0250.y), float(_r0250.z))); + _TMP46 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _d0218 = float(_TMP46.x); + _c2 = vec4(_a0218, _b0218, _c0218, _d0218); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0262.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0262.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0262.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0262.x), float(_r0262.y), float(_r0262.z))); + _TMP40 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _a0260 = float(_TMP40.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0272.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0272.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0272.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0272.x), float(_r0272.y), float(_r0272.z))); + _TMP42 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _b0260 = float(_TMP42.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0282.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0282.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0282.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0282.x), float(_r0282.y), float(_r0282.z))); + _TMP44 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _c0260 = float(_TMP44.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0292.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0292.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0292.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0292.x), float(_r0292.y), float(_r0292.z))); + _TMP46 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _d0260 = float(_TMP46.x); + _d2 = vec4(_a0260, _b0260, _c0260, _d0260); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0304.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0304.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0304.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0304.x), float(_r0304.y), float(_r0304.z))); + _TMP40 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _a0302 = float(_TMP40.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0314.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0314.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0314.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0314.x), float(_r0314.y), float(_r0314.z))); + _TMP42 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _b0302 = float(_TMP42.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0324.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0324.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0324.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0324.x), float(_r0324.y), float(_r0324.z))); + _TMP44 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _c0302 = float(_TMP44.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0334.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0334.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0334.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0334.x), float(_r0334.y), float(_r0334.z))); + _TMP46 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _d0302 = float(_TMP46.x); + _e1 = vec4(_a0302, _b0302, _c0302, _d0302); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0346.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0346.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0346.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0346.x), float(_r0346.y), float(_r0346.z))); + _TMP40 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _a0344 = float(_TMP40.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0356.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0356.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0356.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0356.x), float(_r0356.y), float(_r0356.z))); + _TMP42 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _b0344 = float(_TMP42.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0366.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0366.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0366.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0366.x), float(_r0366.y), float(_r0366.z))); + _TMP44 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _c0344 = float(_TMP44.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0376.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0376.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0376.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0376.x), float(_r0376.y), float(_r0376.z))); + _TMP46 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _d0344 = float(_TMP46.x); + _f1 = vec4(_a0344, _b0344, _c0344, _d0344); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0388.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0388.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0388.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0388.x), float(_r0388.y), float(_r0388.z))); + _TMP40 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _a0386 = float(_TMP40.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0398.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0398.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0398.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0398.x), float(_r0398.y), float(_r0398.z))); + _TMP42 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _b0386 = float(_TMP42.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0408.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0408.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0408.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0408.x), float(_r0408.y), float(_r0408.z))); + _TMP44 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _c0386 = float(_TMP44.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0418.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0418.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0418.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0418.x), float(_r0418.y), float(_r0418.z))); + _TMP46 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _d0386 = float(_TMP46.x); + _g1 = vec4(_a0386, _b0386, _c0386, _d0386); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0430.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0430.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0430.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0430.x), float(_r0430.y), float(_r0430.z))); + _TMP40 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _a0428 = float(_TMP40.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0440.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0440.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0440.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0440.x), float(_r0440.y), float(_r0440.z))); + _TMP42 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _b0428 = float(_TMP42.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0450.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0450.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0450.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0450.x), float(_r0450.y), float(_r0450.z))); + _TMP44 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _c0428 = float(_TMP44.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0460.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0460.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0460.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0460.x), float(_r0460.y), float(_r0460.z))); + _TMP46 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _d0428 = float(_TMP46.x); + _h1 = vec4(_a0428, _b0428, _c0428, _d0428); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0472.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0472.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0472.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0472.x), float(_r0472.y), float(_r0472.z))); + _TMP40 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _a0470 = float(_TMP40.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0482.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0482.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0482.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0482.x), float(_r0482.y), float(_r0482.z))); + _TMP42 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _b0470 = float(_TMP42.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0492.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0492.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0492.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0492.x), float(_r0492.y), float(_r0492.z))); + _TMP44 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _c0470 = float(_TMP44.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0502.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0502.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0502.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0502.x), float(_r0502.y), float(_r0502.z))); + _TMP46 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _d0470 = float(_TMP46.x); + _i = vec4(_a0470, _b0470, _c0470, _d0470); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0724.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0724.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0724.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0724.x), float(_r0724.y), float(_r0724.z))); + _TMP40 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _a0722 = float(_TMP40.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0734.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0734.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0734.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0734.x), float(_r0734.y), float(_r0734.z))); + _TMP42 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _b0722 = float(_TMP42.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A0.x), float(_A0.y), float(_A0.z))); + _r0744.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A0.x), float(_A0.y), float(_A0.z))); + _r0744.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A0.x), float(_A0.y), float(_A0.z))); + _r0744.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0744.x), float(_r0744.y), float(_r0744.z))); + _TMP44 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _c0722 = float(_TMP44.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0754.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0754.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0754.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0754.x), float(_r0754.y), float(_r0754.z))); + _TMP46 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _d0722 = float(_TMP46.x); + _i4 = vec4(_a0722, _b0722, _c0722, _d0722); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0808.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0808.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0808.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0808.x), float(_r0808.y), float(_r0808.z))); + _TMP40 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _a0806 = float(_TMP40.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0818.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0818.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0818.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0818.x), float(_r0818.y), float(_r0818.z))); + _TMP42 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _b0806 = float(_TMP42.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A11.x), float(_A11.y), float(_A11.z))); + _r0828.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A11.x), float(_A11.y), float(_A11.z))); + _r0828.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A11.x), float(_A11.y), float(_A11.z))); + _r0828.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0828.x), float(_r0828.y), float(_r0828.z))); + _TMP44 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _c0806 = float(_TMP44.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0838.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0838.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0838.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0838.x), float(_r0838.y), float(_r0838.z))); + _TMP46 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _d0806 = float(_TMP46.x); + _i5 = vec4(_a0806, _b0806, _c0806, _d0806); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0934.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0934.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0934.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0934.x), float(_r0934.y), float(_r0934.z))); + _TMP40 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _a0932 = float(_TMP40.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0944.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0944.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0944.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0944.x), float(_r0944.y), float(_r0944.z))); + _TMP42 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _b0932 = float(_TMP42.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0954.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0954.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0954.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0954.x), float(_r0954.y), float(_r0954.z))); + _TMP44 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _c0932 = float(_TMP44.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0964.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0964.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0964.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0964.x), float(_r0964.y), float(_r0964.z))); + _TMP46 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _d0932 = float(_TMP46.x); + _h5 = vec4(_a0932, _b0932, _c0932, _d0932); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0976.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0976.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0976.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0976.x), float(_r0976.y), float(_r0976.z))); + _TMP40 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _a0974 = float(_TMP40.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0986.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0986.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0986.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0986.x), float(_r0986.y), float(_r0986.z))); + _TMP42 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _b0974 = float(_TMP42.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0996.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0996.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0996.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r0996.x), float(_r0996.y), float(_r0996.z))); + _TMP44 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _c0974 = float(_TMP44.x); + _TMP57 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r1006.x = float(_TMP57); + _TMP57 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r1006.y = float(_TMP57); + _TMP57 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r1006.z = float(_TMP57); + _TMP56 = abs(vec3(float(_r1006.x), float(_r1006.y), float(_r1006.z))); + _TMP46 = vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z)); + _d0974 = float(_TMP46.x); + _f4 = vec4(_a0974, _b0974, _c0974, _d0974); + _fx = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).x > 1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).y > 5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).w > 5.00000000E-01); + _fx_left = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).x > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).y > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).w > 0.00000000E+00); + _fx_up = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).x > 2.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).y > 0.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).z > -1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).w > 5.00000000E-01); + _interp_restriction_lv1 = bvec4(_e1.x != _f1.x && _e1.x != _h1.x, _e1.y != _f1.y && _e1.y != _h1.y, _e1.z != _f1.z && _e1.z != _h1.z, _e1.w != _f1.w && _e1.w != _h1.w); + _interp_restriction_lv2_left = bvec4(_e1.x != _g1.x && _d2.x != _g1.x, _e1.y != _g1.y && _d2.y != _g1.y, _e1.z != _g1.z && _d2.z != _g1.z, _e1.w != _g1.w && _d2.w != _g1.w); + _interp_restriction_lv2_up = bvec4(_e1.x != _c2.x && _b2.x != _c2.x, _e1.y != _c2.y && _b2.y != _c2.y, _e1.z != _c2.z && _b2.z != _c2.z, _e1.w != _c2.w && _b2.w != _c2.w); + _a1020 = _e1 - _c2; + _TMP1017 = abs(_a1020); + _a1024 = _e1 - _g1; + _TMP1021 = abs(_a1024); + _a1028 = _i - _h5; + _TMP1025 = abs(_a1028); + _a1032 = _i - _f4; + _TMP1029 = abs(_a1032); + _a1036 = _h1 - _f1; + _TMP1033 = abs(_a1036); + _TMP21 = _TMP1017 + _TMP1021 + _TMP1025 + _TMP1029 + 4.00000000E+00*_TMP1033; + _a1042 = _h1 - _d2; + _TMP1039 = abs(_a1042); + _a1046 = _h1 - _i5; + _TMP1043 = abs(_a1046); + _a1050 = _f1 - _i4; + _TMP1047 = abs(_a1050); + _a1054 = _f1 - _b2; + _TMP1051 = abs(_a1054); + _a1058 = _e1 - _i; + _TMP1055 = abs(_a1058); + _TMP22 = _TMP1039 + _TMP1043 + _TMP1047 + _TMP1051 + 4.00000000E+00*_TMP1055; + _edr = bvec4(_TMP21.x < _TMP22.x && _interp_restriction_lv1.x, _TMP21.y < _TMP22.y && _interp_restriction_lv1.y, _TMP21.z < _TMP22.z && _interp_restriction_lv1.z, _TMP21.w < _TMP22.w && _interp_restriction_lv1.w); + _a1062 = _f1 - _g1; + _TMP1059 = abs(_a1062); + _a1066 = _h1 - _c2; + _TMP1063 = abs(_a1066); + _edr_left = bvec4((2.00000000E+00*_TMP1059).x <= _TMP1063.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP1059).y <= _TMP1063.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP1059).z <= _TMP1063.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP1059).w <= _TMP1063.w && _interp_restriction_lv2_left.w); + _a1070 = _f1 - _g1; + _TMP1067 = abs(_a1070); + _a1074 = _h1 - _c2; + _TMP1071 = abs(_a1074); + _edr_up = bvec4(_TMP1067.x >= (2.00000000E+00*_TMP1071).x && _interp_restriction_lv2_up.x, _TMP1067.y >= (2.00000000E+00*_TMP1071).y && _interp_restriction_lv2_up.y, _TMP1067.z >= (2.00000000E+00*_TMP1071).z && _interp_restriction_lv2_up.z, _TMP1067.w >= (2.00000000E+00*_TMP1071).w && _interp_restriction_lv2_up.w); + _nc = bvec4(_edr.x && (_fx.x || _edr_left.x && _fx_left.x || _edr_up.x && _fx_up.x), _edr.y && (_fx.y || _edr_left.y && _fx_left.y || _edr_up.y && _fx_up.y), _edr.z && (_fx.z || _edr_left.z && _fx_left.z || _edr_up.z && _fx_up.z), _edr.w && (_fx.w || _edr_left.w && _fx_left.w || _edr_up.w && _fx_up.w)); + _a1078 = _e1 - _f1; + _TMP1075 = abs(_a1078); + _a1082 = _e1 - _h1; + _TMP1079 = abs(_a1082); + _px = bvec4(_TMP1075.x <= _TMP1079.x, _TMP1075.y <= _TMP1079.y, _TMP1075.z <= _TMP1079.z, _TMP1075.w <= _TMP1079.w); + if (_nc.x) { + if (_px.x) { + _TMP30 = _F; + } else { + _TMP30 = _H; + } + _TMP29 = _TMP30; + } else { + if (_nc.y) { + if (_px.y) { + _TMP32 = _B1; + } else { + _TMP32 = _F; + } + _TMP31 = _TMP32; + } else { + if (_nc.z) { + if (_px.z) { + _TMP34 = _D; + } else { + _TMP34 = _B1; + } + _TMP33 = _TMP34; + } else { + if (_nc.w) { + if (_px.w) { + _TMP36 = _H; + } else { + _TMP36 = _D; + } + _TMP35 = _TMP36; + } else { + _TMP35 = _E; + } + _TMP33 = _TMP35; + } + _TMP31 = _TMP33; + } + _TMP29 = _TMP31; + } + _res = vec3(float(_TMP29.x), float(_TMP29.y), float(_TMP29.z)); + _TMP52 = pow(_res.x, 2.40000010E+00); + _TMP53 = pow(_res.y, 2.40000010E+00); + _TMP54 = pow(_res.z, 2.40000010E+00); + _color = vec3(_TMP52, _TMP53, _TMP54); + _ddy = _fp.y - 5.00000000E-01; + _v_weight_00 = _ddy/5.00000000E-01; + if (_v_weight_00 > 1.00000000E+00) { + _v_weight_00 = 1.00000000E+00; + } + _v_weight_00 = 1.00000000E+00 - _v_weight_00*_v_weight_00; + _v_weight_00 = _v_weight_00*_v_weight_00; + _color = _color*vec3(_v_weight_00, _v_weight_00, _v_weight_00); + if (_ddy > 0.00000000E+00) { + _coords10 = vec3(float(_H.x), float(_H.y), float(_H.z)); + _ddy = 1.00000000E+00 - _ddy; + } else { + _coords10 = vec3(float(_B1.x), float(_B1.y), float(_B1.z)); + _ddy = 1.00000000E+00 + _ddy; + } + _TMP52 = pow(_coords10.x, 2.40000010E+00); + _TMP53 = pow(_coords10.y, 2.40000010E+00); + _TMP54 = pow(_coords10.z, 2.40000010E+00); + _colorNB = vec3(_TMP52, _TMP53, _TMP54); + _v_weight_10 = _ddy/5.00000000E-01; + if (_v_weight_10 > 1.00000000E+00) { + _v_weight_10 = 1.00000000E+00; + } + _v_weight_10 = 1.00000000E+00 - _v_weight_10*_v_weight_10; + _v_weight_10 = _v_weight_10*_v_weight_10; + _color = _color + _colorNB*vec3(_v_weight_10, _v_weight_10, _v_weight_10); + _color = _color*vec3( 1.45000005E+00, 1.45000005E+00, 1.45000005E+00); + _TMP52 = pow(_color.x, 4.54545438E-01); + _TMP53 = pow(_color.y, 4.54545438E-01); + _TMP54 = pow(_color.z, 4.54545438E-01); + _TMP37 = vec3(_TMP52, _TMP53, _TMP54); + _TMP55 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _TMP37); + _TMP1107 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP55); + _ret_0 = vec4(_TMP1107.x, _TMP1107.y, _TMP1107.z, 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.5a.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.5a.glsl new file mode 100644 index 0000000000..70ffd077c8 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.5a.glsl @@ -0,0 +1,953 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(_ps.x, 0.00000000E+00); + _OUT._t1.zw = vec2(0.00000000E+00, _ps.y); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP29; +vec3 _TMP31; +vec3 _TMP33; +vec3 _TMP35; +vec3 _TMP36; +vec3 _TMP34; +vec3 _TMP32; +vec3 _TMP30; +vec4 _TMP22; +vec4 _TMP21; +vec3 _TMP44; +vec3 _TMP50; +float _TMP51; +vec3 _TMP42; +vec3 _TMP40; +vec3 _TMP38; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0084; +vec2 _c0086; +vec2 _c0088; +vec2 _c0090; +vec2 _c0092; +vec2 _c0096; +vec2 _c0098; +vec2 _c0100; +vec2 _c0102; +vec2 _c0104; +vec2 _c0106; +vec2 _c0108; +vec2 _c0110; +vec2 _c0112; +vec2 _c0114; +vec2 _c0116; +vec2 _c0118; +vec2 _c0120; +vec2 _c0122; +vec2 _c0124; +vec2 _c0126; +float _a0170; +float _b0170; +float _c0170; +float _d0170; +vec3 _r0172; +vec3 _r0182; +vec3 _r0192; +vec3 _r0202; +float _a0212; +float _b0212; +float _c0212; +float _d0212; +vec3 _r0214; +vec3 _r0224; +vec3 _r0234; +vec3 _r0244; +float _a0254; +float _b0254; +float _c0254; +float _d0254; +vec3 _r0256; +vec3 _r0266; +vec3 _r0276; +vec3 _r0286; +float _a0296; +float _b0296; +float _c0296; +float _d0296; +vec3 _r0298; +vec3 _r0308; +vec3 _r0318; +vec3 _r0328; +float _a0338; +float _b0338; +float _c0338; +float _d0338; +vec3 _r0340; +vec3 _r0350; +vec3 _r0360; +vec3 _r0370; +float _a0380; +float _b0380; +float _c0380; +float _d0380; +vec3 _r0382; +vec3 _r0392; +vec3 _r0402; +vec3 _r0412; +float _a0422; +float _b0422; +float _c0422; +float _d0422; +vec3 _r0424; +vec3 _r0434; +vec3 _r0444; +vec3 _r0454; +float _a0464; +float _b0464; +float _c0464; +float _d0464; +vec3 _r0466; +vec3 _r0476; +vec3 _r0486; +vec3 _r0496; +float _a0716; +float _b0716; +float _c0716; +float _d0716; +vec3 _r0718; +vec3 _r0728; +vec3 _r0738; +vec3 _r0748; +float _a0800; +float _b0800; +float _c0800; +float _d0800; +vec3 _r0802; +vec3 _r0812; +vec3 _r0822; +vec3 _r0832; +float _a0926; +float _b0926; +float _c0926; +float _d0926; +vec3 _r0928; +vec3 _r0938; +vec3 _r0948; +vec3 _r0958; +float _a0968; +float _b0968; +float _c0968; +float _d0968; +vec3 _r0970; +vec3 _r0980; +vec3 _r0990; +vec3 _r1000; +vec4 _TMP1011; +vec4 _a1014; +vec4 _TMP1015; +vec4 _a1018; +vec4 _TMP1019; +vec4 _a1022; +vec4 _TMP1023; +vec4 _a1026; +vec4 _TMP1027; +vec4 _a1030; +vec4 _TMP1033; +vec4 _a1036; +vec4 _TMP1037; +vec4 _a1040; +vec4 _TMP1041; +vec4 _a1044; +vec4 _TMP1045; +vec4 _a1048; +vec4 _TMP1049; +vec4 _a1052; +vec4 _TMP1053; +vec4 _a1056; +vec4 _TMP1057; +vec4 _a1060; +vec4 _TMP1061; +vec4 _a1064; +vec4 _TMP1065; +vec4 _a1068; +vec4 _TMP1069; +vec4 _a1072; +vec4 _TMP1073; +vec4 _a1076; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + vec2 _fp; + vec3 _A1; + vec3 _B1; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _A11; + vec3 _C1; + vec3 _A0; + vec3 _G0; + vec3 _C4; + vec3 _I4; + vec3 _G5; + vec3 _I5; + vec3 _B11; + vec3 _D0; + vec3 _H5; + vec3 _F4; + vec4 _b2; + vec4 _c2; + vec4 _d2; + vec4 _e1; + vec4 _f1; + vec4 _g1; + vec4 _h1; + vec4 _i; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _f4; + _x0084 = TEX0.xy*TextureSize; + _fp = fract(_x0084); + _c0086 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP0 = texture2D(Texture, _c0086); + _A1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0088 = TEX0.xy - vec2(float(TEX1.z), float(TEX1.w)); + _TMP1 = texture2D(Texture, _c0088); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0090 = (TEX0.xy + vec2(float(TEX1.x), float(TEX1.y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0090); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0092 = TEX0.xy - vec2(float(TEX1.x), float(TEX1.y)); + _TMP3 = texture2D(Texture, _c0092); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0096 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)); + _TMP5 = texture2D(Texture, _c0096); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0098 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP6 = texture2D(Texture, _c0098); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0100 = TEX0.xy + vec2(float(TEX1.z), float(TEX1.w)); + _TMP7 = texture2D(Texture, _c0100); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0102 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP8 = texture2D(Texture, _c0102); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0104 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP9 = texture2D(Texture, _c0104); + _A11 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0106 = (TEX0.xy + vec2(float(TEX1.x), float(TEX1.y))) - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP10 = texture2D(Texture, _c0106); + _C1 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0108 = (TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP11 = texture2D(Texture, _c0108); + _A0 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0110 = (TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP12 = texture2D(Texture, _c0110); + _G0 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0112 = (TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP13 = texture2D(Texture, _c0112); + _C4 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0114 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP14 = texture2D(Texture, _c0114); + _I4 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0116 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP15 = texture2D(Texture, _c0116); + _G5 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0118 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)) + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP16 = texture2D(Texture, _c0118); + _I5 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _c0120 = TEX0.xy - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP17 = texture2D(Texture, _c0120); + _B11 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _c0122 = TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)); + _TMP18 = texture2D(Texture, _c0122); + _D0 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _c0124 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP19 = texture2D(Texture, _c0124); + _H5 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _c0126 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)); + _TMP20 = texture2D(Texture, _c0126); + _F4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0172.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0172.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0172.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0172.x), float(_r0172.y), float(_r0172.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0170 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0182.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0182.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0182.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0182.x), float(_r0182.y), float(_r0182.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0170 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0192.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0192.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0192.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0192.x), float(_r0192.y), float(_r0192.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0170 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0202.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0202.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0202.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0202.x), float(_r0202.y), float(_r0202.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0170 = float(_TMP44.x); + _b2 = vec4(_a0170, _b0170, _c0170, _d0170); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0214.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0214.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0214.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0214.x), float(_r0214.y), float(_r0214.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0212 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0224.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0224.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0224.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0224.x), float(_r0224.y), float(_r0224.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0212 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0234.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0234.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0234.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0234.x), float(_r0234.y), float(_r0234.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0212 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0244.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0244.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0244.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0244.x), float(_r0244.y), float(_r0244.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0212 = float(_TMP44.x); + _c2 = vec4(_a0212, _b0212, _c0212, _d0212); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0256.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0256.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0256.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0256.x), float(_r0256.y), float(_r0256.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0254 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0266.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0266.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0266.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0266.x), float(_r0266.y), float(_r0266.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0254 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0276.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0276.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0276.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0276.x), float(_r0276.y), float(_r0276.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0254 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0286.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0286.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0286.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0286.x), float(_r0286.y), float(_r0286.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0254 = float(_TMP44.x); + _d2 = vec4(_a0254, _b0254, _c0254, _d0254); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0298.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0298.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0298.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0298.x), float(_r0298.y), float(_r0298.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0296 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0308.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0308.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0308.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0308.x), float(_r0308.y), float(_r0308.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0296 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0318.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0318.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0318.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0318.x), float(_r0318.y), float(_r0318.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0296 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0328.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0328.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_E.x), float(_E.y), float(_E.z))); + _r0328.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0328.x), float(_r0328.y), float(_r0328.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0296 = float(_TMP44.x); + _e1 = vec4(_a0296, _b0296, _c0296, _d0296); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0340.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0340.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0340.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0340.x), float(_r0340.y), float(_r0340.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0338 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0350.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0350.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0350.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0350.x), float(_r0350.y), float(_r0350.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0338 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0360.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0360.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0360.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0360.x), float(_r0360.y), float(_r0360.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0338 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0370.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0370.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0370.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0370.x), float(_r0370.y), float(_r0370.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0338 = float(_TMP44.x); + _f1 = vec4(_a0338, _b0338, _c0338, _d0338); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0382.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0382.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0382.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0382.x), float(_r0382.y), float(_r0382.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0380 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0392.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0392.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0392.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0392.x), float(_r0392.y), float(_r0392.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0380 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0402.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0402.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0402.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0402.x), float(_r0402.y), float(_r0402.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0380 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0412.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0412.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0412.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0412.x), float(_r0412.y), float(_r0412.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0380 = float(_TMP44.x); + _g1 = vec4(_a0380, _b0380, _c0380, _d0380); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0424.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0424.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H.x), float(_H.y), float(_H.z))); + _r0424.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0424.x), float(_r0424.y), float(_r0424.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0422 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0434.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0434.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F.x), float(_F.y), float(_F.z))); + _r0434.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0434.x), float(_r0434.y), float(_r0434.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0422 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0444.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0444.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B1.x), float(_B1.y), float(_B1.z))); + _r0444.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0444.x), float(_r0444.y), float(_r0444.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0422 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0454.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0454.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D.x), float(_D.y), float(_D.z))); + _r0454.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0454.x), float(_r0454.y), float(_r0454.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0422 = float(_TMP44.x); + _h1 = vec4(_a0422, _b0422, _c0422, _d0422); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0466.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0466.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I.x), float(_I.y), float(_I.z))); + _r0466.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0466.x), float(_r0466.y), float(_r0466.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0464 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0476.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0476.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C.x), float(_C.y), float(_C.z))); + _r0476.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0476.x), float(_r0476.y), float(_r0476.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0464 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0486.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0486.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A1.x), float(_A1.y), float(_A1.z))); + _r0486.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0486.x), float(_r0486.y), float(_r0486.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0464 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0496.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0496.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G.x), float(_G.y), float(_G.z))); + _r0496.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0496.x), float(_r0496.y), float(_r0496.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0464 = float(_TMP44.x); + _i = vec4(_a0464, _b0464, _c0464, _d0464); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0718.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0718.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I4.x), float(_I4.y), float(_I4.z))); + _r0718.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0718.x), float(_r0718.y), float(_r0718.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0716 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0728.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0728.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C1.x), float(_C1.y), float(_C1.z))); + _r0728.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0728.x), float(_r0728.y), float(_r0728.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0716 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A0.x), float(_A0.y), float(_A0.z))); + _r0738.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A0.x), float(_A0.y), float(_A0.z))); + _r0738.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A0.x), float(_A0.y), float(_A0.z))); + _r0738.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0738.x), float(_r0738.y), float(_r0738.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0716 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0748.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0748.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G5.x), float(_G5.y), float(_G5.z))); + _r0748.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0748.x), float(_r0748.y), float(_r0748.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0716 = float(_TMP44.x); + _i4 = vec4(_a0716, _b0716, _c0716, _d0716); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0802.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0802.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_I5.x), float(_I5.y), float(_I5.z))); + _r0802.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0802.x), float(_r0802.y), float(_r0802.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0800 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0812.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0812.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_C4.x), float(_C4.y), float(_C4.z))); + _r0812.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0812.x), float(_r0812.y), float(_r0812.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0800 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_A11.x), float(_A11.y), float(_A11.z))); + _r0822.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_A11.x), float(_A11.y), float(_A11.z))); + _r0822.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_A11.x), float(_A11.y), float(_A11.z))); + _r0822.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0822.x), float(_r0822.y), float(_r0822.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0800 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0832.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0832.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_G0.x), float(_G0.y), float(_G0.z))); + _r0832.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0832.x), float(_r0832.y), float(_r0832.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0800 = float(_TMP44.x); + _i5 = vec4(_a0800, _b0800, _c0800, _d0800); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0928.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0928.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r0928.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0928.x), float(_r0928.y), float(_r0928.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0926 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0938.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0938.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0938.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0938.x), float(_r0938.y), float(_r0938.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0926 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0948.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0948.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0948.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0948.x), float(_r0948.y), float(_r0948.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0926 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0958.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0958.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0958.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0958.x), float(_r0958.y), float(_r0958.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0926 = float(_TMP44.x); + _h5 = vec4(_a0926, _b0926, _c0926, _d0926); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0970.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0970.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_F4.x), float(_F4.y), float(_F4.z))); + _r0970.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0970.x), float(_r0970.y), float(_r0970.z))); + _TMP38 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _a0968 = float(_TMP38.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0980.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0980.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_B11.x), float(_B11.y), float(_B11.z))); + _r0980.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0980.x), float(_r0980.y), float(_r0980.z))); + _TMP40 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _b0968 = float(_TMP40.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0990.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0990.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_D0.x), float(_D0.y), float(_D0.z))); + _r0990.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r0990.x), float(_r0990.y), float(_r0990.z))); + _TMP42 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _c0968 = float(_TMP42.x); + _TMP51 = dot(vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r1000.x = float(_TMP51); + _TMP51 = dot(vec3( -1.18261719E+00, -2.31640625E+00, 3.49414062E+00), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r1000.y = float(_TMP51); + _TMP51 = dot(vec3( 2.99414062E+00, -2.50781250E+00, -4.87792969E-01), vec3(float(_H5.x), float(_H5.y), float(_H5.z))); + _r1000.z = float(_TMP51); + _TMP50 = abs(vec3(float(_r1000.x), float(_r1000.y), float(_r1000.z))); + _TMP44 = vec3(float(_TMP50.x), float(_TMP50.y), float(_TMP50.z)); + _d0968 = float(_TMP44.x); + _f4 = vec4(_a0968, _b0968, _c0968, _d0968); + _fx = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).x > 1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).y > 5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).w > 5.00000000E-01); + _fx_left = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).x > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).y > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).w > 0.00000000E+00); + _fx_up = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).x > 2.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).y > 0.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).z > -1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).w > 5.00000000E-01); + _interp_restriction_lv1 = bvec4(_e1.x != _f1.x && _e1.x != _h1.x, _e1.y != _f1.y && _e1.y != _h1.y, _e1.z != _f1.z && _e1.z != _h1.z, _e1.w != _f1.w && _e1.w != _h1.w); + _interp_restriction_lv2_left = bvec4(_e1.x != _g1.x && _d2.x != _g1.x, _e1.y != _g1.y && _d2.y != _g1.y, _e1.z != _g1.z && _d2.z != _g1.z, _e1.w != _g1.w && _d2.w != _g1.w); + _interp_restriction_lv2_up = bvec4(_e1.x != _c2.x && _b2.x != _c2.x, _e1.y != _c2.y && _b2.y != _c2.y, _e1.z != _c2.z && _b2.z != _c2.z, _e1.w != _c2.w && _b2.w != _c2.w); + _a1014 = _e1 - _c2; + _TMP1011 = abs(_a1014); + _a1018 = _e1 - _g1; + _TMP1015 = abs(_a1018); + _a1022 = _i - _h5; + _TMP1019 = abs(_a1022); + _a1026 = _i - _f4; + _TMP1023 = abs(_a1026); + _a1030 = _h1 - _f1; + _TMP1027 = abs(_a1030); + _TMP21 = _TMP1011 + _TMP1015 + _TMP1019 + _TMP1023 + 4.00000000E+00*_TMP1027; + _a1036 = _h1 - _d2; + _TMP1033 = abs(_a1036); + _a1040 = _h1 - _i5; + _TMP1037 = abs(_a1040); + _a1044 = _f1 - _i4; + _TMP1041 = abs(_a1044); + _a1048 = _f1 - _b2; + _TMP1045 = abs(_a1048); + _a1052 = _e1 - _i; + _TMP1049 = abs(_a1052); + _TMP22 = _TMP1033 + _TMP1037 + _TMP1041 + _TMP1045 + 4.00000000E+00*_TMP1049; + _edr = bvec4(_TMP21.x < _TMP22.x && _interp_restriction_lv1.x, _TMP21.y < _TMP22.y && _interp_restriction_lv1.y, _TMP21.z < _TMP22.z && _interp_restriction_lv1.z, _TMP21.w < _TMP22.w && _interp_restriction_lv1.w); + _a1056 = _f1 - _g1; + _TMP1053 = abs(_a1056); + _a1060 = _h1 - _c2; + _TMP1057 = abs(_a1060); + _edr_left = bvec4((2.00000000E+00*_TMP1053).x <= _TMP1057.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP1053).y <= _TMP1057.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP1053).z <= _TMP1057.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP1053).w <= _TMP1057.w && _interp_restriction_lv2_left.w); + _a1064 = _f1 - _g1; + _TMP1061 = abs(_a1064); + _a1068 = _h1 - _c2; + _TMP1065 = abs(_a1068); + _edr_up = bvec4(_TMP1061.x >= (2.00000000E+00*_TMP1065).x && _interp_restriction_lv2_up.x, _TMP1061.y >= (2.00000000E+00*_TMP1065).y && _interp_restriction_lv2_up.y, _TMP1061.z >= (2.00000000E+00*_TMP1065).z && _interp_restriction_lv2_up.z, _TMP1061.w >= (2.00000000E+00*_TMP1065).w && _interp_restriction_lv2_up.w); + _nc = bvec4(_edr.x && (_fx.x || _edr_left.x && _fx_left.x || _edr_up.x && _fx_up.x), _edr.y && (_fx.y || _edr_left.y && _fx_left.y || _edr_up.y && _fx_up.y), _edr.z && (_fx.z || _edr_left.z && _fx_left.z || _edr_up.z && _fx_up.z), _edr.w && (_fx.w || _edr_left.w && _fx_left.w || _edr_up.w && _fx_up.w)); + _a1072 = _e1 - _f1; + _TMP1069 = abs(_a1072); + _a1076 = _e1 - _h1; + _TMP1073 = abs(_a1076); + _px = bvec4(_TMP1069.x <= _TMP1073.x, _TMP1069.y <= _TMP1073.y, _TMP1069.z <= _TMP1073.z, _TMP1069.w <= _TMP1073.w); + if (_nc.x) { + if (_px.x) { + _TMP30 = _F; + } else { + _TMP30 = _H; + } + _TMP29 = _TMP30; + } else { + if (_nc.y) { + if (_px.y) { + _TMP32 = _B1; + } else { + _TMP32 = _F; + } + _TMP31 = _TMP32; + } else { + if (_nc.z) { + if (_px.z) { + _TMP34 = _D; + } else { + _TMP34 = _B1; + } + _TMP33 = _TMP34; + } else { + if (_nc.w) { + if (_px.w) { + _TMP36 = _H; + } else { + _TMP36 = _D; + } + _TMP35 = _TMP36; + } else { + _TMP35 = _E; + } + _TMP33 = _TMP35; + } + _TMP31 = _TMP33; + } + _TMP29 = _TMP31; + } + _ret_0 = vec4(_TMP29.x, _TMP29.y, _TMP29.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.6a.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.6a.glsl new file mode 100644 index 0000000000..0ae80e64c5 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.6a.glsl @@ -0,0 +1,462 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(_ps.x, 0.00000000E+00); + _OUT._t1.zw = vec2(0.00000000E+00, _ps.y); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP35; +vec3 _TMP37; +vec3 _TMP39; +vec3 _TMP41; +vec3 _TMP42; +vec3 _TMP40; +vec3 _TMP38; +vec3 _TMP36; +vec4 _TMP28; +vec4 _TMP27; +float _TMP48; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0062; +vec2 _c0064; +vec2 _c0066; +vec2 _c0068; +vec2 _c0070; +vec2 _c0074; +vec2 _c0076; +vec2 _c0078; +vec2 _c0080; +vec2 _c0082; +vec2 _c0084; +vec2 _c0086; +vec2 _c0088; +vec2 _c0090; +vec2 _c0092; +vec2 _c0094; +vec2 _c0096; +vec2 _c0098; +vec2 _c0100; +vec2 _c0102; +vec2 _c0104; +vec4 _r0106; +vec4 _r0116; +vec4 _r0126; +vec4 _r0136; +vec4 _r0146; +vec4 _r0156; +vec4 _TMP167; +vec4 _a0170; +vec4 _TMP171; +vec4 _a0174; +vec4 _TMP175; +vec4 _a0178; +vec4 _TMP179; +vec4 _a0182; +vec4 _TMP183; +vec4 _a0186; +vec4 _TMP189; +vec4 _a0192; +vec4 _TMP193; +vec4 _a0196; +vec4 _TMP197; +vec4 _a0200; +vec4 _TMP201; +vec4 _a0204; +vec4 _TMP205; +vec4 _a0208; +vec4 _TMP209; +vec4 _a0212; +vec4 _TMP213; +vec4 _a0216; +vec4 _TMP217; +vec4 _a0220; +vec4 _TMP221; +vec4 _a0224; +vec4 _TMP225; +vec4 _a0228; +vec4 _TMP229; +vec4 _a0232; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + vec2 _fp; + vec3 _A1; + vec3 _B1; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _A11; + vec3 _C1; + vec3 _A0; + vec3 _G0; + vec3 _C4; + vec3 _I4; + vec3 _G5; + vec3 _I5; + vec3 _B11; + vec3 _D0; + vec3 _H5; + vec3 _F4; + vec4 _b1; + vec4 _c1; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + _x0062 = TEX0.xy*TextureSize; + _fp = fract(_x0062); + _c0064 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP0 = texture2D(Texture, _c0064); + _A1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0066 = TEX0.xy - vec2(float(TEX1.z), float(TEX1.w)); + _TMP1 = texture2D(Texture, _c0066); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0068 = (TEX0.xy + vec2(float(TEX1.x), float(TEX1.y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0068); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0070 = TEX0.xy - vec2(float(TEX1.x), float(TEX1.y)); + _TMP3 = texture2D(Texture, _c0070); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0074 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)); + _TMP5 = texture2D(Texture, _c0074); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0076 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP6 = texture2D(Texture, _c0076); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0078 = TEX0.xy + vec2(float(TEX1.z), float(TEX1.w)); + _TMP7 = texture2D(Texture, _c0078); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0080 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP8 = texture2D(Texture, _c0080); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0082 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP9 = texture2D(Texture, _c0082); + _A11 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0084 = (TEX0.xy + vec2(float(TEX1.x), float(TEX1.y))) - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP10 = texture2D(Texture, _c0084); + _C1 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0086 = (TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP11 = texture2D(Texture, _c0086); + _A0 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0088 = (TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP12 = texture2D(Texture, _c0088); + _G0 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0090 = (TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP13 = texture2D(Texture, _c0090); + _C4 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0092 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP14 = texture2D(Texture, _c0092); + _I4 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0094 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP15 = texture2D(Texture, _c0094); + _G5 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0096 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)) + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP16 = texture2D(Texture, _c0096); + _I5 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _c0098 = TEX0.xy - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP17 = texture2D(Texture, _c0098); + _B11 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _c0100 = TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)); + _TMP18 = texture2D(Texture, _c0100); + _D0 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _c0102 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP19 = texture2D(Texture, _c0102); + _H5 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _c0104 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)); + _TMP20 = texture2D(Texture, _c0104); + _F4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP48 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0106.x = float(_TMP48); + _TMP48 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0106.y = float(_TMP48); + _TMP48 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0106.z = float(_TMP48); + _TMP48 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0106.w = float(_TMP48); + _b1 = vec4(float(_r0106.x), float(_r0106.y), float(_r0106.z), float(_r0106.w)); + _TMP48 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0116.x = float(_TMP48); + _TMP48 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0116.y = float(_TMP48); + _TMP48 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0116.z = float(_TMP48); + _TMP48 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0116.w = float(_TMP48); + _c1 = vec4(float(_r0116.x), float(_r0116.y), float(_r0116.z), float(_r0116.w)); + _TMP48 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.x = float(_TMP48); + _TMP48 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.y = float(_TMP48); + _TMP48 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.z = float(_TMP48); + _TMP48 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.w = float(_TMP48); + _e1 = vec4(float(_r0126.x), float(_r0126.y), float(_r0126.z), float(_r0126.w)); + _TMP48 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.x = float(_TMP48); + _TMP48 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.y = float(_TMP48); + _TMP48 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.z = float(_TMP48); + _TMP48 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.w = float(_TMP48); + _i4 = vec4(float(_r0136.x), float(_r0136.y), float(_r0136.z), float(_r0136.w)); + _TMP48 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.x = float(_TMP48); + _TMP48 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.y = float(_TMP48); + _TMP48 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.z = float(_TMP48); + _TMP48 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.w = float(_TMP48); + _i5 = vec4(float(_r0146.x), float(_r0146.y), float(_r0146.z), float(_r0146.w)); + _TMP48 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.x = float(_TMP48); + _TMP48 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.y = float(_TMP48); + _TMP48 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.z = float(_TMP48); + _TMP48 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.w = float(_TMP48); + _h5 = vec4(float(_r0156.x), float(_r0156.y), float(_r0156.z), float(_r0156.w)); + _fx = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).x > 1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).y > 5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).w > 5.00000000E-01); + _fx_left = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).x > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).y > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).w > 0.00000000E+00); + _fx_up = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).x > 2.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).y > 0.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).z > -1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).w > 5.00000000E-01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z, _e1.y != _b1.x && _e1.y != _b1.w, _e1.z != _b1.y && _e1.z != _b1.x, _e1.w != _b1.z && _e1.w != _b1.y); + _interp_restriction_lv2_left = bvec4(_e1.x != _c1.z && _b1.y != _c1.z, _e1.y != _c1.w && _b1.z != _c1.w, _e1.z != _c1.x && _b1.w != _c1.x, _e1.w != _c1.y && _b1.x != _c1.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c1.x && _b1.x != _c1.x, _e1.y != _c1.y && _b1.y != _c1.y, _e1.z != _c1.z && _b1.z != _c1.z, _e1.w != _c1.w && _b1.w != _c1.w); + _a0170 = _e1 - _c1; + _TMP167 = abs(_a0170); + _a0174 = _e1 - _c1.zwxy; + _TMP171 = abs(_a0174); + _a0178 = _c1.wxyz - _h5; + _TMP175 = abs(_a0178); + _a0182 = _c1.wxyz - _h5.yzwx; + _TMP179 = abs(_a0182); + _a0186 = _b1.zwxy - _b1.wxyz; + _TMP183 = abs(_a0186); + _TMP27 = _TMP167 + _TMP171 + _TMP175 + _TMP179 + 4.00000000E+00*_TMP183; + _a0192 = _b1.zwxy - _b1.yzwx; + _TMP189 = abs(_a0192); + _a0196 = _b1.zwxy - _i5; + _TMP193 = abs(_a0196); + _a0200 = _b1.wxyz - _i4; + _TMP197 = abs(_a0200); + _a0204 = _b1.wxyz - _b1; + _TMP201 = abs(_a0204); + _a0208 = _e1 - _c1.wxyz; + _TMP205 = abs(_a0208); + _TMP28 = _TMP189 + _TMP193 + _TMP197 + _TMP201 + 4.00000000E+00*_TMP205; + _edr = bvec4(_TMP27.x < _TMP28.x && _interp_restriction_lv1.x, _TMP27.y < _TMP28.y && _interp_restriction_lv1.y, _TMP27.z < _TMP28.z && _interp_restriction_lv1.z, _TMP27.w < _TMP28.w && _interp_restriction_lv1.w); + _a0212 = _b1.wxyz - _c1.zwxy; + _TMP209 = abs(_a0212); + _a0216 = _b1.zwxy - _c1; + _TMP213 = abs(_a0216); + _edr_left = bvec4((2.00000000E+00*_TMP209).x <= _TMP213.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP209).y <= _TMP213.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP209).z <= _TMP213.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP209).w <= _TMP213.w && _interp_restriction_lv2_left.w); + _a0220 = _b1.wxyz - _c1.zwxy; + _TMP217 = abs(_a0220); + _a0224 = _b1.zwxy - _c1; + _TMP221 = abs(_a0224); + _edr_up = bvec4(_TMP217.x >= (2.00000000E+00*_TMP221).x && _interp_restriction_lv2_up.x, _TMP217.y >= (2.00000000E+00*_TMP221).y && _interp_restriction_lv2_up.y, _TMP217.z >= (2.00000000E+00*_TMP221).z && _interp_restriction_lv2_up.z, _TMP217.w >= (2.00000000E+00*_TMP221).w && _interp_restriction_lv2_up.w); + _nc = bvec4(_edr.x && (_fx.x || _edr_left.x && _fx_left.x || _edr_up.x && _fx_up.x), _edr.y && (_fx.y || _edr_left.y && _fx_left.y || _edr_up.y && _fx_up.y), _edr.z && (_fx.z || _edr_left.z && _fx_left.z || _edr_up.z && _fx_up.z), _edr.w && (_fx.w || _edr_left.w && _fx_left.w || _edr_up.w && _fx_up.w)); + _a0228 = _e1 - _b1.wxyz; + _TMP225 = abs(_a0228); + _a0232 = _e1 - _b1.zwxy; + _TMP229 = abs(_a0232); + _px = bvec4(_TMP225.x <= _TMP229.x, _TMP225.y <= _TMP229.y, _TMP225.z <= _TMP229.z, _TMP225.w <= _TMP229.w); + if (_nc.x) { + if (_px.x) { + _TMP36 = _F; + } else { + _TMP36 = _H; + } + _TMP35 = _TMP36; + } else { + if (_nc.y) { + if (_px.y) { + _TMP38 = _B1; + } else { + _TMP38 = _F; + } + _TMP37 = _TMP38; + } else { + if (_nc.z) { + if (_px.z) { + _TMP40 = _D; + } else { + _TMP40 = _B1; + } + _TMP39 = _TMP40; + } else { + if (_nc.w) { + if (_px.w) { + _TMP42 = _H; + } else { + _TMP42 = _D; + } + _TMP41 = _TMP42; + } else { + _TMP41 = _E; + } + _TMP39 = _TMP41; + } + _TMP37 = _TMP39; + } + _TMP35 = _TMP37; + } + _ret_0 = vec4(_TMP35.x, _TMP35.y, _TMP35.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.6b.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.6b.glsl new file mode 100644 index 0000000000..f0bc0255e5 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.6b.glsl @@ -0,0 +1,462 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(_ps.x, 0.00000000E+00); + _OUT._t1.zw = vec2(0.00000000E+00, _ps.y); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP35; +vec3 _TMP37; +vec3 _TMP39; +vec3 _TMP41; +vec3 _TMP42; +vec3 _TMP40; +vec3 _TMP38; +vec3 _TMP36; +vec4 _TMP28; +vec4 _TMP27; +float _TMP48; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0062; +vec2 _c0064; +vec2 _c0066; +vec2 _c0068; +vec2 _c0070; +vec2 _c0074; +vec2 _c0076; +vec2 _c0078; +vec2 _c0080; +vec2 _c0082; +vec2 _c0084; +vec2 _c0086; +vec2 _c0088; +vec2 _c0090; +vec2 _c0092; +vec2 _c0094; +vec2 _c0096; +vec2 _c0098; +vec2 _c0100; +vec2 _c0102; +vec2 _c0104; +vec4 _r0106; +vec4 _r0116; +vec4 _r0126; +vec4 _r0136; +vec4 _r0146; +vec4 _r0156; +vec4 _TMP167; +vec4 _a0170; +vec4 _TMP171; +vec4 _a0174; +vec4 _TMP175; +vec4 _a0178; +vec4 _TMP179; +vec4 _a0182; +vec4 _TMP183; +vec4 _a0186; +vec4 _TMP189; +vec4 _a0192; +vec4 _TMP193; +vec4 _a0196; +vec4 _TMP197; +vec4 _a0200; +vec4 _TMP201; +vec4 _a0204; +vec4 _TMP205; +vec4 _a0208; +vec4 _TMP209; +vec4 _a0212; +vec4 _TMP213; +vec4 _a0216; +vec4 _TMP217; +vec4 _a0220; +vec4 _TMP221; +vec4 _a0224; +vec4 _TMP225; +vec4 _a0228; +vec4 _TMP229; +vec4 _a0232; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + vec2 _fp; + vec3 _A1; + vec3 _B1; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _A11; + vec3 _C1; + vec3 _A0; + vec3 _G0; + vec3 _C4; + vec3 _I4; + vec3 _G5; + vec3 _I5; + vec3 _B11; + vec3 _D0; + vec3 _H5; + vec3 _F4; + vec4 _b1; + vec4 _c1; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + _x0062 = TEX0.xy*TextureSize; + _fp = fract(_x0062); + _c0064 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP0 = texture2D(Texture, _c0064); + _A1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0066 = TEX0.xy - vec2(float(TEX1.z), float(TEX1.w)); + _TMP1 = texture2D(Texture, _c0066); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0068 = (TEX0.xy + vec2(float(TEX1.x), float(TEX1.y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0068); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0070 = TEX0.xy - vec2(float(TEX1.x), float(TEX1.y)); + _TMP3 = texture2D(Texture, _c0070); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0074 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)); + _TMP5 = texture2D(Texture, _c0074); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0076 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP6 = texture2D(Texture, _c0076); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0078 = TEX0.xy + vec2(float(TEX1.z), float(TEX1.w)); + _TMP7 = texture2D(Texture, _c0078); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0080 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP8 = texture2D(Texture, _c0080); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0082 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP9 = texture2D(Texture, _c0082); + _A11 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0084 = (TEX0.xy + vec2(float(TEX1.x), float(TEX1.y))) - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP10 = texture2D(Texture, _c0084); + _C1 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0086 = (TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP11 = texture2D(Texture, _c0086); + _A0 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0088 = (TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP12 = texture2D(Texture, _c0088); + _G0 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0090 = (TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP13 = texture2D(Texture, _c0090); + _C4 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0092 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP14 = texture2D(Texture, _c0092); + _I4 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0094 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP15 = texture2D(Texture, _c0094); + _G5 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0096 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)) + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP16 = texture2D(Texture, _c0096); + _I5 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _c0098 = TEX0.xy - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP17 = texture2D(Texture, _c0098); + _B11 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _c0100 = TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)); + _TMP18 = texture2D(Texture, _c0100); + _D0 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _c0102 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP19 = texture2D(Texture, _c0102); + _H5 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _c0104 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)); + _TMP20 = texture2D(Texture, _c0104); + _F4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP48 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0106.x = float(_TMP48); + _TMP48 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0106.y = float(_TMP48); + _TMP48 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0106.z = float(_TMP48); + _TMP48 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0106.w = float(_TMP48); + _b1 = vec4(float(_r0106.x), float(_r0106.y), float(_r0106.z), float(_r0106.w)); + _TMP48 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0116.x = float(_TMP48); + _TMP48 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0116.y = float(_TMP48); + _TMP48 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0116.z = float(_TMP48); + _TMP48 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0116.w = float(_TMP48); + _c1 = vec4(float(_r0116.x), float(_r0116.y), float(_r0116.z), float(_r0116.w)); + _TMP48 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.x = float(_TMP48); + _TMP48 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.y = float(_TMP48); + _TMP48 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.z = float(_TMP48); + _TMP48 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.w = float(_TMP48); + _e1 = vec4(float(_r0126.x), float(_r0126.y), float(_r0126.z), float(_r0126.w)); + _TMP48 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.x = float(_TMP48); + _TMP48 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.y = float(_TMP48); + _TMP48 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.z = float(_TMP48); + _TMP48 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.w = float(_TMP48); + _i4 = vec4(float(_r0136.x), float(_r0136.y), float(_r0136.z), float(_r0136.w)); + _TMP48 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.x = float(_TMP48); + _TMP48 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.y = float(_TMP48); + _TMP48 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.z = float(_TMP48); + _TMP48 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.w = float(_TMP48); + _i5 = vec4(float(_r0146.x), float(_r0146.y), float(_r0146.z), float(_r0146.w)); + _TMP48 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.x = float(_TMP48); + _TMP48 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.y = float(_TMP48); + _TMP48 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.z = float(_TMP48); + _TMP48 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.w = float(_TMP48); + _h5 = vec4(float(_r0156.x), float(_r0156.y), float(_r0156.z), float(_r0156.w)); + _fx = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).x > 1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).y > 5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).w > 5.00000000E-01); + _fx_left = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).x > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).y > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).w > 0.00000000E+00); + _fx_up = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).x > 2.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).y > 0.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).z > -1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).w > 5.00000000E-01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (_b1.w != _b1.x && _b1.z != _b1.y || _e1.x == _c1.w && _b1.w != _i4.x && _b1.z != _i5.x || _e1.x == _c1.z || _e1.x == _c1.x), _e1.y != _b1.x && _e1.y != _b1.w && (_b1.x != _b1.y && _b1.w != _b1.z || _e1.y == _c1.x && _b1.x != _i4.y && _b1.w != _i5.y || _e1.y == _c1.w || _e1.y == _c1.y), _e1.z != _b1.y && _e1.z != _b1.x && (_b1.y != _b1.z && _b1.x != _b1.w || _e1.z == _c1.y && _b1.y != _i4.z && _b1.x != _i5.z || _e1.z == _c1.x || _e1.z == _c1.z), _e1.w != _b1.z && _e1.w != _b1.y && (_b1.z != _b1.w && _b1.y != _b1.x || _e1.w == _c1.z && _b1.z != _i4.w && _b1.y != _i5.w || _e1.w == _c1.y || _e1.w == _c1.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c1.z && _b1.y != _c1.z, _e1.y != _c1.w && _b1.z != _c1.w, _e1.z != _c1.x && _b1.w != _c1.x, _e1.w != _c1.y && _b1.x != _c1.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c1.x && _b1.x != _c1.x, _e1.y != _c1.y && _b1.y != _c1.y, _e1.z != _c1.z && _b1.z != _c1.z, _e1.w != _c1.w && _b1.w != _c1.w); + _a0170 = _e1 - _c1; + _TMP167 = abs(_a0170); + _a0174 = _e1 - _c1.zwxy; + _TMP171 = abs(_a0174); + _a0178 = _c1.wxyz - _h5; + _TMP175 = abs(_a0178); + _a0182 = _c1.wxyz - _h5.yzwx; + _TMP179 = abs(_a0182); + _a0186 = _b1.zwxy - _b1.wxyz; + _TMP183 = abs(_a0186); + _TMP27 = _TMP167 + _TMP171 + _TMP175 + _TMP179 + 4.00000000E+00*_TMP183; + _a0192 = _b1.zwxy - _b1.yzwx; + _TMP189 = abs(_a0192); + _a0196 = _b1.zwxy - _i5; + _TMP193 = abs(_a0196); + _a0200 = _b1.wxyz - _i4; + _TMP197 = abs(_a0200); + _a0204 = _b1.wxyz - _b1; + _TMP201 = abs(_a0204); + _a0208 = _e1 - _c1.wxyz; + _TMP205 = abs(_a0208); + _TMP28 = _TMP189 + _TMP193 + _TMP197 + _TMP201 + 4.00000000E+00*_TMP205; + _edr = bvec4(_TMP27.x < _TMP28.x && _interp_restriction_lv1.x, _TMP27.y < _TMP28.y && _interp_restriction_lv1.y, _TMP27.z < _TMP28.z && _interp_restriction_lv1.z, _TMP27.w < _TMP28.w && _interp_restriction_lv1.w); + _a0212 = _b1.wxyz - _c1.zwxy; + _TMP209 = abs(_a0212); + _a0216 = _b1.zwxy - _c1; + _TMP213 = abs(_a0216); + _edr_left = bvec4((2.00000000E+00*_TMP209).x <= _TMP213.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP209).y <= _TMP213.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP209).z <= _TMP213.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP209).w <= _TMP213.w && _interp_restriction_lv2_left.w); + _a0220 = _b1.wxyz - _c1.zwxy; + _TMP217 = abs(_a0220); + _a0224 = _b1.zwxy - _c1; + _TMP221 = abs(_a0224); + _edr_up = bvec4(_TMP217.x >= (2.00000000E+00*_TMP221).x && _interp_restriction_lv2_up.x, _TMP217.y >= (2.00000000E+00*_TMP221).y && _interp_restriction_lv2_up.y, _TMP217.z >= (2.00000000E+00*_TMP221).z && _interp_restriction_lv2_up.z, _TMP217.w >= (2.00000000E+00*_TMP221).w && _interp_restriction_lv2_up.w); + _nc = bvec4(_edr.x && (_fx.x || _edr_left.x && _fx_left.x || _edr_up.x && _fx_up.x), _edr.y && (_fx.y || _edr_left.y && _fx_left.y || _edr_up.y && _fx_up.y), _edr.z && (_fx.z || _edr_left.z && _fx_left.z || _edr_up.z && _fx_up.z), _edr.w && (_fx.w || _edr_left.w && _fx_left.w || _edr_up.w && _fx_up.w)); + _a0228 = _e1 - _b1.wxyz; + _TMP225 = abs(_a0228); + _a0232 = _e1 - _b1.zwxy; + _TMP229 = abs(_a0232); + _px = bvec4(_TMP225.x <= _TMP229.x, _TMP225.y <= _TMP229.y, _TMP225.z <= _TMP229.z, _TMP225.w <= _TMP229.w); + if (_nc.x) { + if (_px.x) { + _TMP36 = _F; + } else { + _TMP36 = _H; + } + _TMP35 = _TMP36; + } else { + if (_nc.y) { + if (_px.y) { + _TMP38 = _B1; + } else { + _TMP38 = _F; + } + _TMP37 = _TMP38; + } else { + if (_nc.z) { + if (_px.z) { + _TMP40 = _D; + } else { + _TMP40 = _B1; + } + _TMP39 = _TMP40; + } else { + if (_nc.w) { + if (_px.w) { + _TMP42 = _H; + } else { + _TMP42 = _D; + } + _TMP41 = _TMP42; + } else { + _TMP41 = _E; + } + _TMP39 = _TMP41; + } + _TMP37 = _TMP39; + } + _TMP35 = _TMP37; + } + _ret_0 = vec4(_TMP35.x, _TMP35.y, _TMP35.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.6c.glsl b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.6c.glsl new file mode 100644 index 0000000000..8bd54e628a --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/Legacy/5xBR-v3.6c.glsl @@ -0,0 +1,462 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0006; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0006.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(_ps.x, 0.00000000E+00); + _OUT._t1.zw = vec2(0.00000000E+00, _ps.y); + _ret_0._position1 = _r0006; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = vec4(float(_r0006.x), float(_r0006.y), float(_r0006.z), float(_r0006.w)); + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _color; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 _t1; +}; +vec4 _ret_0; +vec3 _TMP35; +vec3 _TMP37; +vec3 _TMP39; +vec3 _TMP41; +vec3 _TMP42; +vec3 _TMP40; +vec3 _TMP38; +vec3 _TMP36; +vec4 _TMP28; +vec4 _TMP27; +float _TMP48; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0062; +vec2 _c0064; +vec2 _c0066; +vec2 _c0068; +vec2 _c0070; +vec2 _c0074; +vec2 _c0076; +vec2 _c0078; +vec2 _c0080; +vec2 _c0082; +vec2 _c0084; +vec2 _c0086; +vec2 _c0088; +vec2 _c0090; +vec2 _c0092; +vec2 _c0094; +vec2 _c0096; +vec2 _c0098; +vec2 _c0100; +vec2 _c0102; +vec2 _c0104; +vec4 _r0106; +vec4 _r0116; +vec4 _r0126; +vec4 _r0136; +vec4 _r0146; +vec4 _r0156; +vec4 _TMP167; +vec4 _a0170; +vec4 _TMP171; +vec4 _a0174; +vec4 _TMP175; +vec4 _a0178; +vec4 _TMP179; +vec4 _a0182; +vec4 _TMP183; +vec4 _a0186; +vec4 _TMP189; +vec4 _a0192; +vec4 _TMP193; +vec4 _a0196; +vec4 _TMP197; +vec4 _a0200; +vec4 _TMP201; +vec4 _a0204; +vec4 _TMP205; +vec4 _a0208; +vec4 _TMP209; +vec4 _a0212; +vec4 _TMP213; +vec4 _a0216; +vec4 _TMP217; +vec4 _a0220; +vec4 _TMP221; +vec4 _a0224; +vec4 _TMP225; +vec4 _a0228; +vec4 _TMP229; +vec4 _a0232; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + vec2 _fp; + vec3 _A1; + vec3 _B1; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _A11; + vec3 _C1; + vec3 _A0; + vec3 _G0; + vec3 _C4; + vec3 _I4; + vec3 _G5; + vec3 _I5; + vec3 _B11; + vec3 _D0; + vec3 _H5; + vec3 _F4; + vec4 _b1; + vec4 _c1; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + _x0062 = TEX0.xy*TextureSize; + _fp = fract(_x0062); + _c0064 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP0 = texture2D(Texture, _c0064); + _A1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0066 = TEX0.xy - vec2(float(TEX1.z), float(TEX1.w)); + _TMP1 = texture2D(Texture, _c0066); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0068 = (TEX0.xy + vec2(float(TEX1.x), float(TEX1.y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0068); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0070 = TEX0.xy - vec2(float(TEX1.x), float(TEX1.y)); + _TMP3 = texture2D(Texture, _c0070); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0074 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)); + _TMP5 = texture2D(Texture, _c0074); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0076 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP6 = texture2D(Texture, _c0076); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0078 = TEX0.xy + vec2(float(TEX1.z), float(TEX1.w)); + _TMP7 = texture2D(Texture, _c0078); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0080 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP8 = texture2D(Texture, _c0080); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0082 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP9 = texture2D(Texture, _c0082); + _A11 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0084 = (TEX0.xy + vec2(float(TEX1.x), float(TEX1.y))) - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP10 = texture2D(Texture, _c0084); + _C1 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0086 = (TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP11 = texture2D(Texture, _c0086); + _A0 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0088 = (TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP12 = texture2D(Texture, _c0088); + _G0 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0090 = (TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y))) - vec2(float(TEX1.z), float(TEX1.w)); + _TMP13 = texture2D(Texture, _c0090); + _C4 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0092 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)) + vec2(float(TEX1.z), float(TEX1.w)); + _TMP14 = texture2D(Texture, _c0092); + _I4 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0094 = (TEX0.xy - vec2(float(TEX1.x), float(TEX1.y))) + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP15 = texture2D(Texture, _c0094); + _G5 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0096 = TEX0.xy + vec2(float(TEX1.x), float(TEX1.y)) + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP16 = texture2D(Texture, _c0096); + _I5 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _c0098 = TEX0.xy - vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP17 = texture2D(Texture, _c0098); + _B11 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _c0100 = TEX0.xy - vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)); + _TMP18 = texture2D(Texture, _c0100); + _D0 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _c0102 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.zw).x), float((2.00000000E+00*TEX1.zw).y)); + _TMP19 = texture2D(Texture, _c0102); + _H5 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _c0104 = TEX0.xy + vec2(float((2.00000000E+00*TEX1.xy).x), float((2.00000000E+00*TEX1.xy).y)); + _TMP20 = texture2D(Texture, _c0104); + _F4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP48 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0106.x = float(_TMP48); + _TMP48 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0106.y = float(_TMP48); + _TMP48 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0106.z = float(_TMP48); + _TMP48 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0106.w = float(_TMP48); + _b1 = vec4(float(_r0106.x), float(_r0106.y), float(_r0106.z), float(_r0106.w)); + _TMP48 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0116.x = float(_TMP48); + _TMP48 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0116.y = float(_TMP48); + _TMP48 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0116.z = float(_TMP48); + _TMP48 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0116.w = float(_TMP48); + _c1 = vec4(float(_r0116.x), float(_r0116.y), float(_r0116.z), float(_r0116.w)); + _TMP48 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.x = float(_TMP48); + _TMP48 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.y = float(_TMP48); + _TMP48 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.z = float(_TMP48); + _TMP48 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0126.w = float(_TMP48); + _e1 = vec4(float(_r0126.x), float(_r0126.y), float(_r0126.z), float(_r0126.w)); + _TMP48 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.x = float(_TMP48); + _TMP48 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.y = float(_TMP48); + _TMP48 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.z = float(_TMP48); + _TMP48 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0136.w = float(_TMP48); + _i4 = vec4(float(_r0136.x), float(_r0136.y), float(_r0136.z), float(_r0136.w)); + _TMP48 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.x = float(_TMP48); + _TMP48 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.y = float(_TMP48); + _TMP48 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.z = float(_TMP48); + _TMP48 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0146.w = float(_TMP48); + _i5 = vec4(float(_r0146.x), float(_r0146.y), float(_r0146.z), float(_r0146.w)); + _TMP48 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.x = float(_TMP48); + _TMP48 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.y = float(_TMP48); + _TMP48 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.z = float(_TMP48); + _TMP48 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0156.w = float(_TMP48); + _h5 = vec4(float(_r0156.x), float(_r0156.y), float(_r0156.z), float(_r0156.w)); + _fx = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).x > 1.50000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).y > 5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x).w > 5.00000000E-01); + _fx_left = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).x > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).y > 1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).z > -5.00000000E-01, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x).w > 0.00000000E+00); + _fx_up = bvec4((vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).x > 2.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).y > 0.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).z > -1.00000000E+00, (vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x).w > 5.00000000E-01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (_b1.w != _b1.x && _b1.w != _c1.x || _b1.z != _b1.y && _b1.z != _c1.z || _e1.x == _c1.w && (_b1.w != _h5.y && _b1.w != _i4.x || _b1.z != _h5.x && _b1.z != _i5.x) || _e1.x == _c1.z || _e1.x == _c1.x), _e1.y != _b1.x && _e1.y != _b1.w && (_b1.x != _b1.y && _b1.x != _c1.y || _b1.w != _b1.z && _b1.w != _c1.w || _e1.y == _c1.x && (_b1.x != _h5.z && _b1.x != _i4.y || _b1.w != _h5.y && _b1.w != _i5.y) || _e1.y == _c1.w || _e1.y == _c1.y), _e1.z != _b1.y && _e1.z != _b1.x && (_b1.y != _b1.z && _b1.y != _c1.z || _b1.x != _b1.w && _b1.x != _c1.x || _e1.z == _c1.y && (_b1.y != _h5.w && _b1.y != _i4.z || _b1.x != _h5.z && _b1.x != _i5.z) || _e1.z == _c1.x || _e1.z == _c1.z), _e1.w != _b1.z && _e1.w != _b1.y && (_b1.z != _b1.w && _b1.z != _c1.w || _b1.y != _b1.x && _b1.y != _c1.y || _e1.w == _c1.z && (_b1.z != _h5.x && _b1.z != _i4.w || _b1.y != _h5.w && _b1.y != _i5.w) || _e1.w == _c1.y || _e1.w == _c1.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c1.z && _b1.y != _c1.z, _e1.y != _c1.w && _b1.z != _c1.w, _e1.z != _c1.x && _b1.w != _c1.x, _e1.w != _c1.y && _b1.x != _c1.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c1.x && _b1.x != _c1.x, _e1.y != _c1.y && _b1.y != _c1.y, _e1.z != _c1.z && _b1.z != _c1.z, _e1.w != _c1.w && _b1.w != _c1.w); + _a0170 = _e1 - _c1; + _TMP167 = abs(_a0170); + _a0174 = _e1 - _c1.zwxy; + _TMP171 = abs(_a0174); + _a0178 = _c1.wxyz - _h5; + _TMP175 = abs(_a0178); + _a0182 = _c1.wxyz - _h5.yzwx; + _TMP179 = abs(_a0182); + _a0186 = _b1.zwxy - _b1.wxyz; + _TMP183 = abs(_a0186); + _TMP27 = _TMP167 + _TMP171 + _TMP175 + _TMP179 + 4.00000000E+00*_TMP183; + _a0192 = _b1.zwxy - _b1.yzwx; + _TMP189 = abs(_a0192); + _a0196 = _b1.zwxy - _i5; + _TMP193 = abs(_a0196); + _a0200 = _b1.wxyz - _i4; + _TMP197 = abs(_a0200); + _a0204 = _b1.wxyz - _b1; + _TMP201 = abs(_a0204); + _a0208 = _e1 - _c1.wxyz; + _TMP205 = abs(_a0208); + _TMP28 = _TMP189 + _TMP193 + _TMP197 + _TMP201 + 4.00000000E+00*_TMP205; + _edr = bvec4(_TMP27.x < _TMP28.x && _interp_restriction_lv1.x, _TMP27.y < _TMP28.y && _interp_restriction_lv1.y, _TMP27.z < _TMP28.z && _interp_restriction_lv1.z, _TMP27.w < _TMP28.w && _interp_restriction_lv1.w); + _a0212 = _b1.wxyz - _c1.zwxy; + _TMP209 = abs(_a0212); + _a0216 = _b1.zwxy - _c1; + _TMP213 = abs(_a0216); + _edr_left = bvec4((2.00000000E+00*_TMP209).x <= _TMP213.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP209).y <= _TMP213.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP209).z <= _TMP213.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP209).w <= _TMP213.w && _interp_restriction_lv2_left.w); + _a0220 = _b1.wxyz - _c1.zwxy; + _TMP217 = abs(_a0220); + _a0224 = _b1.zwxy - _c1; + _TMP221 = abs(_a0224); + _edr_up = bvec4(_TMP217.x >= (2.00000000E+00*_TMP221).x && _interp_restriction_lv2_up.x, _TMP217.y >= (2.00000000E+00*_TMP221).y && _interp_restriction_lv2_up.y, _TMP217.z >= (2.00000000E+00*_TMP221).z && _interp_restriction_lv2_up.z, _TMP217.w >= (2.00000000E+00*_TMP221).w && _interp_restriction_lv2_up.w); + _nc = bvec4(_edr.x && (_fx.x || _edr_left.x && _fx_left.x || _edr_up.x && _fx_up.x), _edr.y && (_fx.y || _edr_left.y && _fx_left.y || _edr_up.y && _fx_up.y), _edr.z && (_fx.z || _edr_left.z && _fx_left.z || _edr_up.z && _fx_up.z), _edr.w && (_fx.w || _edr_left.w && _fx_left.w || _edr_up.w && _fx_up.w)); + _a0228 = _e1 - _b1.wxyz; + _TMP225 = abs(_a0228); + _a0232 = _e1 - _b1.zwxy; + _TMP229 = abs(_a0232); + _px = bvec4(_TMP225.x <= _TMP229.x, _TMP225.y <= _TMP229.y, _TMP225.z <= _TMP229.z, _TMP225.w <= _TMP229.w); + if (_nc.x) { + if (_px.x) { + _TMP36 = _F; + } else { + _TMP36 = _H; + } + _TMP35 = _TMP36; + } else { + if (_nc.y) { + if (_px.y) { + _TMP38 = _B1; + } else { + _TMP38 = _F; + } + _TMP37 = _TMP38; + } else { + if (_nc.z) { + if (_px.z) { + _TMP40 = _D; + } else { + _TMP40 = _B1; + } + _TMP39 = _TMP40; + } else { + if (_nc.w) { + if (_px.w) { + _TMP42 = _H; + } else { + _TMP42 = _D; + } + _TMP41 = _TMP42; + } else { + _TMP41 = _E; + } + _TMP39 = _TMP41; + } + _TMP37 = _TMP39; + } + _TMP35 = _TMP37; + } + _ret_0 = vec4(_TMP35.x, _TMP35.y, _TMP35.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/hlsl/5xBR-v3.7a.glsl b/ios/Assets/shaders_glsl/xBR/hlsl/5xBR-v3.7a.glsl new file mode 100644 index 0000000000..6869b1c8e9 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/hlsl/5xBR-v3.7a.glsl @@ -0,0 +1,639 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; +}; +out_vertex _ret_0; +float _TMP0; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _TMP0 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0005.x = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0005.y = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0005.z = float(_TMP0); + _TMP0 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0005.w = float(_TMP0); + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _OUT._t1.xy = vec2(_ps.x, 0.00000000E+00); + _OUT._t1.zw = vec2(0.00000000E+00, _ps.y); + _ret_0._position1 = _r0005; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _OUT._t1; + gl_Position = vec4(float(_r0005.x), float(_r0005.y), float(_r0005.z), float(_r0005.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _OUT._t1; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t11; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t11; +}; +vec4 _ret_0; +vec3 _TMP29; +vec3 _TMP31; +vec3 _TMP33; +vec3 _TMP35; +vec3 _TMP36; +vec3 _TMP34; +vec3 _TMP32; +vec3 _TMP30; +float _TMP45; +float _TMP44; +float _TMP43; +float _TMP42; +vec4 _TMP28; +vec4 _TMP27; +vec4 _TMP41; +vec4 _TMP40; +vec4 _TMP39; +vec4 _TMP38; +vec4 _TMP37; +float _TMP46; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0057; +vec2 _c0059; +vec2 _c0061; +vec2 _c0063; +vec2 _c0065; +vec2 _c0069; +vec2 _c0071; +vec2 _c0073; +vec2 _c0075; +vec2 _c0077; +vec2 _c0079; +vec2 _c0081; +vec2 _c0083; +vec2 _c0085; +vec2 _c0087; +vec2 _c0089; +vec2 _c0091; +vec2 _c0093; +vec2 _c0095; +vec2 _c0097; +vec2 _c0099; +vec4 _r0101; +vec4 _r0111; +vec4 _r0121; +vec4 _r0131; +vec4 _r0141; +vec4 _r0151; +float _a0165; +float _a0167; +float _a0169; +float _a0171; +float _a0175; +float _a0177; +float _a0179; +float _a0181; +float _a0185; +float _a0187; +float _a0189; +float _a0191; +float _a0195; +float _a0197; +float _a0199; +float _a0201; +float _a0205; +float _a0207; +float _a0209; +float _a0211; +float _a0217; +float _a0219; +float _a0221; +float _a0223; +float _a0227; +float _a0229; +float _a0231; +float _a0233; +float _a0237; +float _a0239; +float _a0241; +float _a0243; +float _a0247; +float _a0249; +float _a0251; +float _a0253; +float _a0257; +float _a0259; +float _a0261; +float _a0263; +float _a0267; +float _a0269; +float _a0271; +float _a0273; +float _a0277; +float _a0279; +float _a0281; +float _a0283; +float _a0287; +float _a0289; +float _a0291; +float _a0293; +float _a0297; +float _a0299; +float _a0301; +float _a0303; +float _a0307; +float _a0309; +float _a0311; +float _a0313; +float _a0317; +float _a0319; +float _a0321; +float _a0323; +varying vec4 TEX0; +varying vec4 TEX1; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _ir_lv1; + bvec4 _ir_lv2_left; + bvec4 _ir_lv2_up; + bvec4 _nc; + bvec4 _fx; + bvec4 _fx_left; + bvec4 _fx_up; + vec2 _fp; + vec2 _dx; + vec2 _dy; + vec3 _A1; + vec3 _B1; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _A11; + vec3 _C1; + vec3 _A0; + vec3 _G0; + vec3 _C4; + vec3 _I4; + vec3 _G5; + vec3 _I5; + vec3 _B11; + vec3 _D0; + vec3 _H5; + vec3 _F4; + vec4 _b1; + vec4 _c1; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _w1; + vec4 _w2; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + _x0057 = TEX0.xy*TextureSize; + _fp = fract(_x0057); + _dx = vec2(float(TEX1.x), float(TEX1.y)); + _dy = vec2(float(TEX1.z), float(TEX1.w)); + _c0059 = (TEX0.xy - _dx) - _dy; + _TMP0 = texture2D(Texture, _c0059); + _A1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0061 = TEX0.xy - _dy; + _TMP1 = texture2D(Texture, _c0061); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0063 = (TEX0.xy + _dx) - _dy; + _TMP2 = texture2D(Texture, _c0063); + _C = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0065 = TEX0.xy - _dx; + _TMP3 = texture2D(Texture, _c0065); + _D = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, TEX0.xy); + _E = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0069 = TEX0.xy + _dx; + _TMP5 = texture2D(Texture, _c0069); + _F = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0071 = (TEX0.xy - _dx) + _dy; + _TMP6 = texture2D(Texture, _c0071); + _G = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0073 = TEX0.xy + _dy; + _TMP7 = texture2D(Texture, _c0073); + _H = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0075 = TEX0.xy + _dx + _dy; + _TMP8 = texture2D(Texture, _c0075); + _I = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0077 = (TEX0.xy - _dx) - 2.00000000E+00*_dy; + _TMP9 = texture2D(Texture, _c0077); + _A11 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0079 = (TEX0.xy + _dx) - 2.00000000E+00*_dy; + _TMP10 = texture2D(Texture, _c0079); + _C1 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0081 = (TEX0.xy - 2.00000000E+00*_dx) - _dy; + _TMP11 = texture2D(Texture, _c0081); + _A0 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0083 = (TEX0.xy - 2.00000000E+00*_dx) + _dy; + _TMP12 = texture2D(Texture, _c0083); + _G0 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0085 = (TEX0.xy + 2.00000000E+00*_dx) - _dy; + _TMP13 = texture2D(Texture, _c0085); + _C4 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0087 = TEX0.xy + 2.00000000E+00*_dx + _dy; + _TMP14 = texture2D(Texture, _c0087); + _I4 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0089 = (TEX0.xy - _dx) + 2.00000000E+00*_dy; + _TMP15 = texture2D(Texture, _c0089); + _G5 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _c0091 = TEX0.xy + _dx + 2.00000000E+00*_dy; + _TMP16 = texture2D(Texture, _c0091); + _I5 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _c0093 = TEX0.xy - 2.00000000E+00*_dy; + _TMP17 = texture2D(Texture, _c0093); + _B11 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _c0095 = TEX0.xy - 2.00000000E+00*_dx; + _TMP18 = texture2D(Texture, _c0095); + _D0 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _c0097 = TEX0.xy + 2.00000000E+00*_dy; + _TMP19 = texture2D(Texture, _c0097); + _H5 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _c0099 = TEX0.xy + 2.00000000E+00*_dx; + _TMP20 = texture2D(Texture, _c0099); + _F4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP46 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0101.x = float(_TMP46); + _TMP46 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0101.y = float(_TMP46); + _TMP46 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0101.z = float(_TMP46); + _TMP46 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0101.w = float(_TMP46); + _b1 = vec4(float(_r0101.x), float(_r0101.y), float(_r0101.z), float(_r0101.w)); + _TMP46 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0111.x = float(_TMP46); + _TMP46 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0111.y = float(_TMP46); + _TMP46 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0111.z = float(_TMP46); + _TMP46 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0111.w = float(_TMP46); + _c1 = vec4(float(_r0111.x), float(_r0111.y), float(_r0111.z), float(_r0111.w)); + _TMP46 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0121.x = float(_TMP46); + _TMP46 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0121.y = float(_TMP46); + _TMP46 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0121.z = float(_TMP46); + _TMP46 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0121.w = float(_TMP46); + _e1 = vec4(float(_r0121.x), float(_r0121.y), float(_r0121.z), float(_r0121.w)); + _TMP46 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0131.x = float(_TMP46); + _TMP46 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0131.y = float(_TMP46); + _TMP46 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0131.z = float(_TMP46); + _TMP46 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0131.w = float(_TMP46); + _i4 = vec4(float(_r0131.x), float(_r0131.y), float(_r0131.z), float(_r0131.w)); + _TMP46 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0141.x = float(_TMP46); + _TMP46 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0141.y = float(_TMP46); + _TMP46 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0141.z = float(_TMP46); + _TMP46 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0141.w = float(_TMP46); + _i5 = vec4(float(_r0141.x), float(_r0141.y), float(_r0141.z), float(_r0141.w)); + _TMP46 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0151.x = float(_TMP46); + _TMP46 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0151.y = float(_TMP46); + _TMP46 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0151.z = float(_TMP46); + _TMP46 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43515625E+01, 2.81718750E+01, 5.47265625E+00)); + _r0151.w = float(_TMP46); + _h5 = vec4(float(_r0151.x), float(_r0151.y), float(_r0151.z), float(_r0151.w)); + _fx.x = _fp.y + _fp.x > 1.50000000E+00; + _fx_left.x = _fp.y + 5.00000000E-01*_fp.x > 1.00000000E+00; + _fx_up.x = _fp.y + 2.00000000E+00*_fp.x > 2.00000000E+00; + _fx.y = -_fp.y + _fp.x > 5.00000000E-01; + _fx_left.y = -_fp.y + 2.00000000E+00*_fp.x > 1.00000000E+00; + _fx_up.y = -_fp.y + 5.00000000E-01*_fp.x > 0.00000000E+00; + _fx.z = -_fp.y + -_fp.x > -5.00000000E-01; + _fx_left.z = -_fp.y + -5.00000000E-01*_fp.x > -5.00000000E-01; + _fx_up.z = -_fp.y + -2.00000000E+00*_fp.x > -1.00000000E+00; + _fx.w = _fp.y + -_fp.x > 5.00000000E-01; + _fx_left.w = _fp.y + -2.00000000E+00*_fp.x > 0.00000000E+00; + _fx_up.w = _fp.y + -5.00000000E-01*_fp.x > 5.00000000E-01; + _ir_lv1.x = _e1.x != _b1.w && _e1.x != _b1.z; + _ir_lv2_left.x = _e1.x != _c1.z && _b1.y != _c1.z; + _ir_lv2_up.x = _e1.x != _c1.x && _b1.x != _c1.x; + _ir_lv1.y = _e1.y != _b1.x && _e1.y != _b1.w; + _ir_lv2_left.y = _e1.y != _c1.w && _b1.z != _c1.w; + _ir_lv2_up.y = _e1.y != _c1.y && _b1.y != _c1.y; + _ir_lv1.z = _e1.z != _b1.y && _e1.z != _b1.x; + _ir_lv2_left.z = _e1.z != _c1.x && _b1.w != _c1.x; + _ir_lv2_up.z = _e1.z != _c1.z && _b1.z != _c1.z; + _ir_lv1.w = _e1.w != _b1.z && _e1.w != _b1.y; + _ir_lv2_left.w = _e1.w != _c1.y && _b1.x != _c1.y; + _ir_lv2_up.w = _e1.w != _c1.w && _b1.w != _c1.w; + _a0165 = _e1.x - _c1.x; + _TMP42 = abs(_a0165); + _a0167 = _e1.y - _c1.y; + _TMP43 = abs(_a0167); + _a0169 = _e1.z - _c1.z; + _TMP44 = abs(_a0169); + _a0171 = _e1.w - _c1.w; + _TMP45 = abs(_a0171); + _TMP37 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _a0175 = _e1.x - _c1.z; + _TMP42 = abs(_a0175); + _a0177 = _e1.y - _c1.w; + _TMP43 = abs(_a0177); + _a0179 = _e1.z - _c1.x; + _TMP44 = abs(_a0179); + _a0181 = _e1.w - _c1.y; + _TMP45 = abs(_a0181); + _TMP38 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _a0185 = _c1.w - _h5.x; + _TMP42 = abs(_a0185); + _a0187 = _c1.x - _h5.y; + _TMP43 = abs(_a0187); + _a0189 = _c1.y - _h5.z; + _TMP44 = abs(_a0189); + _a0191 = _c1.z - _h5.w; + _TMP45 = abs(_a0191); + _TMP39 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _a0195 = _c1.w - _h5.y; + _TMP42 = abs(_a0195); + _a0197 = _c1.x - _h5.z; + _TMP43 = abs(_a0197); + _a0199 = _c1.y - _h5.w; + _TMP44 = abs(_a0199); + _a0201 = _c1.z - _h5.x; + _TMP45 = abs(_a0201); + _TMP40 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _a0205 = _b1.z - _b1.w; + _TMP42 = abs(_a0205); + _a0207 = _b1.w - _b1.x; + _TMP43 = abs(_a0207); + _a0209 = _b1.x - _b1.y; + _TMP44 = abs(_a0209); + _a0211 = _b1.y - _b1.z; + _TMP45 = abs(_a0211); + _TMP41 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _w1 = _TMP37 + _TMP38 + _TMP39 + _TMP40 + 4.00000000E+00*_TMP41; + _a0217 = _b1.z - _b1.y; + _TMP42 = abs(_a0217); + _a0219 = _b1.w - _b1.z; + _TMP43 = abs(_a0219); + _a0221 = _b1.x - _b1.w; + _TMP44 = abs(_a0221); + _a0223 = _b1.y - _b1.x; + _TMP45 = abs(_a0223); + _TMP37 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _a0227 = _b1.z - _i5.x; + _TMP42 = abs(_a0227); + _a0229 = _b1.w - _i5.y; + _TMP43 = abs(_a0229); + _a0231 = _b1.x - _i5.z; + _TMP44 = abs(_a0231); + _a0233 = _b1.y - _i5.w; + _TMP45 = abs(_a0233); + _TMP38 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _a0237 = _b1.w - _i4.x; + _TMP42 = abs(_a0237); + _a0239 = _b1.x - _i4.y; + _TMP43 = abs(_a0239); + _a0241 = _b1.y - _i4.z; + _TMP44 = abs(_a0241); + _a0243 = _b1.z - _i4.w; + _TMP45 = abs(_a0243); + _TMP39 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _a0247 = _b1.w - _b1.x; + _TMP42 = abs(_a0247); + _a0249 = _b1.x - _b1.y; + _TMP43 = abs(_a0249); + _a0251 = _b1.y - _b1.z; + _TMP44 = abs(_a0251); + _a0253 = _b1.z - _b1.w; + _TMP45 = abs(_a0253); + _TMP40 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _a0257 = _e1.x - _c1.w; + _TMP42 = abs(_a0257); + _a0259 = _e1.y - _c1.x; + _TMP43 = abs(_a0259); + _a0261 = _e1.z - _c1.y; + _TMP44 = abs(_a0261); + _a0263 = _e1.w - _c1.z; + _TMP45 = abs(_a0263); + _TMP41 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _w2 = _TMP37 + _TMP38 + _TMP39 + _TMP40 + 4.00000000E+00*_TMP41; + _a0267 = _b1.w - _c1.z; + _TMP42 = abs(_a0267); + _a0269 = _b1.x - _c1.w; + _TMP43 = abs(_a0269); + _a0271 = _b1.y - _c1.x; + _TMP44 = abs(_a0271); + _a0273 = _b1.z - _c1.y; + _TMP45 = abs(_a0273); + _TMP27 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _t1 = 2.00000000E+00*_TMP27; + _a0277 = _b1.z - _c1.x; + _TMP42 = abs(_a0277); + _a0279 = _b1.w - _c1.y; + _TMP43 = abs(_a0279); + _a0281 = _b1.x - _c1.z; + _TMP44 = abs(_a0281); + _a0283 = _b1.y - _c1.w; + _TMP45 = abs(_a0283); + _t2 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _a0287 = _b1.w - _c1.z; + _TMP42 = abs(_a0287); + _a0289 = _b1.x - _c1.w; + _TMP43 = abs(_a0289); + _a0291 = _b1.y - _c1.x; + _TMP44 = abs(_a0291); + _a0293 = _b1.z - _c1.y; + _TMP45 = abs(_a0293); + _t3 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _a0297 = _b1.z - _c1.x; + _TMP42 = abs(_a0297); + _a0299 = _b1.w - _c1.y; + _TMP43 = abs(_a0299); + _a0301 = _b1.x - _c1.z; + _TMP44 = abs(_a0301); + _a0303 = _b1.y - _c1.w; + _TMP45 = abs(_a0303); + _TMP28 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _t4 = 2.00000000E+00*_TMP28; + _edr = bvec4(_w1.x < _w2.x && _ir_lv1.x, _w1.y < _w2.y && _ir_lv1.y, _w1.z < _w2.z && _ir_lv1.z, _w1.w < _w2.w && _ir_lv1.w); + _edr_left = bvec4(_t1.x <= _t2.x && _ir_lv2_left.x, _t1.y <= _t2.y && _ir_lv2_left.y, _t1.z <= _t2.z && _ir_lv2_left.z, _t1.w <= _t2.w && _ir_lv2_left.w); + _edr_up = bvec4(_t4.x <= _t3.x && _ir_lv2_up.x, _t4.y <= _t3.y && _ir_lv2_up.y, _t4.z <= _t3.z && _ir_lv2_up.z, _t4.w <= _t3.w && _ir_lv2_up.w); + _nc.x = _edr.x && (_fx.x || _edr_left.x && _fx_left.x || _edr_up.x && _fx_up.x); + _nc.y = _edr.y && (_fx.y || _edr_left.y && _fx_left.y || _edr_up.y && _fx_up.y); + _nc.z = _edr.z && (_fx.z || _edr_left.z && _fx_left.z || _edr_up.z && _fx_up.z); + _nc.w = _edr.w && (_fx.w || _edr_left.w && _fx_left.w || _edr_up.w && _fx_up.w); + _a0307 = _e1.x - _b1.w; + _TMP42 = abs(_a0307); + _a0309 = _e1.y - _b1.x; + _TMP43 = abs(_a0309); + _a0311 = _e1.z - _b1.y; + _TMP44 = abs(_a0311); + _a0313 = _e1.w - _b1.z; + _TMP45 = abs(_a0313); + _t1 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _a0317 = _e1.x - _b1.z; + _TMP42 = abs(_a0317); + _a0319 = _e1.y - _b1.w; + _TMP43 = abs(_a0319); + _a0321 = _e1.z - _b1.x; + _TMP44 = abs(_a0321); + _a0323 = _e1.w - _b1.y; + _TMP45 = abs(_a0323); + _t2 = vec4(_TMP42, _TMP43, _TMP44, _TMP45); + _px = bvec4(_t1.x <= _t2.x, _t1.y <= _t2.y, _t1.z <= _t2.z, _t1.w <= _t2.w); + if (_nc.x) { + if (_px.x) { + _TMP30 = _F; + } else { + _TMP30 = _H; + } + _TMP29 = _TMP30; + } else { + if (_nc.y) { + if (_px.y) { + _TMP32 = _B1; + } else { + _TMP32 = _F; + } + _TMP31 = _TMP32; + } else { + if (_nc.z) { + if (_px.z) { + _TMP34 = _D; + } else { + _TMP34 = _B1; + } + _TMP33 = _TMP34; + } else { + if (_nc.w) { + if (_px.w) { + _TMP36 = _H; + } else { + _TMP36 = _D; + } + _TMP35 = _TMP36; + } else { + _TMP35 = _E; + } + _TMP33 = _TMP35; + } + _TMP31 = _TMP33; + } + _TMP29 = _TMP31; + } + _ret_0 = vec4(_TMP29.x, _TMP29.y, _TMP29.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/xBR-v3.8a-gamma.glsl b/ios/Assets/shaders_glsl/xBR/xBR-v3.8a-gamma.glsl new file mode 100644 index 0000000000..60783b185c --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/xBR-v3.8a-gamma.glsl @@ -0,0 +1,599 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +vec3 _TMP49; +vec3 _TMP59; +vec3 _TMP64; +vec3 _TMP63; +float _TMP58; +float _TMP57; +float _TMP56; +float _TMP61; +float _TMP48; +float _TMP47; +float _TMP46; +vec3 _TMP62; +vec3 _TMP45; +vec3 _TMP44; +vec3 _TMP43; +vec3 _TMP42; +vec3 _TMP41; +vec3 _TMP40; +vec3 _TMP39; +vec3 _TMP38; +vec3 _TMP37; +vec3 _TMP36; +vec4 _TMP35; +vec4 _TMP28; +vec4 _TMP27; +vec4 _TMP65; +float _TMP60; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0079; +vec4 _r0123; +vec4 _r0133; +vec4 _r0143; +vec4 _r0153; +vec4 _r0163; +vec4 _r0173; +vec4 _x0185; +vec4 _TMP186; +vec4 _x0195; +vec4 _TMP196; +vec4 _x0205; +vec4 _TMP206; +vec4 _TMP214; +vec4 _a0217; +vec4 _TMP218; +vec4 _a0221; +vec4 _TMP222; +vec4 _a0225; +vec4 _TMP226; +vec4 _a0229; +vec4 _TMP230; +vec4 _a0233; +vec4 _TMP236; +vec4 _a0239; +vec4 _TMP240; +vec4 _a0243; +vec4 _TMP244; +vec4 _a0247; +vec4 _TMP248; +vec4 _a0251; +vec4 _TMP252; +vec4 _a0255; +vec4 _TMP256; +vec4 _a0259; +vec4 _TMP260; +vec4 _a0263; +vec4 _TMP264; +vec4 _a0267; +vec4 _TMP268; +vec4 _a0271; +vec4 _TMP272; +vec4 _a0275; +vec4 _TMP276; +vec4 _a0279; +float _t0301; +float _t0311; +vec3 _df0313; +vec3 _a0315; +vec3 _df0317; +vec3 _a0319; +vec3 _TMP332; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A1; + vec3 _B1; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0079 = TEX0.xy*TextureSize; + _fp = fract(_x0079); + _TMP0 = texture2D(Texture, VARt1.xw); + _A1 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP60 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0123.x = float(_TMP60); + _TMP60 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0123.y = float(_TMP60); + _TMP60 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0123.z = float(_TMP60); + _TMP60 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0123.w = float(_TMP60); + _b1 = vec4(float(_r0123.x), float(_r0123.y), float(_r0123.z), float(_r0123.w)); + _TMP60 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.x = float(_TMP60); + _TMP60 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.y = float(_TMP60); + _TMP60 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.z = float(_TMP60); + _TMP60 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0133.w = float(_TMP60); + _c3 = vec4(float(_r0133.x), float(_r0133.y), float(_r0133.z), float(_r0133.w)); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.x = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.y = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.z = float(_TMP60); + _TMP60 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0143.w = float(_TMP60); + _e1 = vec4(float(_r0143.x), float(_r0143.y), float(_r0143.z), float(_r0143.w)); + _TMP60 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.x = float(_TMP60); + _TMP60 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.y = float(_TMP60); + _TMP60 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.z = float(_TMP60); + _TMP60 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0153.w = float(_TMP60); + _i4 = vec4(float(_r0153.x), float(_r0153.y), float(_r0153.z), float(_r0153.w)); + _TMP60 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.x = float(_TMP60); + _TMP60 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.y = float(_TMP60); + _TMP60 = dot(vec3(float(_A1.x), float(_A1.y), float(_A1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.z = float(_TMP60); + _TMP60 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0163.w = float(_TMP60); + _i5 = vec4(float(_r0163.x), float(_r0163.y), float(_r0163.z), float(_r0163.w)); + _TMP60 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.x = float(_TMP60); + _TMP60 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.y = float(_TMP60); + _TMP60 = dot(vec3(float(_B1.x), float(_B1.y), float(_B1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.z = float(_TMP60); + _TMP60 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0173.w = float(_TMP60); + _h5 = vec4(float(_r0173.x), float(_r0173.y), float(_r0173.z), float(_r0173.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z, _e1.y != _b1.x && _e1.y != _b1.w, _e1.z != _b1.y && _e1.z != _b1.x, _e1.w != _b1.z && _e1.w != _b1.y); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0185 = (_fx - vec4( 1.10000002E+00, 9.99999940E-02, -8.99999976E-01, 9.99999940E-02))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 7.99999952E-01); + _TMP65 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0185); + _TMP186 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP65); + _fx45 = _TMP186*_TMP186*(3.00000000E+00 - 2.00000000E+00*_TMP186); + _x0195 = (_fx_left - vec4( 6.00000024E-01, 6.00000024E-01, -8.99999976E-01, -4.00000006E-01))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 8.00000012E-01); + _TMP65 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0195); + _TMP196 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP65); + _fx30 = _TMP196*_TMP196*(3.00000000E+00 - 2.00000000E+00*_TMP196); + _x0205 = (_fx_up - vec4( 1.60000002E+00, -4.00000006E-01, -1.39999998E+00, 9.99999940E-02))/vec4( 8.00000072E-01, 8.00000012E-01, 7.99999952E-01, 7.99999952E-01); + _TMP65 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0205); + _TMP206 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP65); + _fx60 = _TMP206*_TMP206*(3.00000000E+00 - 2.00000000E+00*_TMP206); + _a0217 = _e1 - _c3; + _TMP214 = abs(_a0217); + _a0221 = _e1 - _c3.zwxy; + _TMP218 = abs(_a0221); + _a0225 = _c3.wxyz - _h5; + _TMP222 = abs(_a0225); + _a0229 = _c3.wxyz - _h5.yzwx; + _TMP226 = abs(_a0229); + _a0233 = _b1.zwxy - _b1.wxyz; + _TMP230 = abs(_a0233); + _TMP27 = _TMP214 + _TMP218 + _TMP222 + _TMP226 + 4.00000000E+00*_TMP230; + _a0239 = _b1.zwxy - _b1.yzwx; + _TMP236 = abs(_a0239); + _a0243 = _b1.zwxy - _i5; + _TMP240 = abs(_a0243); + _a0247 = _b1.wxyz - _i4; + _TMP244 = abs(_a0247); + _a0251 = _b1.wxyz - _b1; + _TMP248 = abs(_a0251); + _a0255 = _e1 - _c3.wxyz; + _TMP252 = abs(_a0255); + _TMP28 = _TMP236 + _TMP240 + _TMP244 + _TMP248 + 4.00000000E+00*_TMP252; + _edr = bvec4(_TMP27.x < _TMP28.x && _interp_restriction_lv1.x, _TMP27.y < _TMP28.y && _interp_restriction_lv1.y, _TMP27.z < _TMP28.z && _interp_restriction_lv1.z, _TMP27.w < _TMP28.w && _interp_restriction_lv1.w); + _a0259 = _b1.wxyz - _c3.zwxy; + _TMP256 = abs(_a0259); + _a0263 = _b1.zwxy - _c3; + _TMP260 = abs(_a0263); + _edr_left = bvec4((2.00000000E+00*_TMP256).x <= _TMP260.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP256).y <= _TMP260.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP256).z <= _TMP260.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP256).w <= _TMP260.w && _interp_restriction_lv2_left.w); + _a0267 = _b1.wxyz - _c3.zwxy; + _TMP264 = abs(_a0267); + _a0271 = _b1.zwxy - _c3; + _TMP268 = abs(_a0271); + _edr_up = bvec4(_TMP264.x >= (2.00000000E+00*_TMP268).x && _interp_restriction_lv2_up.x, _TMP264.y >= (2.00000000E+00*_TMP268).y && _interp_restriction_lv2_up.y, _TMP264.z >= (2.00000000E+00*_TMP268).z && _interp_restriction_lv2_up.z, _TMP264.w >= (2.00000000E+00*_TMP268).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0275 = _e1 - _b1.wxyz; + _TMP272 = abs(_a0275); + _a0279 = _e1 - _b1.zwxy; + _TMP276 = abs(_a0279); + _px = bvec4(_TMP272.x <= _TMP276.x, _TMP272.y <= _TMP276.y, _TMP272.z <= _TMP276.z, _TMP272.w <= _TMP276.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP35 = max(_final30, _final60); + _maximo = max(_TMP35, _final45); + if (_nc.x) { + if (_px.x) { + _TMP36 = _F; + } else { + _TMP36 = _H; + } + _pix1 = _TMP36; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP37 = _B2; + } else { + _TMP37 = _F; + } + _pix1 = _TMP37; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP38 = _D; + } else { + _TMP38 = _B2; + } + _pix1 = _TMP38; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP39 = _H; + } else { + _TMP39 = _D; + } + _pix1 = _TMP39; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP40 = _H; + } else { + _TMP40 = _D; + } + _pix2 = _TMP40; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP41 = _D; + } else { + _TMP41 = _B2; + } + _pix2 = _TMP41; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP42 = _B2; + } else { + _TMP42 = _F; + } + _pix2 = _TMP42; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP43 = _F; + } else { + _TMP43 = _H; + } + _pix2 = _TMP43; + _blend2 = _maximo.x; + } + } + } + } + _TMP61 = pow(float(_E.x), 2.40039062E+00); + _TMP56 = float(_TMP61); + _TMP61 = pow(float(_E.y), 2.40039062E+00); + _TMP57 = float(_TMP61); + _TMP61 = pow(float(_E.z), 2.40039062E+00); + _TMP58 = float(_TMP61); + _E = vec3(_TMP56, _TMP57, _TMP58); + _TMP61 = pow(float(_pix1.x), 2.40039062E+00); + _TMP56 = float(_TMP61); + _TMP61 = pow(float(_pix1.y), 2.40039062E+00); + _TMP57 = float(_TMP61); + _TMP61 = pow(float(_pix1.z), 2.40039062E+00); + _TMP58 = float(_TMP61); + _TMP44 = vec3(_TMP56, _TMP57, _TMP58); + _t0301 = float(_blend1); + _res1 = _E + _t0301*(_TMP44 - _E); + _TMP61 = pow(float(_pix2.x), 2.40039062E+00); + _TMP56 = float(_TMP61); + _TMP61 = pow(float(_pix2.y), 2.40039062E+00); + _TMP57 = float(_TMP61); + _TMP61 = pow(float(_pix2.z), 2.40039062E+00); + _TMP58 = float(_TMP61); + _TMP45 = vec3(_TMP56, _TMP57, _TMP58); + _t0311 = float(_blend2); + _res2 = _E + _t0311*(_TMP45 - _E); + _a0315 = _E - _res1; + _TMP62 = abs(vec3(float(_a0315.x), float(_a0315.y), float(_a0315.z))); + _df0313 = vec3(float(_TMP62.x), float(_TMP62.y), float(_TMP62.z)); + _TMP46 = _df0313.x + _df0313.y + _df0313.z; + _a0319 = _E - _res2; + _TMP62 = abs(vec3(float(_a0319.x), float(_a0319.y), float(_a0319.z))); + _df0317 = vec3(float(_TMP62.x), float(_TMP62.y), float(_TMP62.z)); + _TMP47 = _df0317.x + _df0317.y + _df0317.z; + _TMP48 = float((_TMP47 >= _TMP46)); + _res = _res1 + _TMP48*(_res2 - _res1); + _TMP61 = pow(float(_res.x), 4.54589844E-01); + _TMP56 = float(_TMP61); + _TMP61 = pow(float(_res.y), 4.54589844E-01); + _TMP57 = float(_TMP61); + _TMP61 = pow(float(_res.z), 4.54589844E-01); + _TMP58 = float(_TMP61); + _TMP49 = vec3(_TMP56, _TMP57, _TMP58); + _TMP63 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), vec3(float(_TMP49.x), float(_TMP49.y), float(_TMP49.z))); + _TMP59 = vec3(float(_TMP63.x), float(_TMP63.y), float(_TMP63.z)); + _TMP64 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), vec3(float(_TMP59.x), float(_TMP59.y), float(_TMP59.z))); + _TMP332 = vec3(float(_TMP64.x), float(_TMP64.y), float(_TMP64.z)); + _ret_0 = vec4(float(_TMP332.x), float(_TMP332.y), float(_TMP332.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/xBR-v3.8b-gamma.glsl b/ios/Assets/shaders_glsl/xBR/xBR-v3.8b-gamma.glsl new file mode 100644 index 0000000000..2312be3ce2 --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/xBR-v3.8b-gamma.glsl @@ -0,0 +1,641 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +vec3 _TMP56; +vec3 _TMP67; +vec3 _TMP72; +vec3 _TMP71; +float _TMP66; +float _TMP65; +float _TMP64; +float _TMP69; +float _TMP55; +float _TMP54; +float _TMP53; +vec3 _TMP70; +vec3 _TMP52; +vec3 _TMP51; +vec3 _TMP50; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec3 _TMP46; +vec3 _TMP45; +vec3 _TMP44; +vec3 _TMP43; +vec4 _TMP42; +vec4 _TMP35; +vec4 _TMP34; +vec4 _TMP73; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP68; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0087; +vec4 _r0131; +vec4 _r0141; +vec4 _r0151; +vec4 _r0161; +vec4 _r0171; +vec4 _r0181; +vec4 _TMP192; +vec4 _a0195; +vec4 _TMP198; +vec4 _a0201; +vec4 _TMP204; +vec4 _a0207; +vec4 _TMP210; +vec4 _a0213; +vec4 _TMP216; +vec4 _a0219; +vec4 _TMP222; +vec4 _a0225; +vec4 _TMP228; +vec4 _a0231; +vec4 _x0235; +vec4 _TMP236; +vec4 _x0245; +vec4 _TMP246; +vec4 _x0255; +vec4 _TMP256; +vec4 _TMP264; +vec4 _a0267; +vec4 _TMP268; +vec4 _a0271; +vec4 _TMP272; +vec4 _a0275; +vec4 _TMP276; +vec4 _a0279; +vec4 _TMP280; +vec4 _a0283; +vec4 _TMP286; +vec4 _a0289; +vec4 _TMP290; +vec4 _a0293; +vec4 _TMP294; +vec4 _a0297; +vec4 _TMP298; +vec4 _a0301; +vec4 _TMP302; +vec4 _a0305; +vec4 _TMP306; +vec4 _a0309; +vec4 _TMP310; +vec4 _a0313; +vec4 _TMP314; +vec4 _a0317; +vec4 _TMP318; +vec4 _a0321; +vec4 _TMP322; +vec4 _a0325; +vec4 _TMP326; +vec4 _a0329; +float _t0351; +float _t0361; +vec3 _df0363; +vec3 _a0365; +vec3 _df0367; +vec3 _a0369; +vec3 _TMP382; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0087 = TEX0.xy*TextureSize; + _fp = fract(_x0087); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP68 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0131.x = float(_TMP68); + _TMP68 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0131.y = float(_TMP68); + _TMP68 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0131.z = float(_TMP68); + _TMP68 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0131.w = float(_TMP68); + _b1 = vec4(float(_r0131.x), float(_r0131.y), float(_r0131.z), float(_r0131.w)); + _TMP68 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0141.x = float(_TMP68); + _TMP68 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0141.y = float(_TMP68); + _TMP68 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0141.z = float(_TMP68); + _TMP68 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0141.w = float(_TMP68); + _c3 = vec4(float(_r0141.x), float(_r0141.y), float(_r0141.z), float(_r0141.w)); + _TMP68 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0151.x = float(_TMP68); + _TMP68 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0151.y = float(_TMP68); + _TMP68 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0151.z = float(_TMP68); + _TMP68 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0151.w = float(_TMP68); + _e1 = vec4(float(_r0151.x), float(_r0151.y), float(_r0151.z), float(_r0151.w)); + _TMP68 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0161.x = float(_TMP68); + _TMP68 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0161.y = float(_TMP68); + _TMP68 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0161.z = float(_TMP68); + _TMP68 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0161.w = float(_TMP68); + _i4 = vec4(float(_r0161.x), float(_r0161.y), float(_r0161.z), float(_r0161.w)); + _TMP68 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0171.x = float(_TMP68); + _TMP68 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0171.y = float(_TMP68); + _TMP68 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0171.z = float(_TMP68); + _TMP68 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0171.w = float(_TMP68); + _i5 = vec4(float(_r0171.x), float(_r0171.y), float(_r0171.z), float(_r0171.w)); + _TMP68 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0181.x = float(_TMP68); + _TMP68 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0181.y = float(_TMP68); + _TMP68 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0181.z = float(_TMP68); + _TMP68 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0181.w = float(_TMP68); + _h5 = vec4(float(_r0181.x), float(_r0181.y), float(_r0181.z), float(_r0181.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0195 = _b1.wxyz - _b1; + _TMP192 = abs(_a0195); + _TMP27 = bvec4(_TMP192.x < 1.50000000E+01, _TMP192.y < 1.50000000E+01, _TMP192.z < 1.50000000E+01, _TMP192.w < 1.50000000E+01); + _a0201 = _b1.zwxy - _b1.yzwx; + _TMP198 = abs(_a0201); + _TMP28 = bvec4(_TMP198.x < 1.50000000E+01, _TMP198.y < 1.50000000E+01, _TMP198.z < 1.50000000E+01, _TMP198.w < 1.50000000E+01); + _a0207 = _e1 - _c3.wxyz; + _TMP204 = abs(_a0207); + _TMP29 = bvec4(_TMP204.x < 1.50000000E+01, _TMP204.y < 1.50000000E+01, _TMP204.z < 1.50000000E+01, _TMP204.w < 1.50000000E+01); + _a0213 = _b1.wxyz - _i4; + _TMP210 = abs(_a0213); + _TMP30 = bvec4(_TMP210.x < 1.50000000E+01, _TMP210.y < 1.50000000E+01, _TMP210.z < 1.50000000E+01, _TMP210.w < 1.50000000E+01); + _a0219 = _b1.zwxy - _i5; + _TMP216 = abs(_a0219); + _TMP31 = bvec4(_TMP216.x < 1.50000000E+01, _TMP216.y < 1.50000000E+01, _TMP216.z < 1.50000000E+01, _TMP216.w < 1.50000000E+01); + _a0225 = _e1 - _c3.zwxy; + _TMP222 = abs(_a0225); + _TMP32 = bvec4(_TMP222.x < 1.50000000E+01, _TMP222.y < 1.50000000E+01, _TMP222.z < 1.50000000E+01, _TMP222.w < 1.50000000E+01); + _a0231 = _e1 - _c3; + _TMP228 = abs(_a0231); + _TMP33 = bvec4(_TMP228.x < 1.50000000E+01, _TMP228.y < 1.50000000E+01, _TMP228.z < 1.50000000E+01, _TMP228.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || _TMP29.x && !_TMP30.x && !_TMP31.x || _TMP32.x || _TMP33.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || _TMP29.y && !_TMP30.y && !_TMP31.y || _TMP32.y || _TMP33.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || _TMP29.z && !_TMP30.z && !_TMP31.z || _TMP32.z || _TMP33.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || _TMP29.w && !_TMP30.w && !_TMP31.w || _TMP32.w || _TMP33.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0235 = (_fx - vec4( 1.10000002E+00, 9.99999940E-02, -8.99999976E-01, 9.99999940E-02))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 7.99999952E-01); + _TMP73 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0235); + _TMP236 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP73); + _fx45 = _TMP236*_TMP236*(3.00000000E+00 - 2.00000000E+00*_TMP236); + _x0245 = (_fx_left - vec4( 6.00000024E-01, 6.00000024E-01, -8.99999976E-01, -4.00000006E-01))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 8.00000012E-01); + _TMP73 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0245); + _TMP246 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP73); + _fx30 = _TMP246*_TMP246*(3.00000000E+00 - 2.00000000E+00*_TMP246); + _x0255 = (_fx_up - vec4( 1.60000002E+00, -4.00000006E-01, -1.39999998E+00, 9.99999940E-02))/vec4( 8.00000072E-01, 8.00000012E-01, 7.99999952E-01, 7.99999952E-01); + _TMP73 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0255); + _TMP256 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP73); + _fx60 = _TMP256*_TMP256*(3.00000000E+00 - 2.00000000E+00*_TMP256); + _a0267 = _e1 - _c3; + _TMP264 = abs(_a0267); + _a0271 = _e1 - _c3.zwxy; + _TMP268 = abs(_a0271); + _a0275 = _c3.wxyz - _h5; + _TMP272 = abs(_a0275); + _a0279 = _c3.wxyz - _h5.yzwx; + _TMP276 = abs(_a0279); + _a0283 = _b1.zwxy - _b1.wxyz; + _TMP280 = abs(_a0283); + _TMP34 = _TMP264 + _TMP268 + _TMP272 + _TMP276 + 4.00000000E+00*_TMP280; + _a0289 = _b1.zwxy - _b1.yzwx; + _TMP286 = abs(_a0289); + _a0293 = _b1.zwxy - _i5; + _TMP290 = abs(_a0293); + _a0297 = _b1.wxyz - _i4; + _TMP294 = abs(_a0297); + _a0301 = _b1.wxyz - _b1; + _TMP298 = abs(_a0301); + _a0305 = _e1 - _c3.wxyz; + _TMP302 = abs(_a0305); + _TMP35 = _TMP286 + _TMP290 + _TMP294 + _TMP298 + 4.00000000E+00*_TMP302; + _edr = bvec4(_TMP34.x < _TMP35.x && _interp_restriction_lv1.x, _TMP34.y < _TMP35.y && _interp_restriction_lv1.y, _TMP34.z < _TMP35.z && _interp_restriction_lv1.z, _TMP34.w < _TMP35.w && _interp_restriction_lv1.w); + _a0309 = _b1.wxyz - _c3.zwxy; + _TMP306 = abs(_a0309); + _a0313 = _b1.zwxy - _c3; + _TMP310 = abs(_a0313); + _edr_left = bvec4((2.00000000E+00*_TMP306).x <= _TMP310.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP306).y <= _TMP310.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP306).z <= _TMP310.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP306).w <= _TMP310.w && _interp_restriction_lv2_left.w); + _a0317 = _b1.wxyz - _c3.zwxy; + _TMP314 = abs(_a0317); + _a0321 = _b1.zwxy - _c3; + _TMP318 = abs(_a0321); + _edr_up = bvec4(_TMP314.x >= (2.00000000E+00*_TMP318).x && _interp_restriction_lv2_up.x, _TMP314.y >= (2.00000000E+00*_TMP318).y && _interp_restriction_lv2_up.y, _TMP314.z >= (2.00000000E+00*_TMP318).z && _interp_restriction_lv2_up.z, _TMP314.w >= (2.00000000E+00*_TMP318).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0325 = _e1 - _b1.wxyz; + _TMP322 = abs(_a0325); + _a0329 = _e1 - _b1.zwxy; + _TMP326 = abs(_a0329); + _px = bvec4(_TMP322.x <= _TMP326.x, _TMP322.y <= _TMP326.y, _TMP322.z <= _TMP326.z, _TMP322.w <= _TMP326.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP42 = max(_final30, _final60); + _maximo = max(_TMP42, _final45); + if (_nc.x) { + if (_px.x) { + _TMP43 = _F; + } else { + _TMP43 = _H; + } + _pix1 = _TMP43; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP44 = _B2; + } else { + _TMP44 = _F; + } + _pix1 = _TMP44; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP45 = _D; + } else { + _TMP45 = _B2; + } + _pix1 = _TMP45; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP46 = _H; + } else { + _TMP46 = _D; + } + _pix1 = _TMP46; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP47 = _H; + } else { + _TMP47 = _D; + } + _pix2 = _TMP47; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP48 = _D; + } else { + _TMP48 = _B2; + } + _pix2 = _TMP48; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP49 = _B2; + } else { + _TMP49 = _F; + } + _pix2 = _TMP49; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP50 = _F; + } else { + _TMP50 = _H; + } + _pix2 = _TMP50; + _blend2 = _maximo.x; + } + } + } + } + _TMP69 = pow(float(_E.x), 2.40039062E+00); + _TMP64 = float(_TMP69); + _TMP69 = pow(float(_E.y), 2.40039062E+00); + _TMP65 = float(_TMP69); + _TMP69 = pow(float(_E.z), 2.40039062E+00); + _TMP66 = float(_TMP69); + _E = vec3(_TMP64, _TMP65, _TMP66); + _TMP69 = pow(float(_pix1.x), 2.40039062E+00); + _TMP64 = float(_TMP69); + _TMP69 = pow(float(_pix1.y), 2.40039062E+00); + _TMP65 = float(_TMP69); + _TMP69 = pow(float(_pix1.z), 2.40039062E+00); + _TMP66 = float(_TMP69); + _TMP51 = vec3(_TMP64, _TMP65, _TMP66); + _t0351 = float(_blend1); + _res1 = _E + _t0351*(_TMP51 - _E); + _TMP69 = pow(float(_pix2.x), 2.40039062E+00); + _TMP64 = float(_TMP69); + _TMP69 = pow(float(_pix2.y), 2.40039062E+00); + _TMP65 = float(_TMP69); + _TMP69 = pow(float(_pix2.z), 2.40039062E+00); + _TMP66 = float(_TMP69); + _TMP52 = vec3(_TMP64, _TMP65, _TMP66); + _t0361 = float(_blend2); + _res2 = _E + _t0361*(_TMP52 - _E); + _a0365 = _E - _res1; + _TMP70 = abs(vec3(float(_a0365.x), float(_a0365.y), float(_a0365.z))); + _df0363 = vec3(float(_TMP70.x), float(_TMP70.y), float(_TMP70.z)); + _TMP53 = _df0363.x + _df0363.y + _df0363.z; + _a0369 = _E - _res2; + _TMP70 = abs(vec3(float(_a0369.x), float(_a0369.y), float(_a0369.z))); + _df0367 = vec3(float(_TMP70.x), float(_TMP70.y), float(_TMP70.z)); + _TMP54 = _df0367.x + _df0367.y + _df0367.z; + _TMP55 = float((_TMP54 >= _TMP53)); + _res = _res1 + _TMP55*(_res2 - _res1); + _TMP69 = pow(float(_res.x), 4.54589844E-01); + _TMP64 = float(_TMP69); + _TMP69 = pow(float(_res.y), 4.54589844E-01); + _TMP65 = float(_TMP69); + _TMP69 = pow(float(_res.z), 4.54589844E-01); + _TMP66 = float(_TMP69); + _TMP56 = vec3(_TMP64, _TMP65, _TMP66); + _TMP71 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), vec3(float(_TMP56.x), float(_TMP56.y), float(_TMP56.z))); + _TMP67 = vec3(float(_TMP71.x), float(_TMP71.y), float(_TMP71.z)); + _TMP72 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), vec3(float(_TMP67.x), float(_TMP67.y), float(_TMP67.z))); + _TMP382 = vec3(float(_TMP72.x), float(_TMP72.y), float(_TMP72.z)); + _ret_0 = vec4(float(_TMP382.x), float(_TMP382.y), float(_TMP382.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xBR/xBR-v3.8c-gamma.glsl b/ios/Assets/shaders_glsl/xBR/xBR-v3.8c-gamma.glsl new file mode 100644 index 0000000000..5e07a4d89e --- /dev/null +++ b/ios/Assets/shaders_glsl/xBR/xBR-v3.8c-gamma.glsl @@ -0,0 +1,665 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord1; +varying vec4 _color1; +varying vec4 _position1; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _position1; + vec4 _color1; + vec2 _texCoord1; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0007; +vec4 _v0007; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _OUT; + vec2 _ps; + _v0007 = vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w)); + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(_v0007.x), float(_v0007.y), float(_v0007.z), float(_v0007.w))); + _r0007.w = float(_TMP1); + _OUT._position1 = vec4(float(_r0007.x), float(_r0007.y), float(_r0007.z), float(_r0007.w)); + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _OUT.VARt1 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((-2.00000000E+00*_ps.y)))); + _OUT.VARt2 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(-_ps.y))); + _OUT.VARt3 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), 0.00000000E+00); + _OUT.VARt4 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float(_ps.y))); + _OUT.VARt5 = TexCoord.xxxy + vec4(float(float(-_ps.x)), 0.00000000E+00, float(float(_ps.x)), float(float((2.00000000E+00*_ps.y)))); + _OUT.VARt6 = TexCoord.xyyy + vec4(float(float((-2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _OUT.VARt7 = TexCoord.xyyy + vec4(float(float((2.00000000E+00*_ps.x))), float(float(-_ps.y)), 0.00000000E+00, float(float(_ps.y))); + _ret_0._position1 = _OUT._position1; + _ret_0._color1 = COLOR; + _ret_0._texCoord1 = TexCoord.xy; + VARt1 = _OUT.VARt1; + VARt2 = _OUT.VARt2; + VARt3 = _OUT.VARt3; + VARt4 = _OUT.VARt4; + VARt5 = _OUT.VARt5; + VARt6 = _OUT.VARt6; + VARt7 = _OUT.VARt7; + gl_Position = _OUT._position1; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; + return; + COL0 = _ret_0._color1; + TEX0.xy = _ret_0._texCoord1; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 VARt7; +varying vec4 VARt6; +varying vec4 VARt5; +varying vec4 VARt4; +varying vec4 VARt3; +varying vec4 VARt2; +varying vec4 VARt1; +varying vec2 _texCoord; +varying vec4 _color; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; +}; +struct out_vertex { + vec4 _color; + vec2 _texCoord; + vec4 VARt1; + vec4 VARt2; + vec4 VARt3; + vec4 VARt4; + vec4 VARt5; + vec4 VARt6; + vec4 VARt7; +}; +vec4 _ret_0; +vec3 _TMP60; +vec3 _TMP71; +vec3 _TMP76; +vec3 _TMP75; +float _TMP70; +float _TMP69; +float _TMP68; +float _TMP73; +float _TMP59; +float _TMP58; +float _TMP57; +vec3 _TMP74; +vec3 _TMP56; +vec3 _TMP55; +vec3 _TMP54; +vec3 _TMP53; +vec3 _TMP52; +vec3 _TMP51; +vec3 _TMP50; +vec3 _TMP49; +vec3 _TMP48; +vec3 _TMP47; +vec4 _TMP46; +vec4 _TMP39; +vec4 _TMP38; +vec4 _TMP77; +bvec4 _TMP37; +bvec4 _TMP36; +bvec4 _TMP35; +bvec4 _TMP34; +bvec4 _TMP33; +bvec4 _TMP32; +bvec4 _TMP31; +bvec4 _TMP30; +bvec4 _TMP29; +bvec4 _TMP28; +bvec4 _TMP27; +float _TMP72; +vec4 _TMP20; +vec4 _TMP19; +vec4 _TMP18; +vec4 _TMP17; +vec4 _TMP16; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +out_vertex _VAR1; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _x0091; +vec4 _r0135; +vec4 _r0145; +vec4 _r0155; +vec4 _r0165; +vec4 _r0175; +vec4 _r0185; +vec4 _TMP196; +vec4 _a0199; +vec4 _TMP202; +vec4 _a0205; +vec4 _TMP208; +vec4 _a0211; +vec4 _TMP214; +vec4 _a0217; +vec4 _TMP220; +vec4 _a0223; +vec4 _TMP226; +vec4 _a0229; +vec4 _TMP232; +vec4 _a0235; +vec4 _TMP238; +vec4 _a0241; +vec4 _TMP244; +vec4 _a0247; +vec4 _TMP250; +vec4 _a0253; +vec4 _TMP256; +vec4 _a0259; +vec4 _x0263; +vec4 _TMP264; +vec4 _x0273; +vec4 _TMP274; +vec4 _x0283; +vec4 _TMP284; +vec4 _TMP292; +vec4 _a0295; +vec4 _TMP296; +vec4 _a0299; +vec4 _TMP300; +vec4 _a0303; +vec4 _TMP304; +vec4 _a0307; +vec4 _TMP308; +vec4 _a0311; +vec4 _TMP314; +vec4 _a0317; +vec4 _TMP318; +vec4 _a0321; +vec4 _TMP322; +vec4 _a0325; +vec4 _TMP326; +vec4 _a0329; +vec4 _TMP330; +vec4 _a0333; +vec4 _TMP334; +vec4 _a0337; +vec4 _TMP338; +vec4 _a0341; +vec4 _TMP342; +vec4 _a0345; +vec4 _TMP346; +vec4 _a0349; +vec4 _TMP350; +vec4 _a0353; +vec4 _TMP354; +vec4 _a0357; +float _t0379; +float _t0389; +vec3 _df0391; +vec3 _a0393; +vec3 _df0395; +vec3 _a0397; +vec3 _TMP410; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + bvec4 _edr; + bvec4 _edr_left; + bvec4 _edr_up; + bvec4 _px; + bvec4 _interp_restriction_lv1; + bvec4 _interp_restriction_lv2_left; + bvec4 _interp_restriction_lv2_up; + bvec4 _nc; + bvec4 _nc30; + bvec4 _nc60; + bvec4 _nc45; + vec4 _fx; + vec4 _fx_left; + vec4 _fx_up; + vec3 _res1; + vec3 _res2; + vec3 _pix1; + vec3 _pix2; + float _blend1; + float _blend2; + vec2 _fp; + vec3 _A11; + vec3 _B11; + vec3 _C1; + vec3 _A2; + vec3 _B2; + vec3 _C; + vec3 _D; + vec3 _E; + vec3 _F; + vec3 _G; + vec3 _H; + vec3 _I; + vec3 _G5; + vec3 _H5; + vec3 _I5; + vec3 _A0; + vec3 _D0; + vec3 _G0; + vec3 _C4; + vec3 _F4; + vec3 _I4; + vec4 _b1; + vec4 _c3; + vec4 _e1; + vec4 _i4; + vec4 _i5; + vec4 _h5; + vec4 _fx45; + vec4 _fx30; + vec4 _fx60; + vec4 _final45; + vec4 _final30; + vec4 _final60; + vec4 _maximo; + vec3 _res; + _x0091 = TEX0.xy*TextureSize; + _fp = fract(_x0091); + _TMP0 = texture2D(Texture, VARt1.xw); + _A11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _TMP1 = texture2D(Texture, VARt1.yw); + _B11 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _TMP2 = texture2D(Texture, VARt1.zw); + _C1 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _TMP3 = texture2D(Texture, VARt2.xw); + _A2 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _TMP4 = texture2D(Texture, VARt2.yw); + _B2 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, VARt2.zw); + _C = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _TMP6 = texture2D(Texture, VARt3.xw); + _D = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _TMP7 = texture2D(Texture, VARt3.yw); + _E = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _TMP8 = texture2D(Texture, VARt3.zw); + _F = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _TMP9 = texture2D(Texture, VARt4.xw); + _G = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _TMP10 = texture2D(Texture, VARt4.yw); + _H = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _TMP11 = texture2D(Texture, VARt4.zw); + _I = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _TMP12 = texture2D(Texture, VARt5.xw); + _G5 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _TMP13 = texture2D(Texture, VARt5.yw); + _H5 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _TMP14 = texture2D(Texture, VARt5.zw); + _I5 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _TMP15 = texture2D(Texture, VARt6.xy); + _A0 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP16 = texture2D(Texture, VARt6.xz); + _D0 = vec3(float(_TMP16.x), float(_TMP16.y), float(_TMP16.z)); + _TMP17 = texture2D(Texture, VARt6.xw); + _G0 = vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)); + _TMP18 = texture2D(Texture, VARt7.xy); + _C4 = vec3(float(_TMP18.x), float(_TMP18.y), float(_TMP18.z)); + _TMP19 = texture2D(Texture, VARt7.xz); + _F4 = vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)); + _TMP20 = texture2D(Texture, VARt7.xw); + _I4 = vec3(float(_TMP20.x), float(_TMP20.y), float(_TMP20.z)); + _TMP72 = dot(vec3(float(_B2.x), float(_B2.y), float(_B2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0135.x = float(_TMP72); + _TMP72 = dot(vec3(float(_D.x), float(_D.y), float(_D.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0135.y = float(_TMP72); + _TMP72 = dot(vec3(float(_H.x), float(_H.y), float(_H.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0135.z = float(_TMP72); + _TMP72 = dot(vec3(float(_F.x), float(_F.y), float(_F.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0135.w = float(_TMP72); + _b1 = vec4(float(_r0135.x), float(_r0135.y), float(_r0135.z), float(_r0135.w)); + _TMP72 = dot(vec3(float(_C.x), float(_C.y), float(_C.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0145.x = float(_TMP72); + _TMP72 = dot(vec3(float(_A2.x), float(_A2.y), float(_A2.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0145.y = float(_TMP72); + _TMP72 = dot(vec3(float(_G.x), float(_G.y), float(_G.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0145.z = float(_TMP72); + _TMP72 = dot(vec3(float(_I.x), float(_I.y), float(_I.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0145.w = float(_TMP72); + _c3 = vec4(float(_r0145.x), float(_r0145.y), float(_r0145.z), float(_r0145.w)); + _TMP72 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0155.x = float(_TMP72); + _TMP72 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0155.y = float(_TMP72); + _TMP72 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0155.z = float(_TMP72); + _TMP72 = dot(vec3(float(_E.x), float(_E.y), float(_E.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0155.w = float(_TMP72); + _e1 = vec4(float(_r0155.x), float(_r0155.y), float(_r0155.z), float(_r0155.w)); + _TMP72 = dot(vec3(float(_I4.x), float(_I4.y), float(_I4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0165.x = float(_TMP72); + _TMP72 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0165.y = float(_TMP72); + _TMP72 = dot(vec3(float(_A0.x), float(_A0.y), float(_A0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0165.z = float(_TMP72); + _TMP72 = dot(vec3(float(_G5.x), float(_G5.y), float(_G5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0165.w = float(_TMP72); + _i4 = vec4(float(_r0165.x), float(_r0165.y), float(_r0165.z), float(_r0165.w)); + _TMP72 = dot(vec3(float(_I5.x), float(_I5.y), float(_I5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0175.x = float(_TMP72); + _TMP72 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0175.y = float(_TMP72); + _TMP72 = dot(vec3(float(_A11.x), float(_A11.y), float(_A11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0175.z = float(_TMP72); + _TMP72 = dot(vec3(float(_G0.x), float(_G0.y), float(_G0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0175.w = float(_TMP72); + _i5 = vec4(float(_r0175.x), float(_r0175.y), float(_r0175.z), float(_r0175.w)); + _TMP72 = dot(vec3(float(_H5.x), float(_H5.y), float(_H5.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0185.x = float(_TMP72); + _TMP72 = dot(vec3(float(_F4.x), float(_F4.y), float(_F4.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0185.y = float(_TMP72); + _TMP72 = dot(vec3(float(_B11.x), float(_B11.y), float(_B11.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0185.z = float(_TMP72); + _TMP72 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 1.43593750E+01, 2.81718750E+01, 5.47265625E+00)); + _r0185.w = float(_TMP72); + _h5 = vec4(float(_r0185.x), float(_r0185.y), float(_r0185.z), float(_r0185.w)); + _fx = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 1.00000000E+00, 1.00000000E+00, -1.00000000E+00, -1.00000000E+00)*_fp.x; + _fx_left = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 5.00000000E-01, 2.00000000E+00, -5.00000000E-01, -2.00000000E+00)*_fp.x; + _fx_up = vec4( 1.00000000E+00, -1.00000000E+00, -1.00000000E+00, 1.00000000E+00)*_fp.y + vec4( 2.00000000E+00, 5.00000000E-01, -2.00000000E+00, -5.00000000E-01)*_fp.x; + _a0199 = _b1.wxyz - _b1; + _TMP196 = abs(_a0199); + _TMP27 = bvec4(_TMP196.x < 1.50000000E+01, _TMP196.y < 1.50000000E+01, _TMP196.z < 1.50000000E+01, _TMP196.w < 1.50000000E+01); + _a0205 = _b1.wxyz - _c3; + _TMP202 = abs(_a0205); + _TMP28 = bvec4(_TMP202.x < 1.50000000E+01, _TMP202.y < 1.50000000E+01, _TMP202.z < 1.50000000E+01, _TMP202.w < 1.50000000E+01); + _a0211 = _b1.zwxy - _b1.yzwx; + _TMP208 = abs(_a0211); + _TMP29 = bvec4(_TMP208.x < 1.50000000E+01, _TMP208.y < 1.50000000E+01, _TMP208.z < 1.50000000E+01, _TMP208.w < 1.50000000E+01); + _a0217 = _b1.zwxy - _c3.zwxy; + _TMP214 = abs(_a0217); + _TMP30 = bvec4(_TMP214.x < 1.50000000E+01, _TMP214.y < 1.50000000E+01, _TMP214.z < 1.50000000E+01, _TMP214.w < 1.50000000E+01); + _a0223 = _e1 - _c3.wxyz; + _TMP220 = abs(_a0223); + _TMP31 = bvec4(_TMP220.x < 1.50000000E+01, _TMP220.y < 1.50000000E+01, _TMP220.z < 1.50000000E+01, _TMP220.w < 1.50000000E+01); + _a0229 = _b1.wxyz - _h5.yzwx; + _TMP226 = abs(_a0229); + _TMP32 = bvec4(_TMP226.x < 1.50000000E+01, _TMP226.y < 1.50000000E+01, _TMP226.z < 1.50000000E+01, _TMP226.w < 1.50000000E+01); + _a0235 = _b1.wxyz - _i4; + _TMP232 = abs(_a0235); + _TMP33 = bvec4(_TMP232.x < 1.50000000E+01, _TMP232.y < 1.50000000E+01, _TMP232.z < 1.50000000E+01, _TMP232.w < 1.50000000E+01); + _a0241 = _b1.zwxy - _h5; + _TMP238 = abs(_a0241); + _TMP34 = bvec4(_TMP238.x < 1.50000000E+01, _TMP238.y < 1.50000000E+01, _TMP238.z < 1.50000000E+01, _TMP238.w < 1.50000000E+01); + _a0247 = _b1.zwxy - _i5; + _TMP244 = abs(_a0247); + _TMP35 = bvec4(_TMP244.x < 1.50000000E+01, _TMP244.y < 1.50000000E+01, _TMP244.z < 1.50000000E+01, _TMP244.w < 1.50000000E+01); + _a0253 = _e1 - _c3.zwxy; + _TMP250 = abs(_a0253); + _TMP36 = bvec4(_TMP250.x < 1.50000000E+01, _TMP250.y < 1.50000000E+01, _TMP250.z < 1.50000000E+01, _TMP250.w < 1.50000000E+01); + _a0259 = _e1 - _c3; + _TMP256 = abs(_a0259); + _TMP37 = bvec4(_TMP256.x < 1.50000000E+01, _TMP256.y < 1.50000000E+01, _TMP256.z < 1.50000000E+01, _TMP256.w < 1.50000000E+01); + _interp_restriction_lv1 = bvec4(_e1.x != _b1.w && _e1.x != _b1.z && (!_TMP27.x && !_TMP28.x || !_TMP29.x && !_TMP30.x || _TMP31.x && (!_TMP32.x && !_TMP33.x || !_TMP34.x && !_TMP35.x) || _TMP36.x || _TMP37.x), _e1.y != _b1.x && _e1.y != _b1.w && (!_TMP27.y && !_TMP28.y || !_TMP29.y && !_TMP30.y || _TMP31.y && (!_TMP32.y && !_TMP33.y || !_TMP34.y && !_TMP35.y) || _TMP36.y || _TMP37.y), _e1.z != _b1.y && _e1.z != _b1.x && (!_TMP27.z && !_TMP28.z || !_TMP29.z && !_TMP30.z || _TMP31.z && (!_TMP32.z && !_TMP33.z || !_TMP34.z && !_TMP35.z) || _TMP36.z || _TMP37.z), _e1.w != _b1.z && _e1.w != _b1.y && (!_TMP27.w && !_TMP28.w || !_TMP29.w && !_TMP30.w || _TMP31.w && (!_TMP32.w && !_TMP33.w || !_TMP34.w && !_TMP35.w) || _TMP36.w || _TMP37.w)); + _interp_restriction_lv2_left = bvec4(_e1.x != _c3.z && _b1.y != _c3.z, _e1.y != _c3.w && _b1.z != _c3.w, _e1.z != _c3.x && _b1.w != _c3.x, _e1.w != _c3.y && _b1.x != _c3.y); + _interp_restriction_lv2_up = bvec4(_e1.x != _c3.x && _b1.x != _c3.x, _e1.y != _c3.y && _b1.y != _c3.y, _e1.z != _c3.z && _b1.z != _c3.z, _e1.w != _c3.w && _b1.w != _c3.w); + _x0263 = (_fx - vec4( 1.10000002E+00, 9.99999940E-02, -8.99999976E-01, 9.99999940E-02))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 7.99999952E-01); + _TMP77 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0263); + _TMP264 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP77); + _fx45 = _TMP264*_TMP264*(3.00000000E+00 - 2.00000000E+00*_TMP264); + _x0273 = (_fx_left - vec4( 6.00000024E-01, 6.00000024E-01, -8.99999976E-01, -4.00000006E-01))/vec4( 7.99999952E-01, 7.99999952E-01, 7.99999952E-01, 8.00000012E-01); + _TMP77 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0273); + _TMP274 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP77); + _fx30 = _TMP274*_TMP274*(3.00000000E+00 - 2.00000000E+00*_TMP274); + _x0283 = (_fx_up - vec4( 1.60000002E+00, -4.00000006E-01, -1.39999998E+00, 9.99999940E-02))/vec4( 8.00000072E-01, 8.00000012E-01, 7.99999952E-01, 7.99999952E-01); + _TMP77 = min(vec4( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _x0283); + _TMP284 = max(vec4( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), _TMP77); + _fx60 = _TMP284*_TMP284*(3.00000000E+00 - 2.00000000E+00*_TMP284); + _a0295 = _e1 - _c3; + _TMP292 = abs(_a0295); + _a0299 = _e1 - _c3.zwxy; + _TMP296 = abs(_a0299); + _a0303 = _c3.wxyz - _h5; + _TMP300 = abs(_a0303); + _a0307 = _c3.wxyz - _h5.yzwx; + _TMP304 = abs(_a0307); + _a0311 = _b1.zwxy - _b1.wxyz; + _TMP308 = abs(_a0311); + _TMP38 = _TMP292 + _TMP296 + _TMP300 + _TMP304 + 4.00000000E+00*_TMP308; + _a0317 = _b1.zwxy - _b1.yzwx; + _TMP314 = abs(_a0317); + _a0321 = _b1.zwxy - _i5; + _TMP318 = abs(_a0321); + _a0325 = _b1.wxyz - _i4; + _TMP322 = abs(_a0325); + _a0329 = _b1.wxyz - _b1; + _TMP326 = abs(_a0329); + _a0333 = _e1 - _c3.wxyz; + _TMP330 = abs(_a0333); + _TMP39 = _TMP314 + _TMP318 + _TMP322 + _TMP326 + 4.00000000E+00*_TMP330; + _edr = bvec4(_TMP38.x < _TMP39.x && _interp_restriction_lv1.x, _TMP38.y < _TMP39.y && _interp_restriction_lv1.y, _TMP38.z < _TMP39.z && _interp_restriction_lv1.z, _TMP38.w < _TMP39.w && _interp_restriction_lv1.w); + _a0337 = _b1.wxyz - _c3.zwxy; + _TMP334 = abs(_a0337); + _a0341 = _b1.zwxy - _c3; + _TMP338 = abs(_a0341); + _edr_left = bvec4((2.00000000E+00*_TMP334).x <= _TMP338.x && _interp_restriction_lv2_left.x, (2.00000000E+00*_TMP334).y <= _TMP338.y && _interp_restriction_lv2_left.y, (2.00000000E+00*_TMP334).z <= _TMP338.z && _interp_restriction_lv2_left.z, (2.00000000E+00*_TMP334).w <= _TMP338.w && _interp_restriction_lv2_left.w); + _a0345 = _b1.wxyz - _c3.zwxy; + _TMP342 = abs(_a0345); + _a0349 = _b1.zwxy - _c3; + _TMP346 = abs(_a0349); + _edr_up = bvec4(_TMP342.x >= (2.00000000E+00*_TMP346).x && _interp_restriction_lv2_up.x, _TMP342.y >= (2.00000000E+00*_TMP346).y && _interp_restriction_lv2_up.y, _TMP342.z >= (2.00000000E+00*_TMP346).z && _interp_restriction_lv2_up.z, _TMP342.w >= (2.00000000E+00*_TMP346).w && _interp_restriction_lv2_up.w); + _nc45 = bvec4(_edr.x && bool(_fx45.x), _edr.y && bool(_fx45.y), _edr.z && bool(_fx45.z), _edr.w && bool(_fx45.w)); + _nc30 = bvec4(_edr.x && _edr_left.x && bool(_fx30.x), _edr.y && _edr_left.y && bool(_fx30.y), _edr.z && _edr_left.z && bool(_fx30.z), _edr.w && _edr_left.w && bool(_fx30.w)); + _nc60 = bvec4(_edr.x && _edr_up.x && bool(_fx60.x), _edr.y && _edr_up.y && bool(_fx60.y), _edr.z && _edr_up.z && bool(_fx60.z), _edr.w && _edr_up.w && bool(_fx60.w)); + _a0353 = _e1 - _b1.wxyz; + _TMP350 = abs(_a0353); + _a0357 = _e1 - _b1.zwxy; + _TMP354 = abs(_a0357); + _px = bvec4(_TMP350.x <= _TMP354.x, _TMP350.y <= _TMP354.y, _TMP350.z <= _TMP354.z, _TMP350.w <= _TMP354.w); + _nc = bvec4(_nc30.x || _nc60.x || _nc45.x, _nc30.y || _nc60.y || _nc45.y, _nc30.z || _nc60.z || _nc45.z, _nc30.w || _nc60.w || _nc45.w); + _final45 = vec4(float(_nc45.x), float(_nc45.y), float(_nc45.z), float(_nc45.w))*_fx45; + _final30 = vec4(float(_nc30.x), float(_nc30.y), float(_nc30.z), float(_nc30.w))*_fx30; + _final60 = vec4(float(_nc60.x), float(_nc60.y), float(_nc60.z), float(_nc60.w))*_fx60; + _TMP46 = max(_final30, _final60); + _maximo = max(_TMP46, _final45); + if (_nc.x) { + if (_px.x) { + _TMP47 = _F; + } else { + _TMP47 = _H; + } + _pix1 = _TMP47; + _blend1 = _maximo.x; + } else { + if (_nc.y) { + if (_px.y) { + _TMP48 = _B2; + } else { + _TMP48 = _F; + } + _pix1 = _TMP48; + _blend1 = _maximo.y; + } else { + if (_nc.z) { + if (_px.z) { + _TMP49 = _D; + } else { + _TMP49 = _B2; + } + _pix1 = _TMP49; + _blend1 = _maximo.z; + } else { + if (_nc.w) { + if (_px.w) { + _TMP50 = _H; + } else { + _TMP50 = _D; + } + _pix1 = _TMP50; + _blend1 = _maximo.w; + } + } + } + } + if (_nc.w) { + if (_px.w) { + _TMP51 = _H; + } else { + _TMP51 = _D; + } + _pix2 = _TMP51; + _blend2 = _maximo.w; + } else { + if (_nc.z) { + if (_px.z) { + _TMP52 = _D; + } else { + _TMP52 = _B2; + } + _pix2 = _TMP52; + _blend2 = _maximo.z; + } else { + if (_nc.y) { + if (_px.y) { + _TMP53 = _B2; + } else { + _TMP53 = _F; + } + _pix2 = _TMP53; + _blend2 = _maximo.y; + } else { + if (_nc.x) { + if (_px.x) { + _TMP54 = _F; + } else { + _TMP54 = _H; + } + _pix2 = _TMP54; + _blend2 = _maximo.x; + } + } + } + } + _TMP73 = pow(float(_E.x), 2.40039062E+00); + _TMP68 = float(_TMP73); + _TMP73 = pow(float(_E.y), 2.40039062E+00); + _TMP69 = float(_TMP73); + _TMP73 = pow(float(_E.z), 2.40039062E+00); + _TMP70 = float(_TMP73); + _E = vec3(_TMP68, _TMP69, _TMP70); + _TMP73 = pow(float(_pix1.x), 2.40039062E+00); + _TMP68 = float(_TMP73); + _TMP73 = pow(float(_pix1.y), 2.40039062E+00); + _TMP69 = float(_TMP73); + _TMP73 = pow(float(_pix1.z), 2.40039062E+00); + _TMP70 = float(_TMP73); + _TMP55 = vec3(_TMP68, _TMP69, _TMP70); + _t0379 = float(_blend1); + _res1 = _E + _t0379*(_TMP55 - _E); + _TMP73 = pow(float(_pix2.x), 2.40039062E+00); + _TMP68 = float(_TMP73); + _TMP73 = pow(float(_pix2.y), 2.40039062E+00); + _TMP69 = float(_TMP73); + _TMP73 = pow(float(_pix2.z), 2.40039062E+00); + _TMP70 = float(_TMP73); + _TMP56 = vec3(_TMP68, _TMP69, _TMP70); + _t0389 = float(_blend2); + _res2 = _E + _t0389*(_TMP56 - _E); + _a0393 = _E - _res1; + _TMP74 = abs(vec3(float(_a0393.x), float(_a0393.y), float(_a0393.z))); + _df0391 = vec3(float(_TMP74.x), float(_TMP74.y), float(_TMP74.z)); + _TMP57 = _df0391.x + _df0391.y + _df0391.z; + _a0397 = _E - _res2; + _TMP74 = abs(vec3(float(_a0397.x), float(_a0397.y), float(_a0397.z))); + _df0395 = vec3(float(_TMP74.x), float(_TMP74.y), float(_TMP74.z)); + _TMP58 = _df0395.x + _df0395.y + _df0395.z; + _TMP59 = float((_TMP58 >= _TMP57)); + _res = _res1 + _TMP59*(_res2 - _res1); + _TMP73 = pow(float(_res.x), 4.54589844E-01); + _TMP68 = float(_TMP73); + _TMP73 = pow(float(_res.y), 4.54589844E-01); + _TMP69 = float(_TMP73); + _TMP73 = pow(float(_res.z), 4.54589844E-01); + _TMP70 = float(_TMP73); + _TMP60 = vec3(_TMP68, _TMP69, _TMP70); + _TMP75 = min(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), vec3(float(_TMP60.x), float(_TMP60.y), float(_TMP60.z))); + _TMP71 = vec3(float(_TMP75.x), float(_TMP75.y), float(_TMP75.z)); + _TMP76 = max(vec3( 0.00000000E+00, 0.00000000E+00, 0.00000000E+00), vec3(float(_TMP71.x), float(_TMP71.y), float(_TMP71.z))); + _TMP410 = vec3(float(_TMP76.x), float(_TMP76.y), float(_TMP76.z)); + _ret_0 = vec4(float(_TMP410.x), float(_TMP410.y), float(_TMP410.z), 1.00000000E+00); + gl_FragColor = _ret_0; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xSaI/super2xSal.glsl b/ios/Assets/shaders_glsl/xSaI/super2xSal.glsl new file mode 100644 index 0000000000..750ad55cad --- /dev/null +++ b/ios/Assets/shaders_glsl/xSaI/super2xSal.glsl @@ -0,0 +1,464 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0005; +attribute vec4 VertexCoord; +attribute vec4 COLOR; +attribute vec4 TexCoord; +varying vec4 COL0; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec4 _oColor; + vec2 _otexCoord; + _r0005.x = dot(MVPMatrix_[0], VertexCoord); + _r0005.y = dot(MVPMatrix_[1], VertexCoord); + _r0005.z = dot(MVPMatrix_[2], VertexCoord); + _r0005.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0005; + _oColor = COLOR; + _otexCoord = TexCoord.xy; + gl_Position = _r0005; + COL0 = COLOR; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying float _frame_rotation; +varying vec4 _color1; +struct output_dummy { + vec4 _color1; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +float _TMP25; +float _TMP26; +vec4 _TMP15; +vec4 _TMP14; +vec4 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +input_dummy _IN1; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec2 _c0058; +vec2 _c0060; +vec2 _c0062; +vec2 _c0064; +vec2 _c0066; +int _x0132; +int _y0132; +int _r0132; +int _x0134; +int _y0134; +int _r0134; +int _x0136; +int _y0136; +int _r0136; +int _x0138; +int _y0138; +int _r0138; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + output_dummy _OUT; + vec2 _ps; + vec2 _dx; + vec2 _dy; + vec2 _g1; + vec2 _g2; + vec2 _pixcoord; + vec2 _fp; + vec2 _pC4; + vec2 _pC8; + vec3 _C0; + vec3 _C1; + vec3 _C2; + vec3 _D3; + vec3 _C3; + vec3 _C4; + vec3 _C5; + vec3 _D4; + vec3 _C6; + vec3 _C7; + vec3 _C8; + vec3 _D5; + vec3 _D0; + vec3 _D1; + vec3 _D2; + vec3 _D6; + vec3 _p00; + vec3 _p10; + vec3 _p01; + vec3 _p11; + float _c0; + float _c1; + float _c2; + float _c3; + float _c4; + float _c5; + float _c6; + float _c7; + float _c8; + float _d0; + float _d1; + float _d2; + float _d3; + float _d4; + float _d5; + float _d6; + int _r1; + _ps = vec2(9.99000013E-01/TextureSize.x, 9.99000013E-01/TextureSize.y); + _dx = vec2(float(_ps.x), 0.00000000E+00); + _dy = vec2(0.00000000E+00, float(_ps.y)); + _g1 = vec2(float(_ps.x), float(_ps.y)); + _g2 = vec2(float(-_ps.x), float(_ps.y)); + _pixcoord = TEX0.xy/_ps; + _fp = fract(_pixcoord); + _pC4 = TEX0.xy - _fp*_ps; + _pC8 = _pC4 + vec2(float(_g1.x), float(_g1.y)); + _c0036 = _pC4 - vec2(float(_g1.x), float(_g1.y)); + _TMP0 = texture2D(Texture, _c0036); + _C0 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0038 = _pC4 - vec2(float(_dy.x), float(_dy.y)); + _TMP1 = texture2D(Texture, _c0038); + _C1 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0040 = _pC4 - vec2(float(_g2.x), float(_g2.y)); + _TMP2 = texture2D(Texture, _c0040); + _C2 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0042 = (_pC4 - vec2(float(_g2.x), float(_g2.y))) + vec2(float(_dx.x), float(_dx.y)); + _TMP3 = texture2D(Texture, _c0042); + _D3 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0044 = _pC4 - vec2(float(_dx.x), float(_dx.y)); + _TMP4 = texture2D(Texture, _c0044); + _C3 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _TMP5 = texture2D(Texture, _pC4); + _C4 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0048 = _pC4 + vec2(float(_dx.x), float(_dx.y)); + _TMP6 = texture2D(Texture, _c0048); + _C5 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0050 = _pC8 - vec2(float(_g2.x), float(_g2.y)); + _TMP7 = texture2D(Texture, _c0050); + _D4 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0052 = _pC4 + vec2(float(_g2.x), float(_g2.y)); + _TMP8 = texture2D(Texture, _c0052); + _C6 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0054 = _pC4 + vec2(float(_dy.x), float(_dy.y)); + _TMP9 = texture2D(Texture, _c0054); + _C7 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0056 = _pC4 + vec2(float(_g1.x), float(_g1.y)); + _TMP10 = texture2D(Texture, _c0056); + _C8 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0058 = _pC8 + vec2(float(_dx.x), float(_dx.y)); + _TMP11 = texture2D(Texture, _c0058); + _D5 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0060 = _pC4 + vec2(float(_g2.x), float(_g2.y)) + vec2(float(_dy.x), float(_dy.y)); + _TMP12 = texture2D(Texture, _c0060); + _D0 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _c0062 = _pC8 + vec2(float(_g2.x), float(_g2.y)); + _TMP13 = texture2D(Texture, _c0062); + _D1 = vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)); + _c0064 = _pC8 + vec2(float(_dy.x), float(_dy.y)); + _TMP14 = texture2D(Texture, _c0064); + _D2 = vec3(float(_TMP14.x), float(_TMP14.y), float(_TMP14.z)); + _c0066 = _pC8 + vec2(float(_g1.x), float(_g1.y)); + _TMP15 = texture2D(Texture, _c0066); + _D6 = vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)); + _TMP26 = dot(vec3(float(_C0.x), float(_C0.y), float(_C0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _c0 = float(_TMP25); + _TMP26 = dot(vec3(float(_C1.x), float(_C1.y), float(_C1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _c1 = float(_TMP25); + _TMP26 = dot(vec3(float(_C2.x), float(_C2.y), float(_C2.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _c2 = float(_TMP25); + _TMP26 = dot(vec3(float(_C3.x), float(_C3.y), float(_C3.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _c3 = float(_TMP25); + _TMP26 = dot(vec3(float(_C4.x), float(_C4.y), float(_C4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _c4 = float(_TMP25); + _TMP26 = dot(vec3(float(_C5.x), float(_C5.y), float(_C5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _c5 = float(_TMP25); + _TMP26 = dot(vec3(float(_C6.x), float(_C6.y), float(_C6.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _c6 = float(_TMP25); + _TMP26 = dot(vec3(float(_C7.x), float(_C7.y), float(_C7.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _c7 = float(_TMP25); + _TMP26 = dot(vec3(float(_C8.x), float(_C8.y), float(_C8.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _c8 = float(_TMP25); + _TMP26 = dot(vec3(float(_D0.x), float(_D0.y), float(_D0.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _d0 = float(_TMP25); + _TMP26 = dot(vec3(float(_D1.x), float(_D1.y), float(_D1.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _d1 = float(_TMP25); + _TMP26 = dot(vec3(float(_D2.x), float(_D2.y), float(_D2.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _d2 = float(_TMP25); + _TMP26 = dot(vec3(float(_D3.x), float(_D3.y), float(_D3.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _d3 = float(_TMP25); + _TMP26 = dot(vec3(float(_D4.x), float(_D4.y), float(_D4.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _d4 = float(_TMP25); + _TMP26 = dot(vec3(float(_D5.x), float(_D5.y), float(_D5.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _d5 = float(_TMP25); + _TMP26 = dot(vec3(float(_D6.x), float(_D6.y), float(_D6.z)), vec3( 6.55360000E+04, 2.55000000E+02, 1.00000000E+00)); + _TMP25 = float(_TMP26); + _d6 = float(_TMP25); + if (_c7 == _c5 && _c4 != _c8) { + _p01 = vec3(float(_C7.x), float(_C7.y), float(_C7.z)); + _p11 = _p01; + } else { + if (_c4 == _c8 && _c7 != _c5) { + _p01 = vec3(float(_C4.x), float(_C4.y), float(_C4.z)); + _p11 = _p01; + } else { + if (_c4 == _c8 && _c7 == _c5) { + _x0132 = 0; + _y0132 = 0; + _r0132 = 0; + if (_c5 == _c6) { + _x0132 = 1; + } else { + if (_c4 == _c6) { + _y0132 = 1; + } + } + if (_c5 == _d1) { + _x0132 = _x0132 + 1; + } else { + if (_c4 == _d1) { + _y0132 = _y0132 + 1; + } + } + if (_x0132 <= 1) { + _r0132 = 1; + } + if (_y0132 <= 1) { + _r0132 = _r0132 - 1; + } + _x0134 = 0; + _y0134 = 0; + _r0134 = 0; + if (_c5 == _c3) { + _x0134 = 1; + } else { + if (_c4 == _c3) { + _y0134 = 1; + } + } + if (_c5 == _c1) { + _x0134 = _x0134 + 1; + } else { + if (_c4 == _c1) { + _y0134 = _y0134 + 1; + } + } + if (_x0134 <= 1) { + _r0134 = 1; + } + if (_y0134 <= 1) { + _r0134 = _r0134 - 1; + } + _r1 = _r0132 + _r0134; + _x0136 = 0; + _y0136 = 0; + _r0136 = 0; + if (_c5 == _d2) { + _x0136 = 1; + } else { + if (_c4 == _d2) { + _y0136 = 1; + } + } + if (_c5 == _d5) { + _x0136 = _x0136 + 1; + } else { + if (_c4 == _d5) { + _y0136 = _y0136 + 1; + } + } + if (_x0136 <= 1) { + _r0136 = 1; + } + if (_y0136 <= 1) { + _r0136 = _r0136 - 1; + } + _r1 = _r1 + _r0136; + _x0138 = 0; + _y0138 = 0; + _r0138 = 0; + if (_c5 == _c2) { + _x0138 = 1; + } else { + if (_c4 == _c2) { + _y0138 = 1; + } + } + if (_c5 == _d4) { + _x0138 = _x0138 + 1; + } else { + if (_c4 == _d4) { + _y0138 = _y0138 + 1; + } + } + if (_x0138 <= 1) { + _r0138 = 1; + } + if (_y0138 <= 1) { + _r0138 = _r0138 - 1; + } + _r1 = _r1 + _r0138; + if (_r1 > 0) { + _p01 = vec3(float(_C5.x), float(_C5.y), float(_C5.z)); + _p11 = _p01; + } else { + if (_r1 < 0) { + _p01 = vec3(float(_C4.x), float(_C4.y), float(_C4.z)); + _p11 = _p01; + } else { + _p01 = vec3(float((5.00000000E-01*(_C4 + _C5)).x), float((5.00000000E-01*(_C4 + _C5)).y), float((5.00000000E-01*(_C4 + _C5)).z)); + _p11 = _p01; + } + } + } else { + if (_c5 == _c8 && _c8 == _d1 && _c7 != _d2 && _c8 != _d0) { + _p11 = vec3(float((2.50000000E-01*(3.00000000E+00*_C8 + _C7)).x), float((2.50000000E-01*(3.00000000E+00*_C8 + _C7)).y), float((2.50000000E-01*(3.00000000E+00*_C8 + _C7)).z)); + } else { + if (_c4 == _c7 && _c7 == _d2 && _d1 != _c8 && _c7 != _d6) { + _p11 = vec3(float((2.50000000E-01*(3.00000000E+00*_C7 + _C8)).x), float((2.50000000E-01*(3.00000000E+00*_C7 + _C8)).y), float((2.50000000E-01*(3.00000000E+00*_C7 + _C8)).z)); + } else { + _p11 = vec3(float((5.00000000E-01*(_C7 + _C8)).x), float((5.00000000E-01*(_C7 + _C8)).y), float((5.00000000E-01*(_C7 + _C8)).z)); + } + } + if (_c5 == _c8 && _c5 == _c1 && _c4 != _c2 && _c5 != _c0) { + _p01 = vec3(float((2.50000000E-01*(3.00000000E+00*_C5 + _C4)).x), float((2.50000000E-01*(3.00000000E+00*_C5 + _C4)).y), float((2.50000000E-01*(3.00000000E+00*_C5 + _C4)).z)); + } else { + if (_c4 == _c7 && _c4 == _c2 && _c1 != _c5 && _c4 != _d3) { + _p01 = vec3(float((2.50000000E-01*(3.00000000E+00*_C4 + _C5)).x), float((2.50000000E-01*(3.00000000E+00*_C4 + _C5)).y), float((2.50000000E-01*(3.00000000E+00*_C4 + _C5)).z)); + } else { + _p01 = vec3(float((5.00000000E-01*(_C4 + _C5)).x), float((5.00000000E-01*(_C4 + _C5)).y), float((5.00000000E-01*(_C4 + _C5)).z)); + } + } + } + } + } + if (_c4 == _c8 && _c7 != _c5 && _c3 == _c4 && _c4 != _d2) { + _p10 = vec3(float((5.00000000E-01*(_C7 + _C4)).x), float((5.00000000E-01*(_C7 + _C4)).y), float((5.00000000E-01*(_C7 + _C4)).z)); + } else { + if (_c4 == _c6 && _c5 == _c4 && _c3 != _c7 && _c4 != _d0) { + _p10 = vec3(float((5.00000000E-01*(_C7 + _C4)).x), float((5.00000000E-01*(_C7 + _C4)).y), float((5.00000000E-01*(_C7 + _C4)).z)); + } else { + _p10 = vec3(float(_C7.x), float(_C7.y), float(_C7.z)); + } + } + if (_c7 == _c5 && _c4 != _c8 && _c6 == _c7 && _c7 != _c2) { + _p00 = vec3(float((5.00000000E-01*(_C7 + _C4)).x), float((5.00000000E-01*(_C7 + _C4)).y), float((5.00000000E-01*(_C7 + _C4)).z)); + } else { + if (_c3 == _c7 && _c8 == _c7 && _c6 != _c4 && _c7 != _c0) { + _p00 = vec3(float((5.00000000E-01*(_C7 + _C4)).x), float((5.00000000E-01*(_C7 + _C4)).y), float((5.00000000E-01*(_C7 + _C4)).z)); + } else { + _p00 = vec3(float(_C4.x), float(_C4.y), float(_C4.z)); + } + } + if (_fp.x < 5.00000000E-01) { + if (_fp.y < 5.00000000E-01) { + _p10 = _p00; + } + } else { + if (_fp.y < 5.00000000E-01) { + _p10 = _p01; + } else { + _p10 = _p11; + } + } + _OUT._color1 = vec4(_p10.x, _p10.y, _p10.z, 1.00000000E+00); + gl_FragColor = _OUT._color1; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xSaL/2xSaL.glsl b/ios/Assets/shaders_glsl/xSaL/2xSaL.glsl new file mode 100644 index 0000000000..848bc0e2ac --- /dev/null +++ b/ios/Assets/shaders_glsl/xSaL/2xSaL.glsl @@ -0,0 +1,156 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec2 _DR; +varying vec2 _DL; +varying vec2 _UR; +varying vec2 _UL; +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct deltas { + vec2 _UL; + vec2 _UR; + vec2 _DL; + vec2 _DR; +}; +vec4 _oPosition1; +uniform mat4 MVPMatrix; +vec4 _r0002; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _otexCoord; + _r0002.x = dot(MVPMatrix_[0], VertexCoord); + _r0002.y = dot(MVPMatrix_[1], VertexCoord); + _r0002.z = dot(MVPMatrix_[2], VertexCoord); + _r0002.w = dot(MVPMatrix_[3], VertexCoord); + _oPosition1 = _r0002; + _otexCoord = TexCoord.xy; + gl_Position = _r0002; + TEX0.xy = TexCoord.xy; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec2 _DR; +varying vec2 _DL; +varying vec2 _UR; +varying vec2 _UL; +varying float _frame_rotation; +varying vec4 _color; +struct output_dummy { + vec4 _color; +}; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct deltas { + vec2 _UL; + vec2 _UR; + vec2 _DL; + vec2 _DR; +}; +float _TMP9; +vec3 _TMP8; +float _TMP7; +vec3 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +float _TMP1; +float _TMP0; +input_dummy _IN1; +uniform sampler2D Texture; +vec3 _a0023; +vec3 _a0027; +varying vec4 TEX0; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + float _dx; + float _dy; + float _m1; + float _m2; + output_dummy _OUT; + vec3 _TMP12; + deltas _TMP13; + _TMP0 = 1.00000000E+00/TextureSize.x; + _dx = _TMP0*2.50000000E-01; + _TMP1 = 1.00000000E+00/TextureSize.y; + _dy = _TMP1*2.50000000E-01; + _TMP13._UL = TEX0.xy + vec2(-_dx, -_dy); + _TMP13._UR = TEX0.xy + vec2(_dx, -_dy); + _TMP13._DL = TEX0.xy + vec2(-_dx, _dy); + _TMP13._DR = TEX0.xy + vec2(_dx, _dy); + _TMP2 = texture2D(Texture, _TMP13._UL); + _TMP3 = texture2D(Texture, _TMP13._UR); + _TMP4 = texture2D(Texture, _TMP13._DL); + _TMP5 = texture2D(Texture, _TMP13._DR); + _a0023 = _TMP2.xyz - _TMP5.xyz; + _TMP6 = abs(_a0023); + _TMP7 = dot(_TMP6, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _m1 = _TMP7 + 1.00000005E-03; + _a0027 = _TMP4.xyz - _TMP3.xyz; + _TMP8 = abs(_a0027); + _TMP9 = dot(_TMP8, vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _m2 = _TMP9 + 1.00000005E-03; + _TMP12 = (_m1*(_TMP4.xyz + _TMP3.xyz) + _m2*(_TMP5.xyz + _TMP2.xyz))/(2.00000000E+00*(_m1 + _m2)); + _OUT._color = vec4(_TMP12.x, _TMP12.y, _TMP12.z, 1.00000000E+00); + gl_FragColor = _OUT._color; + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1152x672.glsl b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1152x672.glsl new file mode 100644 index 0000000000..5160cafdaf --- /dev/null +++ b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1152x672.glsl @@ -0,0 +1,311 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +vec4 _r0018; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _TMP16; + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.w = float(_TMP1); + _TMP16._t1 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -8.67843628E-04, -1.48773193E-03, 8.67843628E-04, -1.48773193E-03); + _TMP16._t2 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 8.67843628E-04, 1.48773193E-03, -8.67843628E-04, 1.48773193E-03); + _TMP16._t3 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -4.33921814E-04, -7.43865967E-04, 4.33921814E-04, -7.43865967E-04); + _TMP16._t4 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 4.33921814E-04, 7.43865967E-04, -4.33921814E-04, 7.43865967E-04); + _TMP16._t5 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -8.67843628E-04, 0.00000000E+00, 8.67843628E-04, 0.00000000E+00); + _TMP16._t6 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 0.00000000E+00, -1.48773193E-03, 0.00000000E+00, 1.48773193E-03); + _ret_0._position1 = _r0018; + _ret_0._texCoord = TexCoord.xy; + _ret_0._t1 = _TMP16._t1; + _ret_0._t2 = _TMP16._t2; + _ret_0._t3 = _TMP16._t3; + _ret_0._t4 = _TMP16._t4; + _ret_0._t5 = _TMP16._t5; + _ret_0._t6 = _TMP16._t6; + gl_Position = vec4(float(_r0018.x), float(_r0018.y), float(_r0018.z), float(_r0018.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _TMP16._t1; + TEX2 = _TMP16._t2; + TEX3 = _TMP16._t3; + TEX4 = _TMP16._t4; + TEX5 = _TMP16._t5; + TEX6 = _TMP16._t6; + return; + TEX0.xy = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t11; + vec4 _t21; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +vec4 _ret_0; +float _TMP24; +vec3 _TMP23; +float _TMP26; +vec3 _TMP25; +float _TMP22; +vec3 _TMP21; +float _TMP20; +vec3 _TMP19; +float _TMP18; +vec3 _TMP17; +float _TMP16; +vec3 _TMP15; +float _TMP14; +vec3 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0032; +vec2 _c0034; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec3 _a0058; +vec3 _a0062; +vec3 _a0066; +vec3 _a0070; +vec3 _a0074; +vec3 _a0078; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c11; + vec3 _c00; + vec3 _c20; + vec3 _c22; + vec3 _c02; + vec3 _s00; + vec3 _s20; + vec3 _s22; + vec3 _s02; + vec3 _c01; + vec3 _c21; + vec3 _c10; + vec3 _c12; + float _d1; + float _d2; + float _hl; + float _vl; + float _m1; + float _m2; + vec3 _t1; + vec3 _t2; + vec3 _TMP30; + _c0032 = vec2(float(TEX0.x), float(TEX0.y)); + _TMP0 = texture2D(Texture, _c0032); + _c11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0034 = vec2(float(TEX1.x), float(TEX1.y)); + _TMP1 = texture2D(Texture, _c0034); + _c00 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0036 = vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0036); + _c20 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0038 = vec2(float(TEX2.x), float(TEX2.y)); + _TMP3 = texture2D(Texture, _c0038); + _c22 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0040 = vec2(float(TEX2.z), float(TEX2.w)); + _TMP4 = texture2D(Texture, _c0040); + _c02 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0042 = vec2(float(TEX3.x), float(TEX3.y)); + _TMP5 = texture2D(Texture, _c0042); + _s00 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0044 = vec2(float(TEX3.z), float(TEX3.w)); + _TMP6 = texture2D(Texture, _c0044); + _s20 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0046 = vec2(float(TEX4.x), float(TEX4.y)); + _TMP7 = texture2D(Texture, _c0046); + _s22 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0048 = vec2(float(TEX4.z), float(TEX4.w)); + _TMP8 = texture2D(Texture, _c0048); + _s02 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0050 = vec2(float(TEX5.x), float(TEX5.y)); + _TMP9 = texture2D(Texture, _c0050); + _c01 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0052 = vec2(float(TEX5.z), float(TEX5.w)); + _TMP10 = texture2D(Texture, _c0052); + _c21 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0054 = vec2(float(TEX6.x), float(TEX6.y)); + _TMP11 = texture2D(Texture, _c0054); + _c10 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0056 = vec2(float(TEX6.z), float(TEX6.w)); + _TMP12 = texture2D(Texture, _c0056); + _c12 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _a0058 = _c00 - _c22; + _TMP25 = abs(vec3(float(_a0058.x), float(_a0058.y), float(_a0058.z))); + _TMP13 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP14 = float(_TMP26); + _d1 = _TMP14 + 1.00016594E-04; + _a0062 = _c20 - _c02; + _TMP25 = abs(vec3(float(_a0062.x), float(_a0062.y), float(_a0062.z))); + _TMP15 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP16 = float(_TMP26); + _d2 = _TMP16 + 1.00016594E-04; + _a0066 = _c01 - _c21; + _TMP25 = abs(vec3(float(_a0066.x), float(_a0066.y), float(_a0066.z))); + _TMP17 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP18 = float(_TMP26); + _hl = _TMP18 + 1.00016594E-04; + _a0070 = _c10 - _c12; + _TMP25 = abs(vec3(float(_a0070.x), float(_a0070.y), float(_a0070.z))); + _TMP19 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP20 = float(_TMP26); + _vl = _TMP20 + 1.00016594E-04; + _a0074 = _s00 - _s22; + _TMP25 = abs(vec3(float(_a0074.x), float(_a0074.y), float(_a0074.z))); + _TMP21 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP22 = float(_TMP26); + _m1 = _TMP22 + 1.00040436E-03; + _a0078 = _s02 - _s20; + _TMP25 = abs(vec3(float(_a0078.x), float(_a0078.y), float(_a0078.z))); + _TMP23 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP24 = float(_TMP26); + _m2 = _TMP24 + 1.00040436E-03; + _t1 = (_hl*(_c10 + _c12) + _vl*(_c01 + _c21) + (_hl + _vl)*_c11)/(3.00000000E+00*(_hl + _vl)); + _t2 = (_d1*(_c20 + _c02) + _d2*(_c00 + _c22) + (_d1 + _d2)*_c11)/(3.00000000E+00*(_d1 + _d2)); + _TMP30 = 2.50000000E-01*(_t1 + _t2 + (_m2*(_s00 + _s22) + _m1*(_s02 + _s20))/(_m1 + _m2)); + _ret_0 = vec4(_TMP30.x, _TMP30.y, _TMP30.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1344x752.glsl b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1344x752.glsl new file mode 100644 index 0000000000..97cceaaa1d --- /dev/null +++ b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1344x752.glsl @@ -0,0 +1,311 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +vec4 _r0018; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _TMP16; + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.w = float(_TMP1); + _TMP16._t1 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -7.43865967E-04, -1.32942200E-03, 7.43865967E-04, -1.32942200E-03); + _TMP16._t2 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 7.43865967E-04, 1.32942200E-03, -7.43865967E-04, 1.32942200E-03); + _TMP16._t3 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -3.71932983E-04, -6.64710999E-04, 3.71932983E-04, -6.64710999E-04); + _TMP16._t4 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 3.71932983E-04, 6.64710999E-04, -3.71932983E-04, 6.64710999E-04); + _TMP16._t5 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -7.43865967E-04, 0.00000000E+00, 7.43865967E-04, 0.00000000E+00); + _TMP16._t6 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 0.00000000E+00, -1.32942200E-03, 0.00000000E+00, 1.32942200E-03); + _ret_0._position1 = _r0018; + _ret_0._texCoord = TexCoord.xy; + _ret_0._t1 = _TMP16._t1; + _ret_0._t2 = _TMP16._t2; + _ret_0._t3 = _TMP16._t3; + _ret_0._t4 = _TMP16._t4; + _ret_0._t5 = _TMP16._t5; + _ret_0._t6 = _TMP16._t6; + gl_Position = vec4(float(_r0018.x), float(_r0018.y), float(_r0018.z), float(_r0018.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _TMP16._t1; + TEX2 = _TMP16._t2; + TEX3 = _TMP16._t3; + TEX4 = _TMP16._t4; + TEX5 = _TMP16._t5; + TEX6 = _TMP16._t6; + return; + TEX0.xy = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t11; + vec4 _t21; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +vec4 _ret_0; +float _TMP24; +vec3 _TMP23; +float _TMP26; +vec3 _TMP25; +float _TMP22; +vec3 _TMP21; +float _TMP20; +vec3 _TMP19; +float _TMP18; +vec3 _TMP17; +float _TMP16; +vec3 _TMP15; +float _TMP14; +vec3 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0032; +vec2 _c0034; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec3 _a0058; +vec3 _a0062; +vec3 _a0066; +vec3 _a0070; +vec3 _a0074; +vec3 _a0078; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c11; + vec3 _c00; + vec3 _c20; + vec3 _c22; + vec3 _c02; + vec3 _s00; + vec3 _s20; + vec3 _s22; + vec3 _s02; + vec3 _c01; + vec3 _c21; + vec3 _c10; + vec3 _c12; + float _d1; + float _d2; + float _hl; + float _vl; + float _m1; + float _m2; + vec3 _t1; + vec3 _t2; + vec3 _TMP30; + _c0032 = vec2(float(TEX0.x), float(TEX0.y)); + _TMP0 = texture2D(Texture, _c0032); + _c11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0034 = vec2(float(TEX1.x), float(TEX1.y)); + _TMP1 = texture2D(Texture, _c0034); + _c00 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0036 = vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0036); + _c20 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0038 = vec2(float(TEX2.x), float(TEX2.y)); + _TMP3 = texture2D(Texture, _c0038); + _c22 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0040 = vec2(float(TEX2.z), float(TEX2.w)); + _TMP4 = texture2D(Texture, _c0040); + _c02 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0042 = vec2(float(TEX3.x), float(TEX3.y)); + _TMP5 = texture2D(Texture, _c0042); + _s00 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0044 = vec2(float(TEX3.z), float(TEX3.w)); + _TMP6 = texture2D(Texture, _c0044); + _s20 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0046 = vec2(float(TEX4.x), float(TEX4.y)); + _TMP7 = texture2D(Texture, _c0046); + _s22 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0048 = vec2(float(TEX4.z), float(TEX4.w)); + _TMP8 = texture2D(Texture, _c0048); + _s02 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0050 = vec2(float(TEX5.x), float(TEX5.y)); + _TMP9 = texture2D(Texture, _c0050); + _c01 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0052 = vec2(float(TEX5.z), float(TEX5.w)); + _TMP10 = texture2D(Texture, _c0052); + _c21 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0054 = vec2(float(TEX6.x), float(TEX6.y)); + _TMP11 = texture2D(Texture, _c0054); + _c10 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0056 = vec2(float(TEX6.z), float(TEX6.w)); + _TMP12 = texture2D(Texture, _c0056); + _c12 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _a0058 = _c00 - _c22; + _TMP25 = abs(vec3(float(_a0058.x), float(_a0058.y), float(_a0058.z))); + _TMP13 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP14 = float(_TMP26); + _d1 = _TMP14 + 1.00016594E-04; + _a0062 = _c20 - _c02; + _TMP25 = abs(vec3(float(_a0062.x), float(_a0062.y), float(_a0062.z))); + _TMP15 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP16 = float(_TMP26); + _d2 = _TMP16 + 1.00016594E-04; + _a0066 = _c01 - _c21; + _TMP25 = abs(vec3(float(_a0066.x), float(_a0066.y), float(_a0066.z))); + _TMP17 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP18 = float(_TMP26); + _hl = _TMP18 + 1.00016594E-04; + _a0070 = _c10 - _c12; + _TMP25 = abs(vec3(float(_a0070.x), float(_a0070.y), float(_a0070.z))); + _TMP19 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP20 = float(_TMP26); + _vl = _TMP20 + 1.00016594E-04; + _a0074 = _s00 - _s22; + _TMP25 = abs(vec3(float(_a0074.x), float(_a0074.y), float(_a0074.z))); + _TMP21 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP22 = float(_TMP26); + _m1 = _TMP22 + 1.00040436E-03; + _a0078 = _s02 - _s20; + _TMP25 = abs(vec3(float(_a0078.x), float(_a0078.y), float(_a0078.z))); + _TMP23 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP24 = float(_TMP26); + _m2 = _TMP24 + 1.00040436E-03; + _t1 = (_hl*(_c10 + _c12) + _vl*(_c01 + _c21) + (_hl + _vl)*_c11)/(3.00000000E+00*(_hl + _vl)); + _t2 = (_d1*(_c20 + _c02) + _d2*(_c00 + _c22) + (_d1 + _d2)*_c11)/(3.00000000E+00*(_d1 + _d2)); + _TMP30 = 2.50000000E-01*(_t1 + _t2 + (_m2*(_s00 + _s22) + _m1*(_s02 + _s20))/(_m1 + _m2)); + _ret_0 = vec4(_TMP30.x, _TMP30.y, _TMP30.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1440x792.glsl b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1440x792.glsl new file mode 100644 index 0000000000..8918a4a7c5 --- /dev/null +++ b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1440x792.glsl @@ -0,0 +1,311 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +vec4 _r0018; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _TMP16; + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.w = float(_TMP1); + _TMP16._t1 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -6.94274902E-04, -1.26266479E-03, 6.94274902E-04, -1.26266479E-03); + _TMP16._t2 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 6.94274902E-04, 1.26266479E-03, -6.94274902E-04, 1.26266479E-03); + _TMP16._t3 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -3.47137451E-04, -6.31332397E-04, 3.47137451E-04, -6.31332397E-04); + _TMP16._t4 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 3.47137451E-04, 6.31332397E-04, -3.47137451E-04, 6.31332397E-04); + _TMP16._t5 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -6.94274902E-04, 0.00000000E+00, 6.94274902E-04, 0.00000000E+00); + _TMP16._t6 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 0.00000000E+00, -1.26266479E-03, 0.00000000E+00, 1.26266479E-03); + _ret_0._position1 = _r0018; + _ret_0._texCoord = TexCoord.xy; + _ret_0._t1 = _TMP16._t1; + _ret_0._t2 = _TMP16._t2; + _ret_0._t3 = _TMP16._t3; + _ret_0._t4 = _TMP16._t4; + _ret_0._t5 = _TMP16._t5; + _ret_0._t6 = _TMP16._t6; + gl_Position = vec4(float(_r0018.x), float(_r0018.y), float(_r0018.z), float(_r0018.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _TMP16._t1; + TEX2 = _TMP16._t2; + TEX3 = _TMP16._t3; + TEX4 = _TMP16._t4; + TEX5 = _TMP16._t5; + TEX6 = _TMP16._t6; + return; + TEX0.xy = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t11; + vec4 _t21; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +vec4 _ret_0; +float _TMP24; +vec3 _TMP23; +float _TMP26; +vec3 _TMP25; +float _TMP22; +vec3 _TMP21; +float _TMP20; +vec3 _TMP19; +float _TMP18; +vec3 _TMP17; +float _TMP16; +vec3 _TMP15; +float _TMP14; +vec3 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0032; +vec2 _c0034; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec3 _a0058; +vec3 _a0062; +vec3 _a0066; +vec3 _a0070; +vec3 _a0074; +vec3 _a0078; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c11; + vec3 _c00; + vec3 _c20; + vec3 _c22; + vec3 _c02; + vec3 _s00; + vec3 _s20; + vec3 _s22; + vec3 _s02; + vec3 _c01; + vec3 _c21; + vec3 _c10; + vec3 _c12; + float _d1; + float _d2; + float _hl; + float _vl; + float _m1; + float _m2; + vec3 _t1; + vec3 _t2; + vec3 _TMP30; + _c0032 = vec2(float(TEX0.x), float(TEX0.y)); + _TMP0 = texture2D(Texture, _c0032); + _c11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0034 = vec2(float(TEX1.x), float(TEX1.y)); + _TMP1 = texture2D(Texture, _c0034); + _c00 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0036 = vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0036); + _c20 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0038 = vec2(float(TEX2.x), float(TEX2.y)); + _TMP3 = texture2D(Texture, _c0038); + _c22 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0040 = vec2(float(TEX2.z), float(TEX2.w)); + _TMP4 = texture2D(Texture, _c0040); + _c02 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0042 = vec2(float(TEX3.x), float(TEX3.y)); + _TMP5 = texture2D(Texture, _c0042); + _s00 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0044 = vec2(float(TEX3.z), float(TEX3.w)); + _TMP6 = texture2D(Texture, _c0044); + _s20 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0046 = vec2(float(TEX4.x), float(TEX4.y)); + _TMP7 = texture2D(Texture, _c0046); + _s22 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0048 = vec2(float(TEX4.z), float(TEX4.w)); + _TMP8 = texture2D(Texture, _c0048); + _s02 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0050 = vec2(float(TEX5.x), float(TEX5.y)); + _TMP9 = texture2D(Texture, _c0050); + _c01 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0052 = vec2(float(TEX5.z), float(TEX5.w)); + _TMP10 = texture2D(Texture, _c0052); + _c21 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0054 = vec2(float(TEX6.x), float(TEX6.y)); + _TMP11 = texture2D(Texture, _c0054); + _c10 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0056 = vec2(float(TEX6.z), float(TEX6.w)); + _TMP12 = texture2D(Texture, _c0056); + _c12 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _a0058 = _c00 - _c22; + _TMP25 = abs(vec3(float(_a0058.x), float(_a0058.y), float(_a0058.z))); + _TMP13 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP14 = float(_TMP26); + _d1 = _TMP14 + 1.00016594E-04; + _a0062 = _c20 - _c02; + _TMP25 = abs(vec3(float(_a0062.x), float(_a0062.y), float(_a0062.z))); + _TMP15 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP16 = float(_TMP26); + _d2 = _TMP16 + 1.00016594E-04; + _a0066 = _c01 - _c21; + _TMP25 = abs(vec3(float(_a0066.x), float(_a0066.y), float(_a0066.z))); + _TMP17 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP18 = float(_TMP26); + _hl = _TMP18 + 1.00016594E-04; + _a0070 = _c10 - _c12; + _TMP25 = abs(vec3(float(_a0070.x), float(_a0070.y), float(_a0070.z))); + _TMP19 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP20 = float(_TMP26); + _vl = _TMP20 + 1.00016594E-04; + _a0074 = _s00 - _s22; + _TMP25 = abs(vec3(float(_a0074.x), float(_a0074.y), float(_a0074.z))); + _TMP21 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP22 = float(_TMP26); + _m1 = _TMP22 + 1.00040436E-03; + _a0078 = _s02 - _s20; + _TMP25 = abs(vec3(float(_a0078.x), float(_a0078.y), float(_a0078.z))); + _TMP23 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP24 = float(_TMP26); + _m2 = _TMP24 + 1.00040436E-03; + _t1 = (_hl*(_c10 + _c12) + _vl*(_c01 + _c21) + (_hl + _vl)*_c11)/(3.00000000E+00*(_hl + _vl)); + _t2 = (_d1*(_c20 + _c02) + _d2*(_c00 + _c22) + (_d1 + _d2)*_c11)/(3.00000000E+00*(_d1 + _d2)); + _TMP30 = 2.50000000E-01*(_t1 + _t2 + (_m2*(_s00 + _s22) + _m1*(_s02 + _s20))/(_m1 + _m2)); + _ret_0 = vec4(_TMP30.x, _TMP30.y, _TMP30.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1536x832.glsl b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1536x832.glsl new file mode 100644 index 0000000000..41d68d476a --- /dev/null +++ b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-1536x832.glsl @@ -0,0 +1,311 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +vec4 _r0018; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _TMP16; + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.w = float(_TMP1); + _TMP16._t1 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -6.50882721E-04, -1.20162964E-03, 6.50882721E-04, -1.20162964E-03); + _TMP16._t2 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 6.50882721E-04, 1.20162964E-03, -6.50882721E-04, 1.20162964E-03); + _TMP16._t3 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -3.25441360E-04, -6.00814819E-04, 3.25441360E-04, -6.00814819E-04); + _TMP16._t4 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 3.25441360E-04, 6.00814819E-04, -3.25441360E-04, 6.00814819E-04); + _TMP16._t5 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -6.50882721E-04, 0.00000000E+00, 6.50882721E-04, 0.00000000E+00); + _TMP16._t6 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 0.00000000E+00, -1.20162964E-03, 0.00000000E+00, 1.20162964E-03); + _ret_0._position1 = _r0018; + _ret_0._texCoord = TexCoord.xy; + _ret_0._t1 = _TMP16._t1; + _ret_0._t2 = _TMP16._t2; + _ret_0._t3 = _TMP16._t3; + _ret_0._t4 = _TMP16._t4; + _ret_0._t5 = _TMP16._t5; + _ret_0._t6 = _TMP16._t6; + gl_Position = vec4(float(_r0018.x), float(_r0018.y), float(_r0018.z), float(_r0018.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _TMP16._t1; + TEX2 = _TMP16._t2; + TEX3 = _TMP16._t3; + TEX4 = _TMP16._t4; + TEX5 = _TMP16._t5; + TEX6 = _TMP16._t6; + return; + TEX0.xy = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t11; + vec4 _t21; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +vec4 _ret_0; +float _TMP24; +vec3 _TMP23; +float _TMP26; +vec3 _TMP25; +float _TMP22; +vec3 _TMP21; +float _TMP20; +vec3 _TMP19; +float _TMP18; +vec3 _TMP17; +float _TMP16; +vec3 _TMP15; +float _TMP14; +vec3 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0032; +vec2 _c0034; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec3 _a0058; +vec3 _a0062; +vec3 _a0066; +vec3 _a0070; +vec3 _a0074; +vec3 _a0078; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c11; + vec3 _c00; + vec3 _c20; + vec3 _c22; + vec3 _c02; + vec3 _s00; + vec3 _s20; + vec3 _s22; + vec3 _s02; + vec3 _c01; + vec3 _c21; + vec3 _c10; + vec3 _c12; + float _d1; + float _d2; + float _hl; + float _vl; + float _m1; + float _m2; + vec3 _t1; + vec3 _t2; + vec3 _TMP30; + _c0032 = vec2(float(TEX0.x), float(TEX0.y)); + _TMP0 = texture2D(Texture, _c0032); + _c11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0034 = vec2(float(TEX1.x), float(TEX1.y)); + _TMP1 = texture2D(Texture, _c0034); + _c00 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0036 = vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0036); + _c20 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0038 = vec2(float(TEX2.x), float(TEX2.y)); + _TMP3 = texture2D(Texture, _c0038); + _c22 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0040 = vec2(float(TEX2.z), float(TEX2.w)); + _TMP4 = texture2D(Texture, _c0040); + _c02 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0042 = vec2(float(TEX3.x), float(TEX3.y)); + _TMP5 = texture2D(Texture, _c0042); + _s00 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0044 = vec2(float(TEX3.z), float(TEX3.w)); + _TMP6 = texture2D(Texture, _c0044); + _s20 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0046 = vec2(float(TEX4.x), float(TEX4.y)); + _TMP7 = texture2D(Texture, _c0046); + _s22 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0048 = vec2(float(TEX4.z), float(TEX4.w)); + _TMP8 = texture2D(Texture, _c0048); + _s02 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0050 = vec2(float(TEX5.x), float(TEX5.y)); + _TMP9 = texture2D(Texture, _c0050); + _c01 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0052 = vec2(float(TEX5.z), float(TEX5.w)); + _TMP10 = texture2D(Texture, _c0052); + _c21 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0054 = vec2(float(TEX6.x), float(TEX6.y)); + _TMP11 = texture2D(Texture, _c0054); + _c10 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0056 = vec2(float(TEX6.z), float(TEX6.w)); + _TMP12 = texture2D(Texture, _c0056); + _c12 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _a0058 = _c00 - _c22; + _TMP25 = abs(vec3(float(_a0058.x), float(_a0058.y), float(_a0058.z))); + _TMP13 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP14 = float(_TMP26); + _d1 = _TMP14 + 1.00016594E-04; + _a0062 = _c20 - _c02; + _TMP25 = abs(vec3(float(_a0062.x), float(_a0062.y), float(_a0062.z))); + _TMP15 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP16 = float(_TMP26); + _d2 = _TMP16 + 1.00016594E-04; + _a0066 = _c01 - _c21; + _TMP25 = abs(vec3(float(_a0066.x), float(_a0066.y), float(_a0066.z))); + _TMP17 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP18 = float(_TMP26); + _hl = _TMP18 + 1.00016594E-04; + _a0070 = _c10 - _c12; + _TMP25 = abs(vec3(float(_a0070.x), float(_a0070.y), float(_a0070.z))); + _TMP19 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP20 = float(_TMP26); + _vl = _TMP20 + 1.00016594E-04; + _a0074 = _s00 - _s22; + _TMP25 = abs(vec3(float(_a0074.x), float(_a0074.y), float(_a0074.z))); + _TMP21 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP22 = float(_TMP26); + _m1 = _TMP22 + 1.00040436E-03; + _a0078 = _s02 - _s20; + _TMP25 = abs(vec3(float(_a0078.x), float(_a0078.y), float(_a0078.z))); + _TMP23 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP24 = float(_TMP26); + _m2 = _TMP24 + 1.00040436E-03; + _t1 = (_hl*(_c10 + _c12) + _vl*(_c01 + _c21) + (_hl + _vl)*_c11)/(3.00000000E+00*(_hl + _vl)); + _t2 = (_d1*(_c20 + _c02) + _d2*(_c00 + _c22) + (_d1 + _d2)*_c11)/(3.00000000E+00*(_d1 + _d2)); + _TMP30 = 2.50000000E-01*(_t1 + _t2 + (_m2*(_s00 + _s22) + _m1*(_s02 + _s20))/(_m1 + _m2)); + _ret_0 = vec4(_TMP30.x, _TMP30.y, _TMP30.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-768.glsl b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-768.glsl new file mode 100644 index 0000000000..f6f66c79b3 --- /dev/null +++ b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-768.glsl @@ -0,0 +1,311 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +vec4 _r0018; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _TMP16; + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.w = float(_TMP1); + _TMP16._t1 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -1.30176544E-03, -2.08282471E-03, 1.30176544E-03, -2.08282471E-03); + _TMP16._t2 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 1.30176544E-03, 2.08282471E-03, -1.30176544E-03, 2.08282471E-03); + _TMP16._t3 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -6.50882721E-04, -1.04141235E-03, 6.50882721E-04, -1.04141235E-03); + _TMP16._t4 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 6.50882721E-04, 1.04141235E-03, -6.50882721E-04, 1.04141235E-03); + _TMP16._t5 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -1.30176544E-03, 0.00000000E+00, 1.30176544E-03, 0.00000000E+00); + _TMP16._t6 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 0.00000000E+00, -2.08282471E-03, 0.00000000E+00, 2.08282471E-03); + _ret_0._position1 = _r0018; + _ret_0._texCoord = TexCoord.xy; + _ret_0._t1 = _TMP16._t1; + _ret_0._t2 = _TMP16._t2; + _ret_0._t3 = _TMP16._t3; + _ret_0._t4 = _TMP16._t4; + _ret_0._t5 = _TMP16._t5; + _ret_0._t6 = _TMP16._t6; + gl_Position = vec4(float(_r0018.x), float(_r0018.y), float(_r0018.z), float(_r0018.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _TMP16._t1; + TEX2 = _TMP16._t2; + TEX3 = _TMP16._t3; + TEX4 = _TMP16._t4; + TEX5 = _TMP16._t5; + TEX6 = _TMP16._t6; + return; + TEX0.xy = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t11; + vec4 _t21; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +vec4 _ret_0; +float _TMP24; +vec3 _TMP23; +float _TMP26; +vec3 _TMP25; +float _TMP22; +vec3 _TMP21; +float _TMP20; +vec3 _TMP19; +float _TMP18; +vec3 _TMP17; +float _TMP16; +vec3 _TMP15; +float _TMP14; +vec3 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0032; +vec2 _c0034; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec3 _a0058; +vec3 _a0062; +vec3 _a0066; +vec3 _a0070; +vec3 _a0074; +vec3 _a0078; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c11; + vec3 _c00; + vec3 _c20; + vec3 _c22; + vec3 _c02; + vec3 _s00; + vec3 _s20; + vec3 _s22; + vec3 _s02; + vec3 _c01; + vec3 _c21; + vec3 _c10; + vec3 _c12; + float _d1; + float _d2; + float _hl; + float _vl; + float _m1; + float _m2; + vec3 _t1; + vec3 _t2; + vec3 _TMP30; + _c0032 = vec2(float(TEX0.x), float(TEX0.y)); + _TMP0 = texture2D(Texture, _c0032); + _c11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0034 = vec2(float(TEX1.x), float(TEX1.y)); + _TMP1 = texture2D(Texture, _c0034); + _c00 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0036 = vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0036); + _c20 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0038 = vec2(float(TEX2.x), float(TEX2.y)); + _TMP3 = texture2D(Texture, _c0038); + _c22 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0040 = vec2(float(TEX2.z), float(TEX2.w)); + _TMP4 = texture2D(Texture, _c0040); + _c02 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0042 = vec2(float(TEX3.x), float(TEX3.y)); + _TMP5 = texture2D(Texture, _c0042); + _s00 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0044 = vec2(float(TEX3.z), float(TEX3.w)); + _TMP6 = texture2D(Texture, _c0044); + _s20 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0046 = vec2(float(TEX4.x), float(TEX4.y)); + _TMP7 = texture2D(Texture, _c0046); + _s22 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0048 = vec2(float(TEX4.z), float(TEX4.w)); + _TMP8 = texture2D(Texture, _c0048); + _s02 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0050 = vec2(float(TEX5.x), float(TEX5.y)); + _TMP9 = texture2D(Texture, _c0050); + _c01 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0052 = vec2(float(TEX5.z), float(TEX5.w)); + _TMP10 = texture2D(Texture, _c0052); + _c21 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0054 = vec2(float(TEX6.x), float(TEX6.y)); + _TMP11 = texture2D(Texture, _c0054); + _c10 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0056 = vec2(float(TEX6.z), float(TEX6.w)); + _TMP12 = texture2D(Texture, _c0056); + _c12 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _a0058 = _c00 - _c22; + _TMP25 = abs(vec3(float(_a0058.x), float(_a0058.y), float(_a0058.z))); + _TMP13 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP14 = float(_TMP26); + _d1 = _TMP14 + 1.00016594E-04; + _a0062 = _c20 - _c02; + _TMP25 = abs(vec3(float(_a0062.x), float(_a0062.y), float(_a0062.z))); + _TMP15 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP16 = float(_TMP26); + _d2 = _TMP16 + 1.00016594E-04; + _a0066 = _c01 - _c21; + _TMP25 = abs(vec3(float(_a0066.x), float(_a0066.y), float(_a0066.z))); + _TMP17 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP18 = float(_TMP26); + _hl = _TMP18 + 1.00016594E-04; + _a0070 = _c10 - _c12; + _TMP25 = abs(vec3(float(_a0070.x), float(_a0070.y), float(_a0070.z))); + _TMP19 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP20 = float(_TMP26); + _vl = _TMP20 + 1.00016594E-04; + _a0074 = _s00 - _s22; + _TMP25 = abs(vec3(float(_a0074.x), float(_a0074.y), float(_a0074.z))); + _TMP21 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP22 = float(_TMP26); + _m1 = _TMP22 + 1.00040436E-03; + _a0078 = _s02 - _s20; + _TMP25 = abs(vec3(float(_a0078.x), float(_a0078.y), float(_a0078.z))); + _TMP23 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP24 = float(_TMP26); + _m2 = _TMP24 + 1.00040436E-03; + _t1 = (_hl*(_c10 + _c12) + _vl*(_c01 + _c21) + (_hl + _vl)*_c11)/(3.00000000E+00*(_hl + _vl)); + _t2 = (_d1*(_c20 + _c02) + _d2*(_c00 + _c22) + (_d1 + _d2)*_c11)/(3.00000000E+00*(_d1 + _d2)); + _TMP30 = 2.50000000E-01*(_t1 + _t2 + (_m2*(_s00 + _s22) + _m1*(_s02 + _s20))/(_m1 + _m2)); + _ret_0 = vec4(_TMP30.x, _TMP30.y, _TMP30.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-960x592.glsl b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-960x592.glsl new file mode 100644 index 0000000000..8558e69dc1 --- /dev/null +++ b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-960x592.glsl @@ -0,0 +1,311 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +vec4 _r0018; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _TMP16; + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.w = float(_TMP1); + _TMP16._t1 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -1.04141235E-03, -1.68895721E-03, 1.04141235E-03, -1.68895721E-03); + _TMP16._t2 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 1.04141235E-03, 1.68895721E-03, -1.04141235E-03, 1.68895721E-03); + _TMP16._t3 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -5.20706177E-04, -8.44478607E-04, 5.20706177E-04, -8.44478607E-04); + _TMP16._t4 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 5.20706177E-04, 8.44478607E-04, -5.20706177E-04, 8.44478607E-04); + _TMP16._t5 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -1.04141235E-03, 0.00000000E+00, 1.04141235E-03, 0.00000000E+00); + _TMP16._t6 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 0.00000000E+00, -1.68895721E-03, 0.00000000E+00, 1.68895721E-03); + _ret_0._position1 = _r0018; + _ret_0._texCoord = TexCoord.xy; + _ret_0._t1 = _TMP16._t1; + _ret_0._t2 = _TMP16._t2; + _ret_0._t3 = _TMP16._t3; + _ret_0._t4 = _TMP16._t4; + _ret_0._t5 = _TMP16._t5; + _ret_0._t6 = _TMP16._t6; + gl_Position = vec4(float(_r0018.x), float(_r0018.y), float(_r0018.z), float(_r0018.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _TMP16._t1; + TEX2 = _TMP16._t2; + TEX3 = _TMP16._t3; + TEX4 = _TMP16._t4; + TEX5 = _TMP16._t5; + TEX6 = _TMP16._t6; + return; + TEX0.xy = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t11; + vec4 _t21; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +vec4 _ret_0; +float _TMP24; +vec3 _TMP23; +float _TMP26; +vec3 _TMP25; +float _TMP22; +vec3 _TMP21; +float _TMP20; +vec3 _TMP19; +float _TMP18; +vec3 _TMP17; +float _TMP16; +vec3 _TMP15; +float _TMP14; +vec3 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0032; +vec2 _c0034; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec3 _a0058; +vec3 _a0062; +vec3 _a0066; +vec3 _a0070; +vec3 _a0074; +vec3 _a0078; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c11; + vec3 _c00; + vec3 _c20; + vec3 _c22; + vec3 _c02; + vec3 _s00; + vec3 _s20; + vec3 _s22; + vec3 _s02; + vec3 _c01; + vec3 _c21; + vec3 _c10; + vec3 _c12; + float _d1; + float _d2; + float _hl; + float _vl; + float _m1; + float _m2; + vec3 _t1; + vec3 _t2; + vec3 _TMP30; + _c0032 = vec2(float(TEX0.x), float(TEX0.y)); + _TMP0 = texture2D(Texture, _c0032); + _c11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0034 = vec2(float(TEX1.x), float(TEX1.y)); + _TMP1 = texture2D(Texture, _c0034); + _c00 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0036 = vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0036); + _c20 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0038 = vec2(float(TEX2.x), float(TEX2.y)); + _TMP3 = texture2D(Texture, _c0038); + _c22 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0040 = vec2(float(TEX2.z), float(TEX2.w)); + _TMP4 = texture2D(Texture, _c0040); + _c02 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0042 = vec2(float(TEX3.x), float(TEX3.y)); + _TMP5 = texture2D(Texture, _c0042); + _s00 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0044 = vec2(float(TEX3.z), float(TEX3.w)); + _TMP6 = texture2D(Texture, _c0044); + _s20 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0046 = vec2(float(TEX4.x), float(TEX4.y)); + _TMP7 = texture2D(Texture, _c0046); + _s22 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0048 = vec2(float(TEX4.z), float(TEX4.w)); + _TMP8 = texture2D(Texture, _c0048); + _s02 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0050 = vec2(float(TEX5.x), float(TEX5.y)); + _TMP9 = texture2D(Texture, _c0050); + _c01 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0052 = vec2(float(TEX5.z), float(TEX5.w)); + _TMP10 = texture2D(Texture, _c0052); + _c21 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0054 = vec2(float(TEX6.x), float(TEX6.y)); + _TMP11 = texture2D(Texture, _c0054); + _c10 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0056 = vec2(float(TEX6.z), float(TEX6.w)); + _TMP12 = texture2D(Texture, _c0056); + _c12 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _a0058 = _c00 - _c22; + _TMP25 = abs(vec3(float(_a0058.x), float(_a0058.y), float(_a0058.z))); + _TMP13 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP14 = float(_TMP26); + _d1 = _TMP14 + 1.00016594E-04; + _a0062 = _c20 - _c02; + _TMP25 = abs(vec3(float(_a0062.x), float(_a0062.y), float(_a0062.z))); + _TMP15 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP16 = float(_TMP26); + _d2 = _TMP16 + 1.00016594E-04; + _a0066 = _c01 - _c21; + _TMP25 = abs(vec3(float(_a0066.x), float(_a0066.y), float(_a0066.z))); + _TMP17 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP18 = float(_TMP26); + _hl = _TMP18 + 1.00016594E-04; + _a0070 = _c10 - _c12; + _TMP25 = abs(vec3(float(_a0070.x), float(_a0070.y), float(_a0070.z))); + _TMP19 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP20 = float(_TMP26); + _vl = _TMP20 + 1.00016594E-04; + _a0074 = _s00 - _s22; + _TMP25 = abs(vec3(float(_a0074.x), float(_a0074.y), float(_a0074.z))); + _TMP21 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP22 = float(_TMP26); + _m1 = _TMP22 + 1.00040436E-03; + _a0078 = _s02 - _s20; + _TMP25 = abs(vec3(float(_a0078.x), float(_a0078.y), float(_a0078.z))); + _TMP23 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP24 = float(_TMP26); + _m2 = _TMP24 + 1.00040436E-03; + _t1 = (_hl*(_c10 + _c12) + _vl*(_c01 + _c21) + (_hl + _vl)*_c11)/(3.00000000E+00*(_hl + _vl)); + _t2 = (_d1*(_c20 + _c02) + _d2*(_c00 + _c22) + (_d1 + _d2)*_c11)/(3.00000000E+00*(_d1 + _d2)); + _TMP30 = 2.50000000E-01*(_t1 + _t2 + (_m2*(_s00 + _s22) + _m1*(_s02 + _s20))/(_m1 + _m2)); + _ret_0 = vec4(_TMP30.x, _TMP30.y, _TMP30.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-variation-1-1344x752.glsl b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-variation-1-1344x752.glsl new file mode 100644 index 0000000000..f1017abc7e --- /dev/null +++ b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-variation-1-1344x752.glsl @@ -0,0 +1,311 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +vec4 _r0018; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _TMP16; + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.w = float(_TMP1); + _TMP16._t1 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -7.43865967E-04, -1.32942200E-03, 7.43865967E-04, -1.32942200E-03); + _TMP16._t2 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 7.43865967E-04, 1.32942200E-03, -7.43865967E-04, 1.32942200E-03); + _TMP16._t3 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -3.71932983E-04, -6.64710999E-04, 3.71932983E-04, -6.64710999E-04); + _TMP16._t4 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 3.71932983E-04, 6.64710999E-04, -3.71932983E-04, 6.64710999E-04); + _TMP16._t5 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -7.43865967E-04, 0.00000000E+00, 7.43865967E-04, 0.00000000E+00); + _TMP16._t6 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 0.00000000E+00, -1.32942200E-03, 0.00000000E+00, 1.32942200E-03); + _ret_0._position1 = _r0018; + _ret_0._texCoord = TexCoord.xy; + _ret_0._t1 = _TMP16._t1; + _ret_0._t2 = _TMP16._t2; + _ret_0._t3 = _TMP16._t3; + _ret_0._t4 = _TMP16._t4; + _ret_0._t5 = _TMP16._t5; + _ret_0._t6 = _TMP16._t6; + gl_Position = vec4(float(_r0018.x), float(_r0018.y), float(_r0018.z), float(_r0018.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _TMP16._t1; + TEX2 = _TMP16._t2; + TEX3 = _TMP16._t3; + TEX4 = _TMP16._t4; + TEX5 = _TMP16._t5; + TEX6 = _TMP16._t6; + return; + TEX0.xy = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t11; + vec4 _t21; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +vec4 _ret_0; +float _TMP24; +vec3 _TMP23; +float _TMP26; +vec3 _TMP25; +float _TMP22; +vec3 _TMP21; +float _TMP20; +vec3 _TMP19; +float _TMP18; +vec3 _TMP17; +float _TMP16; +vec3 _TMP15; +float _TMP14; +vec3 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0032; +vec2 _c0034; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec3 _a0058; +vec3 _a0062; +vec3 _a0066; +vec3 _a0070; +vec3 _a0074; +vec3 _a0078; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c11; + vec3 _c00; + vec3 _c20; + vec3 _c22; + vec3 _c02; + vec3 _s00; + vec3 _s20; + vec3 _s22; + vec3 _s02; + vec3 _c01; + vec3 _c21; + vec3 _c10; + vec3 _c12; + float _d1; + float _d2; + float _hl; + float _vl; + float _m1; + float _m2; + vec3 _t1; + vec3 _t2; + vec3 _TMP30; + _c0032 = vec2(float(TEX0.x), float(TEX0.y)); + _TMP0 = texture2D(Texture, _c0032); + _c11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0034 = vec2(float(TEX1.x), float(TEX1.y)); + _TMP1 = texture2D(Texture, _c0034); + _c00 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0036 = vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0036); + _c20 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0038 = vec2(float(TEX2.x), float(TEX2.y)); + _TMP3 = texture2D(Texture, _c0038); + _c22 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0040 = vec2(float(TEX2.z), float(TEX2.w)); + _TMP4 = texture2D(Texture, _c0040); + _c02 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0042 = vec2(float(TEX3.x), float(TEX3.y)); + _TMP5 = texture2D(Texture, _c0042); + _s00 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0044 = vec2(float(TEX3.z), float(TEX3.w)); + _TMP6 = texture2D(Texture, _c0044); + _s20 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0046 = vec2(float(TEX4.x), float(TEX4.y)); + _TMP7 = texture2D(Texture, _c0046); + _s22 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0048 = vec2(float(TEX4.z), float(TEX4.w)); + _TMP8 = texture2D(Texture, _c0048); + _s02 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0050 = vec2(float(TEX5.x), float(TEX5.y)); + _TMP9 = texture2D(Texture, _c0050); + _c01 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0052 = vec2(float(TEX5.z), float(TEX5.w)); + _TMP10 = texture2D(Texture, _c0052); + _c21 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0054 = vec2(float(TEX6.x), float(TEX6.y)); + _TMP11 = texture2D(Texture, _c0054); + _c10 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0056 = vec2(float(TEX6.z), float(TEX6.w)); + _TMP12 = texture2D(Texture, _c0056); + _c12 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _a0058 = _c00 - _c22; + _TMP25 = abs(vec3(float(_a0058.x), float(_a0058.y), float(_a0058.z))); + _TMP13 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP14 = float(_TMP26); + _d1 = _TMP14 + 1.00016594E-04; + _a0062 = _c20 - _c02; + _TMP25 = abs(vec3(float(_a0062.x), float(_a0062.y), float(_a0062.z))); + _TMP15 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP16 = float(_TMP26); + _d2 = _TMP16 + 1.00016594E-04; + _a0066 = _c01 - _c21; + _TMP25 = abs(vec3(float(_a0066.x), float(_a0066.y), float(_a0066.z))); + _TMP17 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP18 = float(_TMP26); + _hl = _TMP18 + 1.00016594E-04; + _a0070 = _c10 - _c12; + _TMP25 = abs(vec3(float(_a0070.x), float(_a0070.y), float(_a0070.z))); + _TMP19 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP20 = float(_TMP26); + _vl = _TMP20 + 1.00016594E-04; + _a0074 = _s00 - _s22; + _TMP25 = abs(vec3(float(_a0074.x), float(_a0074.y), float(_a0074.z))); + _TMP21 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP22 = float(_TMP26); + _m1 = _TMP22 + 1.00040436E-03; + _a0078 = _s02 - _s20; + _TMP25 = abs(vec3(float(_a0078.x), float(_a0078.y), float(_a0078.z))); + _TMP23 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP24 = float(_TMP26); + _m2 = _TMP24 + 1.00040436E-03; + _t1 = (_hl*(_c10 + _c12) + _vl*(_c01 + _c21) + (_hl + _vl)*_c11)/(2.00000000E+00*(_hl + _vl)); + _t2 = (_d1*(_c20 + _c02) + _d2*(_c00 + _c22) + (_d1 + _d2)*_c11)/(2.00000000E+00*(_d1 + _d2)); + _TMP30 = 2.50000000E-01*(_t1 + _t2 + (_m2*(_s00 + _s22) + _m1*(_s02 + _s20))/(_m1 + _m2)); + _ret_0 = vec4(_TMP30.x, _TMP30.y, _TMP30.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-variation-1-960x592.glsl b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-variation-1-960x592.glsl new file mode 100644 index 0000000000..6cc4d3e99a --- /dev/null +++ b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-variation-1-960x592.glsl @@ -0,0 +1,311 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +vec4 _r0018; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _TMP16; + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.w = float(_TMP1); + _TMP16._t1 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -1.04141235E-03, -1.68895721E-03, 1.04141235E-03, -1.68895721E-03); + _TMP16._t2 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 1.04141235E-03, 1.68895721E-03, -1.04141235E-03, 1.68895721E-03); + _TMP16._t3 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -5.20706177E-04, -8.44478607E-04, 5.20706177E-04, -8.44478607E-04); + _TMP16._t4 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 5.20706177E-04, 8.44478607E-04, -5.20706177E-04, 8.44478607E-04); + _TMP16._t5 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -1.04141235E-03, 0.00000000E+00, 1.04141235E-03, 0.00000000E+00); + _TMP16._t6 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 0.00000000E+00, -1.68895721E-03, 0.00000000E+00, 1.68895721E-03); + _ret_0._position1 = _r0018; + _ret_0._texCoord = TexCoord.xy; + _ret_0._t1 = _TMP16._t1; + _ret_0._t2 = _TMP16._t2; + _ret_0._t3 = _TMP16._t3; + _ret_0._t4 = _TMP16._t4; + _ret_0._t5 = _TMP16._t5; + _ret_0._t6 = _TMP16._t6; + gl_Position = vec4(float(_r0018.x), float(_r0018.y), float(_r0018.z), float(_r0018.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _TMP16._t1; + TEX2 = _TMP16._t2; + TEX3 = _TMP16._t3; + TEX4 = _TMP16._t4; + TEX5 = _TMP16._t5; + TEX6 = _TMP16._t6; + return; + TEX0.xy = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t11; + vec4 _t21; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +vec4 _ret_0; +float _TMP24; +vec3 _TMP23; +float _TMP26; +vec3 _TMP25; +float _TMP22; +vec3 _TMP21; +float _TMP20; +vec3 _TMP19; +float _TMP18; +vec3 _TMP17; +float _TMP16; +vec3 _TMP15; +float _TMP14; +vec3 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0032; +vec2 _c0034; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec3 _a0058; +vec3 _a0062; +vec3 _a0066; +vec3 _a0070; +vec3 _a0074; +vec3 _a0078; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c11; + vec3 _c00; + vec3 _c20; + vec3 _c22; + vec3 _c02; + vec3 _s00; + vec3 _s20; + vec3 _s22; + vec3 _s02; + vec3 _c01; + vec3 _c21; + vec3 _c10; + vec3 _c12; + float _d1; + float _d2; + float _hl; + float _vl; + float _m1; + float _m2; + vec3 _t1; + vec3 _t2; + vec3 _TMP30; + _c0032 = vec2(float(TEX0.x), float(TEX0.y)); + _TMP0 = texture2D(Texture, _c0032); + _c11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0034 = vec2(float(TEX1.x), float(TEX1.y)); + _TMP1 = texture2D(Texture, _c0034); + _c00 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0036 = vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0036); + _c20 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0038 = vec2(float(TEX2.x), float(TEX2.y)); + _TMP3 = texture2D(Texture, _c0038); + _c22 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0040 = vec2(float(TEX2.z), float(TEX2.w)); + _TMP4 = texture2D(Texture, _c0040); + _c02 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0042 = vec2(float(TEX3.x), float(TEX3.y)); + _TMP5 = texture2D(Texture, _c0042); + _s00 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0044 = vec2(float(TEX3.z), float(TEX3.w)); + _TMP6 = texture2D(Texture, _c0044); + _s20 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0046 = vec2(float(TEX4.x), float(TEX4.y)); + _TMP7 = texture2D(Texture, _c0046); + _s22 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0048 = vec2(float(TEX4.z), float(TEX4.w)); + _TMP8 = texture2D(Texture, _c0048); + _s02 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0050 = vec2(float(TEX5.x), float(TEX5.y)); + _TMP9 = texture2D(Texture, _c0050); + _c01 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0052 = vec2(float(TEX5.z), float(TEX5.w)); + _TMP10 = texture2D(Texture, _c0052); + _c21 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0054 = vec2(float(TEX6.x), float(TEX6.y)); + _TMP11 = texture2D(Texture, _c0054); + _c10 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0056 = vec2(float(TEX6.z), float(TEX6.w)); + _TMP12 = texture2D(Texture, _c0056); + _c12 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _a0058 = _c00 - _c22; + _TMP25 = abs(vec3(float(_a0058.x), float(_a0058.y), float(_a0058.z))); + _TMP13 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP14 = float(_TMP26); + _d1 = _TMP14 + 1.00016594E-04; + _a0062 = _c20 - _c02; + _TMP25 = abs(vec3(float(_a0062.x), float(_a0062.y), float(_a0062.z))); + _TMP15 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP16 = float(_TMP26); + _d2 = _TMP16 + 1.00016594E-04; + _a0066 = _c01 - _c21; + _TMP25 = abs(vec3(float(_a0066.x), float(_a0066.y), float(_a0066.z))); + _TMP17 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP18 = float(_TMP26); + _hl = _TMP18 + 1.00016594E-04; + _a0070 = _c10 - _c12; + _TMP25 = abs(vec3(float(_a0070.x), float(_a0070.y), float(_a0070.z))); + _TMP19 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP20 = float(_TMP26); + _vl = _TMP20 + 1.00016594E-04; + _a0074 = _s00 - _s22; + _TMP25 = abs(vec3(float(_a0074.x), float(_a0074.y), float(_a0074.z))); + _TMP21 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP22 = float(_TMP26); + _m1 = _TMP22 + 1.00040436E-03; + _a0078 = _s02 - _s20; + _TMP25 = abs(vec3(float(_a0078.x), float(_a0078.y), float(_a0078.z))); + _TMP23 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP24 = float(_TMP26); + _m2 = _TMP24 + 1.00040436E-03; + _t1 = (_hl*(_c10 + _c12) + _vl*(_c01 + _c21) + (_hl + _vl)*_c11)/(2.00000000E+00*(_hl + _vl)); + _t2 = (_d1*(_c20 + _c02) + _d2*(_c00 + _c22) + (_d1 + _d2)*_c11)/(2.00000000E+00*(_d1 + _d2)); + _TMP30 = 2.50000000E-01*(_t1 + _t2 + (_m2*(_s00 + _s22) + _m1*(_s02 + _s20))/(_m1 + _m2)); + _ret_0 = vec4(_TMP30.x, _TMP30.y, _TMP30.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-variation-1.glsl b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-variation-1.glsl new file mode 100644 index 0000000000..374f5dc6fd --- /dev/null +++ b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD-variation-1.glsl @@ -0,0 +1,311 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +vec4 _r0018; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _TMP16; + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.w = float(_TMP1); + _TMP16._t1 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -1.95312500E-03, -2.23159790E-03, 1.95312500E-03, -2.23159790E-03); + _TMP16._t2 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 1.95312500E-03, 2.23159790E-03, -1.95312500E-03, 2.23159790E-03); + _TMP16._t3 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -9.76562500E-04, -1.11579895E-03, 9.76562500E-04, -1.11579895E-03); + _TMP16._t4 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 9.76562500E-04, 1.11579895E-03, -9.76562500E-04, 1.11579895E-03); + _TMP16._t5 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -1.95312500E-03, 0.00000000E+00, 1.95312500E-03, 0.00000000E+00); + _TMP16._t6 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 0.00000000E+00, -2.23159790E-03, 0.00000000E+00, 2.23159790E-03); + _ret_0._position1 = _r0018; + _ret_0._texCoord = TexCoord.xy; + _ret_0._t1 = _TMP16._t1; + _ret_0._t2 = _TMP16._t2; + _ret_0._t3 = _TMP16._t3; + _ret_0._t4 = _TMP16._t4; + _ret_0._t5 = _TMP16._t5; + _ret_0._t6 = _TMP16._t6; + gl_Position = vec4(float(_r0018.x), float(_r0018.y), float(_r0018.z), float(_r0018.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _TMP16._t1; + TEX2 = _TMP16._t2; + TEX3 = _TMP16._t3; + TEX4 = _TMP16._t4; + TEX5 = _TMP16._t5; + TEX6 = _TMP16._t6; + return; + TEX0.xy = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t11; + vec4 _t21; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +vec4 _ret_0; +float _TMP24; +vec3 _TMP23; +float _TMP26; +vec3 _TMP25; +float _TMP22; +vec3 _TMP21; +float _TMP20; +vec3 _TMP19; +float _TMP18; +vec3 _TMP17; +float _TMP16; +vec3 _TMP15; +float _TMP14; +vec3 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0032; +vec2 _c0034; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec3 _a0058; +vec3 _a0062; +vec3 _a0066; +vec3 _a0070; +vec3 _a0074; +vec3 _a0078; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c11; + vec3 _c00; + vec3 _c20; + vec3 _c22; + vec3 _c02; + vec3 _s00; + vec3 _s20; + vec3 _s22; + vec3 _s02; + vec3 _c01; + vec3 _c21; + vec3 _c10; + vec3 _c12; + float _d1; + float _d2; + float _hl; + float _vl; + float _m1; + float _m2; + vec3 _t1; + vec3 _t2; + vec3 _TMP30; + _c0032 = vec2(float(TEX0.x), float(TEX0.y)); + _TMP0 = texture2D(Texture, _c0032); + _c11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0034 = vec2(float(TEX1.x), float(TEX1.y)); + _TMP1 = texture2D(Texture, _c0034); + _c00 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0036 = vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0036); + _c20 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0038 = vec2(float(TEX2.x), float(TEX2.y)); + _TMP3 = texture2D(Texture, _c0038); + _c22 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0040 = vec2(float(TEX2.z), float(TEX2.w)); + _TMP4 = texture2D(Texture, _c0040); + _c02 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0042 = vec2(float(TEX3.x), float(TEX3.y)); + _TMP5 = texture2D(Texture, _c0042); + _s00 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0044 = vec2(float(TEX3.z), float(TEX3.w)); + _TMP6 = texture2D(Texture, _c0044); + _s20 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0046 = vec2(float(TEX4.x), float(TEX4.y)); + _TMP7 = texture2D(Texture, _c0046); + _s22 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0048 = vec2(float(TEX4.z), float(TEX4.w)); + _TMP8 = texture2D(Texture, _c0048); + _s02 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0050 = vec2(float(TEX5.x), float(TEX5.y)); + _TMP9 = texture2D(Texture, _c0050); + _c01 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0052 = vec2(float(TEX5.z), float(TEX5.w)); + _TMP10 = texture2D(Texture, _c0052); + _c21 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0054 = vec2(float(TEX6.x), float(TEX6.y)); + _TMP11 = texture2D(Texture, _c0054); + _c10 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0056 = vec2(float(TEX6.z), float(TEX6.w)); + _TMP12 = texture2D(Texture, _c0056); + _c12 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _a0058 = _c00 - _c22; + _TMP25 = abs(vec3(float(_a0058.x), float(_a0058.y), float(_a0058.z))); + _TMP13 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP14 = float(_TMP26); + _d1 = _TMP14 + 1.00016594E-04; + _a0062 = _c20 - _c02; + _TMP25 = abs(vec3(float(_a0062.x), float(_a0062.y), float(_a0062.z))); + _TMP15 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP16 = float(_TMP26); + _d2 = _TMP16 + 1.00016594E-04; + _a0066 = _c01 - _c21; + _TMP25 = abs(vec3(float(_a0066.x), float(_a0066.y), float(_a0066.z))); + _TMP17 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP18 = float(_TMP26); + _hl = _TMP18 + 1.00016594E-04; + _a0070 = _c10 - _c12; + _TMP25 = abs(vec3(float(_a0070.x), float(_a0070.y), float(_a0070.z))); + _TMP19 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP20 = float(_TMP26); + _vl = _TMP20 + 1.00016594E-04; + _a0074 = _s00 - _s22; + _TMP25 = abs(vec3(float(_a0074.x), float(_a0074.y), float(_a0074.z))); + _TMP21 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP22 = float(_TMP26); + _m1 = _TMP22 + 1.00040436E-03; + _a0078 = _s02 - _s20; + _TMP25 = abs(vec3(float(_a0078.x), float(_a0078.y), float(_a0078.z))); + _TMP23 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP24 = float(_TMP26); + _m2 = _TMP24 + 1.00040436E-03; + _t1 = (_hl*(_c10 + _c12) + _vl*(_c01 + _c21) + (_hl + _vl)*_c11)/(2.00000000E+00*(_hl + _vl)); + _t2 = (_d1*(_c20 + _c02) + _d2*(_c00 + _c22) + (_d1 + _d2)*_c11)/(2.00000000E+00*(_d1 + _d2)); + _TMP30 = 2.50000000E-01*(_t1 + _t2 + (_m2*(_s00 + _s22) + _m1*(_s02 + _s20))/(_m1 + _m2)); + _ret_0 = vec4(_TMP30.x, _TMP30.y, _TMP30.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xSoft/4xSoft-HD.glsl b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD.glsl new file mode 100644 index 0000000000..9a371cf9d6 --- /dev/null +++ b/ios/Assets/shaders_glsl/xSoft/4xSoft-HD.glsl @@ -0,0 +1,311 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +vec4 _r0018; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + out_vertex _TMP16; + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.w = float(_TMP1); + _TMP16._t1 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -1.95312500E-03, -2.23159790E-03, 1.95312500E-03, -2.23159790E-03); + _TMP16._t2 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 1.95312500E-03, 2.23159790E-03, -1.95312500E-03, 2.23159790E-03); + _TMP16._t3 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -9.76562500E-04, -1.11579895E-03, 9.76562500E-04, -1.11579895E-03); + _TMP16._t4 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 9.76562500E-04, 1.11579895E-03, -9.76562500E-04, 1.11579895E-03); + _TMP16._t5 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( -1.95312500E-03, 0.00000000E+00, 1.95312500E-03, 0.00000000E+00); + _TMP16._t6 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4( 0.00000000E+00, -2.23159790E-03, 0.00000000E+00, 2.23159790E-03); + _ret_0._position1 = _r0018; + _ret_0._texCoord = TexCoord.xy; + _ret_0._t1 = _TMP16._t1; + _ret_0._t2 = _TMP16._t2; + _ret_0._t3 = _TMP16._t3; + _ret_0._t4 = _TMP16._t4; + _ret_0._t5 = _TMP16._t5; + _ret_0._t6 = _TMP16._t6; + gl_Position = vec4(float(_r0018.x), float(_r0018.y), float(_r0018.z), float(_r0018.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _TMP16._t1; + TEX2 = _TMP16._t2; + TEX3 = _TMP16._t3; + TEX4 = _TMP16._t4; + TEX5 = _TMP16._t5; + TEX6 = _TMP16._t6; + return; + TEX0.xy = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t11; + vec4 _t21; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +vec4 _ret_0; +float _TMP24; +vec3 _TMP23; +float _TMP26; +vec3 _TMP25; +float _TMP22; +vec3 _TMP21; +float _TMP20; +vec3 _TMP19; +float _TMP18; +vec3 _TMP17; +float _TMP16; +vec3 _TMP15; +float _TMP14; +vec3 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0032; +vec2 _c0034; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec3 _a0058; +vec3 _a0062; +vec3 _a0066; +vec3 _a0070; +vec3 _a0074; +vec3 _a0078; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c11; + vec3 _c00; + vec3 _c20; + vec3 _c22; + vec3 _c02; + vec3 _s00; + vec3 _s20; + vec3 _s22; + vec3 _s02; + vec3 _c01; + vec3 _c21; + vec3 _c10; + vec3 _c12; + float _d1; + float _d2; + float _hl; + float _vl; + float _m1; + float _m2; + vec3 _t1; + vec3 _t2; + vec3 _TMP30; + _c0032 = vec2(float(TEX0.x), float(TEX0.y)); + _TMP0 = texture2D(Texture, _c0032); + _c11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0034 = vec2(float(TEX1.x), float(TEX1.y)); + _TMP1 = texture2D(Texture, _c0034); + _c00 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0036 = vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0036); + _c20 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0038 = vec2(float(TEX2.x), float(TEX2.y)); + _TMP3 = texture2D(Texture, _c0038); + _c22 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0040 = vec2(float(TEX2.z), float(TEX2.w)); + _TMP4 = texture2D(Texture, _c0040); + _c02 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0042 = vec2(float(TEX3.x), float(TEX3.y)); + _TMP5 = texture2D(Texture, _c0042); + _s00 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0044 = vec2(float(TEX3.z), float(TEX3.w)); + _TMP6 = texture2D(Texture, _c0044); + _s20 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0046 = vec2(float(TEX4.x), float(TEX4.y)); + _TMP7 = texture2D(Texture, _c0046); + _s22 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0048 = vec2(float(TEX4.z), float(TEX4.w)); + _TMP8 = texture2D(Texture, _c0048); + _s02 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0050 = vec2(float(TEX5.x), float(TEX5.y)); + _TMP9 = texture2D(Texture, _c0050); + _c01 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0052 = vec2(float(TEX5.z), float(TEX5.w)); + _TMP10 = texture2D(Texture, _c0052); + _c21 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0054 = vec2(float(TEX6.x), float(TEX6.y)); + _TMP11 = texture2D(Texture, _c0054); + _c10 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0056 = vec2(float(TEX6.z), float(TEX6.w)); + _TMP12 = texture2D(Texture, _c0056); + _c12 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _a0058 = _c00 - _c22; + _TMP25 = abs(vec3(float(_a0058.x), float(_a0058.y), float(_a0058.z))); + _TMP13 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP14 = float(_TMP26); + _d1 = _TMP14 + 1.00016594E-04; + _a0062 = _c20 - _c02; + _TMP25 = abs(vec3(float(_a0062.x), float(_a0062.y), float(_a0062.z))); + _TMP15 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP16 = float(_TMP26); + _d2 = _TMP16 + 1.00016594E-04; + _a0066 = _c01 - _c21; + _TMP25 = abs(vec3(float(_a0066.x), float(_a0066.y), float(_a0066.z))); + _TMP17 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP18 = float(_TMP26); + _hl = _TMP18 + 1.00016594E-04; + _a0070 = _c10 - _c12; + _TMP25 = abs(vec3(float(_a0070.x), float(_a0070.y), float(_a0070.z))); + _TMP19 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP20 = float(_TMP26); + _vl = _TMP20 + 1.00016594E-04; + _a0074 = _s00 - _s22; + _TMP25 = abs(vec3(float(_a0074.x), float(_a0074.y), float(_a0074.z))); + _TMP21 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP22 = float(_TMP26); + _m1 = _TMP22 + 1.00040436E-03; + _a0078 = _s02 - _s20; + _TMP25 = abs(vec3(float(_a0078.x), float(_a0078.y), float(_a0078.z))); + _TMP23 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP24 = float(_TMP26); + _m2 = _TMP24 + 1.00040436E-03; + _t1 = (_hl*(_c10 + _c12) + _vl*(_c01 + _c21) + (_hl + _vl)*_c11)/(3.00000000E+00*(_hl + _vl)); + _t2 = (_d1*(_c20 + _c02) + _d2*(_c00 + _c22) + (_d1 + _d2)*_c11)/(3.00000000E+00*(_d1 + _d2)); + _TMP30 = 2.50000000E-01*(_t1 + _t2 + (_m2*(_s00 + _s22) + _m1*(_s02 + _s20))/(_m1 + _m2)); + _ret_0 = vec4(_TMP30.x, _TMP30.y, _TMP30.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xSoft/4xSoft-variation-1.glsl b/ios/Assets/shaders_glsl/xSoft/4xSoft-variation-1.glsl new file mode 100644 index 0000000000..f332692857 --- /dev/null +++ b/ios/Assets/shaders_glsl/xSoft/4xSoft-variation-1.glsl @@ -0,0 +1,318 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0018; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _ps; + float _sx; + float _sy; + out_vertex _TMP16; + _ps = vec2(1.00000000E+00/TextureSize.x, 1.00000000E+00/TextureSize.y); + _sx = _ps.x*5.00000000E-01; + _sy = _ps.y*5.00000000E-01; + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.w = float(_TMP1); + _TMP16._t1 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(-_ps.x, -_ps.y, _ps.x, -_ps.y); + _TMP16._t2 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(_ps.x, _ps.y, -_ps.x, _ps.y); + _TMP16._t3 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(-_sx, -_sy, _sx, -_sy); + _TMP16._t4 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(_sx, _sy, -_sx, _sy); + _TMP16._t5 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(-_ps.x, 0.00000000E+00, _ps.x, 0.00000000E+00); + _TMP16._t6 = vec4(TexCoord.x, TexCoord.y, TexCoord.x, TexCoord.y) + vec4(0.00000000E+00, -_ps.y, 0.00000000E+00, _ps.y); + _ret_0._position1 = _r0018; + _ret_0._texCoord = TexCoord.xy; + _ret_0._t1 = _TMP16._t1; + _ret_0._t2 = _TMP16._t2; + _ret_0._t3 = _TMP16._t3; + _ret_0._t4 = _TMP16._t4; + _ret_0._t5 = _TMP16._t5; + _ret_0._t6 = _TMP16._t6; + gl_Position = vec4(float(_r0018.x), float(_r0018.y), float(_r0018.z), float(_r0018.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _TMP16._t1; + TEX2 = _TMP16._t2; + TEX3 = _TMP16._t3; + TEX4 = _TMP16._t4; + TEX5 = _TMP16._t5; + TEX6 = _TMP16._t6; + return; + TEX0.xy = _ret_0._texCoord; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t11; + vec4 _t21; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +vec4 _ret_0; +float _TMP24; +vec3 _TMP23; +float _TMP26; +vec3 _TMP25; +float _TMP22; +vec3 _TMP21; +float _TMP20; +vec3 _TMP19; +float _TMP18; +vec3 _TMP17; +float _TMP16; +vec3 _TMP15; +float _TMP14; +vec3 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0032; +vec2 _c0034; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec3 _a0058; +vec3 _a0062; +vec3 _a0066; +vec3 _a0070; +vec3 _a0074; +vec3 _a0078; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c11; + vec3 _c00; + vec3 _c20; + vec3 _c22; + vec3 _c02; + vec3 _s00; + vec3 _s20; + vec3 _s22; + vec3 _s02; + vec3 _c01; + vec3 _c21; + vec3 _c10; + vec3 _c12; + float _d1; + float _d2; + float _hl; + float _vl; + float _m1; + float _m2; + vec3 _t1; + vec3 _t2; + vec3 _TMP30; + _c0032 = vec2(float(TEX0.x), float(TEX0.y)); + _TMP0 = texture2D(Texture, _c0032); + _c11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0034 = vec2(float(TEX1.x), float(TEX1.y)); + _TMP1 = texture2D(Texture, _c0034); + _c00 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0036 = vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0036); + _c20 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0038 = vec2(float(TEX2.x), float(TEX2.y)); + _TMP3 = texture2D(Texture, _c0038); + _c22 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0040 = vec2(float(TEX2.z), float(TEX2.w)); + _TMP4 = texture2D(Texture, _c0040); + _c02 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0042 = vec2(float(TEX3.x), float(TEX3.y)); + _TMP5 = texture2D(Texture, _c0042); + _s00 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0044 = vec2(float(TEX3.z), float(TEX3.w)); + _TMP6 = texture2D(Texture, _c0044); + _s20 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0046 = vec2(float(TEX4.x), float(TEX4.y)); + _TMP7 = texture2D(Texture, _c0046); + _s22 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0048 = vec2(float(TEX4.z), float(TEX4.w)); + _TMP8 = texture2D(Texture, _c0048); + _s02 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0050 = vec2(float(TEX5.x), float(TEX5.y)); + _TMP9 = texture2D(Texture, _c0050); + _c01 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0052 = vec2(float(TEX5.z), float(TEX5.w)); + _TMP10 = texture2D(Texture, _c0052); + _c21 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0054 = vec2(float(TEX6.x), float(TEX6.y)); + _TMP11 = texture2D(Texture, _c0054); + _c10 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0056 = vec2(float(TEX6.z), float(TEX6.w)); + _TMP12 = texture2D(Texture, _c0056); + _c12 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _a0058 = _c00 - _c22; + _TMP25 = abs(vec3(float(_a0058.x), float(_a0058.y), float(_a0058.z))); + _TMP13 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP14 = float(_TMP26); + _d1 = _TMP14 + 1.00016594E-04; + _a0062 = _c20 - _c02; + _TMP25 = abs(vec3(float(_a0062.x), float(_a0062.y), float(_a0062.z))); + _TMP15 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP16 = float(_TMP26); + _d2 = _TMP16 + 1.00016594E-04; + _a0066 = _c01 - _c21; + _TMP25 = abs(vec3(float(_a0066.x), float(_a0066.y), float(_a0066.z))); + _TMP17 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP18 = float(_TMP26); + _hl = _TMP18 + 1.00016594E-04; + _a0070 = _c10 - _c12; + _TMP25 = abs(vec3(float(_a0070.x), float(_a0070.y), float(_a0070.z))); + _TMP19 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP20 = float(_TMP26); + _vl = _TMP20 + 1.00016594E-04; + _a0074 = _s00 - _s22; + _TMP25 = abs(vec3(float(_a0074.x), float(_a0074.y), float(_a0074.z))); + _TMP21 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP22 = float(_TMP26); + _m1 = _TMP22 + 1.00040436E-03; + _a0078 = _s02 - _s20; + _TMP25 = abs(vec3(float(_a0078.x), float(_a0078.y), float(_a0078.z))); + _TMP23 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP24 = float(_TMP26); + _m2 = _TMP24 + 1.00040436E-03; + _t1 = (_hl*(_c10 + _c12) + _vl*(_c01 + _c21) + (_hl + _vl)*_c11)/(2.00000000E+00*(_hl + _vl)); + _t2 = (_d1*(_c20 + _c02) + _d2*(_c00 + _c22) + (_d1 + _d2)*_c11)/(2.00000000E+00*(_d1 + _d2)); + _TMP30 = 2.50000000E-01*(_t1 + _t2 + (_m2*(_s00 + _s22) + _m1*(_s02 + _s20))/(_m1 + _m2)); + _ret_0 = vec4(_TMP30.x, _TMP30.y, _TMP30.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/Assets/shaders_glsl/xSoft/4xSoft.glsl b/ios/Assets/shaders_glsl/xSoft/4xSoft.glsl new file mode 100644 index 0000000000..56e62712f0 --- /dev/null +++ b/ios/Assets/shaders_glsl/xSoft/4xSoft.glsl @@ -0,0 +1,316 @@ +// GLSL shader autogenerated by cg2glsl.py. +#if defined(VERTEX) +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t2; +varying vec4 _t1; +varying vec2 _texCoord1; +varying vec4 _position1; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec4 _position1; + vec2 _texCoord1; + vec4 _t1; + vec4 _t2; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +out_vertex _ret_0; +float _TMP1; +uniform mat4 MVPMatrix; +input_dummy _IN1; +vec4 _r0018; +attribute vec4 VertexCoord; +attribute vec4 TexCoord; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + + + mat4 transpose_(mat4 matrix) + { + mat4 ret; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + ret[i][j] = matrix[j][i]; + + return ret; + } + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + mat4 MVPMatrix_ = transpose_(MVPMatrix); + vec2 _ps; + float _sx; + float _sy; + out_vertex _TMP16; + _ps = vec2(float((1.00000000E+00/TextureSize.x)), float((1.00000000E+00/TextureSize.y))); + _sx = _ps.x*5.00000000E-01; + _sy = _ps.y*5.00000000E-01; + _TMP1 = dot(vec4(float(MVPMatrix_[0].x), float(MVPMatrix_[0].y), float(MVPMatrix_[0].z), float(MVPMatrix_[0].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.x = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[1].x), float(MVPMatrix_[1].y), float(MVPMatrix_[1].z), float(MVPMatrix_[1].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.y = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[2].x), float(MVPMatrix_[2].y), float(MVPMatrix_[2].z), float(MVPMatrix_[2].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.z = float(_TMP1); + _TMP1 = dot(vec4(float(MVPMatrix_[3].x), float(MVPMatrix_[3].y), float(MVPMatrix_[3].z), float(MVPMatrix_[3].w)), vec4(float(VertexCoord.x), float(VertexCoord.y), float(VertexCoord.z), float(VertexCoord.w))); + _r0018.w = float(_TMP1); + _TMP16._t1 = vec4(float(TexCoord.x), float(TexCoord.y), float(TexCoord.x), float(TexCoord.y)) + vec4(-_ps.x, -_ps.y, _ps.x, -_ps.y); + _TMP16._t2 = vec4(float(TexCoord.x), float(TexCoord.y), float(TexCoord.x), float(TexCoord.y)) + vec4(_ps.x, _ps.y, -_ps.x, _ps.y); + _TMP16._t3 = vec4(float(TexCoord.x), float(TexCoord.y), float(TexCoord.x), float(TexCoord.y)) + vec4(-_sx, -_sy, _sx, -_sy); + _TMP16._t4 = vec4(float(TexCoord.x), float(TexCoord.y), float(TexCoord.x), float(TexCoord.y)) + vec4(_sx, _sy, -_sx, _sy); + _TMP16._t5 = vec4(float(TexCoord.x), float(TexCoord.y), float(TexCoord.x), float(TexCoord.y)) + vec4(-_ps.x, 0.00000000E+00, _ps.x, 0.00000000E+00); + _TMP16._t6 = vec4(float(TexCoord.x), float(TexCoord.y), float(TexCoord.x), float(TexCoord.y)) + vec4(0.00000000E+00, -_ps.y, 0.00000000E+00, _ps.y); + _ret_0._position1 = _r0018; + _ret_0._texCoord1 = TexCoord.xy; + _ret_0._t1 = _TMP16._t1; + _ret_0._t2 = _TMP16._t2; + _ret_0._t3 = _TMP16._t3; + _ret_0._t4 = _TMP16._t4; + _ret_0._t5 = _TMP16._t5; + _ret_0._t6 = _TMP16._t6; + gl_Position = vec4(float(_r0018.x), float(_r0018.y), float(_r0018.z), float(_r0018.w)); + TEX0.xy = TexCoord.xy; + TEX1 = _TMP16._t1; + TEX2 = _TMP16._t2; + TEX3 = _TMP16._t3; + TEX4 = _TMP16._t4; + TEX5 = _TMP16._t5; + TEX6 = _TMP16._t6; + return; + TEX0.xy = _ret_0._texCoord1; + TEX1 = _ret_0._t1; + TEX2 = _ret_0._t2; + TEX3 = _ret_0._t3; + TEX4 = _ret_0._t4; + TEX5 = _ret_0._t5; + TEX6 = _ret_0._t6; +} +#elif defined(FRAGMENT) +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 _t6; +varying vec4 _t5; +varying vec4 _t4; +varying vec4 _t3; +varying vec4 _t21; +varying vec4 _t11; +varying vec2 _texCoord; +varying float _frame_rotation; +struct input_dummy { + vec2 _video_size; + vec2 _texture_size; + vec2 _output_dummy_size; + float _frame_count; + float _frame_direction; + float _frame_rotation; +}; +struct out_vertex { + vec2 _texCoord; + vec4 _t11; + vec4 _t21; + vec4 _t3; + vec4 _t4; + vec4 _t5; + vec4 _t6; +}; +vec4 _ret_0; +float _TMP24; +vec3 _TMP23; +float _TMP26; +vec3 _TMP25; +float _TMP22; +vec3 _TMP21; +float _TMP20; +vec3 _TMP19; +float _TMP18; +vec3 _TMP17; +float _TMP16; +vec3 _TMP15; +float _TMP14; +vec3 _TMP13; +vec4 _TMP12; +vec4 _TMP11; +vec4 _TMP10; +vec4 _TMP9; +vec4 _TMP8; +vec4 _TMP7; +vec4 _TMP6; +vec4 _TMP5; +vec4 _TMP4; +vec4 _TMP3; +vec4 _TMP2; +vec4 _TMP1; +vec4 _TMP0; +uniform sampler2D Texture; +vec2 _c0034; +vec2 _c0036; +vec2 _c0038; +vec2 _c0040; +vec2 _c0042; +vec2 _c0044; +vec2 _c0046; +vec2 _c0048; +vec2 _c0050; +vec2 _c0052; +vec2 _c0054; +vec2 _c0056; +vec3 _a0058; +vec3 _a0062; +vec3 _a0066; +vec3 _a0070; +vec3 _a0074; +vec3 _a0078; +varying vec4 TEX0; +varying vec4 TEX1; +varying vec4 TEX2; +varying vec4 TEX3; +varying vec4 TEX4; +varying vec4 TEX5; +varying vec4 TEX6; + +uniform int FrameDirection; +uniform int FrameCount; +#ifdef GL_ES +uniform mediump vec2 OutputSize; +uniform mediump vec2 TextureSize; +uniform mediump vec2 InputSize; +#else +uniform vec2 OutputSize; +uniform vec2 TextureSize; +uniform vec2 InputSize; +#endif +void main() +{ + vec3 _c11; + vec3 _c00; + vec3 _c20; + vec3 _c22; + vec3 _c02; + vec3 _s00; + vec3 _s20; + vec3 _s22; + vec3 _s02; + vec3 _c01; + vec3 _c21; + vec3 _c10; + vec3 _c12; + float _d1; + float _d2; + float _hl; + float _vl; + float _m1; + float _m2; + vec3 _t1; + vec3 _t2; + vec3 _TMP30; + _TMP0 = texture2D(Texture, TEX0.xy); + _c11 = vec3(float(_TMP0.x), float(_TMP0.y), float(_TMP0.z)); + _c0034 = vec2(float(TEX1.x), float(TEX1.y)); + _TMP1 = texture2D(Texture, _c0034); + _c00 = vec3(float(_TMP1.x), float(_TMP1.y), float(_TMP1.z)); + _c0036 = vec2(float(TEX1.z), float(TEX1.w)); + _TMP2 = texture2D(Texture, _c0036); + _c20 = vec3(float(_TMP2.x), float(_TMP2.y), float(_TMP2.z)); + _c0038 = vec2(float(TEX2.x), float(TEX2.y)); + _TMP3 = texture2D(Texture, _c0038); + _c22 = vec3(float(_TMP3.x), float(_TMP3.y), float(_TMP3.z)); + _c0040 = vec2(float(TEX2.z), float(TEX2.w)); + _TMP4 = texture2D(Texture, _c0040); + _c02 = vec3(float(_TMP4.x), float(_TMP4.y), float(_TMP4.z)); + _c0042 = vec2(float(TEX3.x), float(TEX3.y)); + _TMP5 = texture2D(Texture, _c0042); + _s00 = vec3(float(_TMP5.x), float(_TMP5.y), float(_TMP5.z)); + _c0044 = vec2(float(TEX3.z), float(TEX3.w)); + _TMP6 = texture2D(Texture, _c0044); + _s20 = vec3(float(_TMP6.x), float(_TMP6.y), float(_TMP6.z)); + _c0046 = vec2(float(TEX4.x), float(TEX4.y)); + _TMP7 = texture2D(Texture, _c0046); + _s22 = vec3(float(_TMP7.x), float(_TMP7.y), float(_TMP7.z)); + _c0048 = vec2(float(TEX4.z), float(TEX4.w)); + _TMP8 = texture2D(Texture, _c0048); + _s02 = vec3(float(_TMP8.x), float(_TMP8.y), float(_TMP8.z)); + _c0050 = vec2(float(TEX5.x), float(TEX5.y)); + _TMP9 = texture2D(Texture, _c0050); + _c01 = vec3(float(_TMP9.x), float(_TMP9.y), float(_TMP9.z)); + _c0052 = vec2(float(TEX5.z), float(TEX5.w)); + _TMP10 = texture2D(Texture, _c0052); + _c21 = vec3(float(_TMP10.x), float(_TMP10.y), float(_TMP10.z)); + _c0054 = vec2(float(TEX6.x), float(TEX6.y)); + _TMP11 = texture2D(Texture, _c0054); + _c10 = vec3(float(_TMP11.x), float(_TMP11.y), float(_TMP11.z)); + _c0056 = vec2(float(TEX6.z), float(TEX6.w)); + _TMP12 = texture2D(Texture, _c0056); + _c12 = vec3(float(_TMP12.x), float(_TMP12.y), float(_TMP12.z)); + _a0058 = _c00 - _c22; + _TMP25 = abs(vec3(float(_a0058.x), float(_a0058.y), float(_a0058.z))); + _TMP13 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP13.x), float(_TMP13.y), float(_TMP13.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP14 = float(_TMP26); + _d1 = _TMP14 + 1.00016594E-04; + _a0062 = _c20 - _c02; + _TMP25 = abs(vec3(float(_a0062.x), float(_a0062.y), float(_a0062.z))); + _TMP15 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP15.x), float(_TMP15.y), float(_TMP15.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP16 = float(_TMP26); + _d2 = _TMP16 + 1.00016594E-04; + _a0066 = _c01 - _c21; + _TMP25 = abs(vec3(float(_a0066.x), float(_a0066.y), float(_a0066.z))); + _TMP17 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP17.x), float(_TMP17.y), float(_TMP17.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP18 = float(_TMP26); + _hl = _TMP18 + 1.00016594E-04; + _a0070 = _c10 - _c12; + _TMP25 = abs(vec3(float(_a0070.x), float(_a0070.y), float(_a0070.z))); + _TMP19 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP19.x), float(_TMP19.y), float(_TMP19.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP20 = float(_TMP26); + _vl = _TMP20 + 1.00016594E-04; + _a0074 = _s00 - _s22; + _TMP25 = abs(vec3(float(_a0074.x), float(_a0074.y), float(_a0074.z))); + _TMP21 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP21.x), float(_TMP21.y), float(_TMP21.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP22 = float(_TMP26); + _m1 = _TMP22 + 1.00040436E-03; + _a0078 = _s02 - _s20; + _TMP25 = abs(vec3(float(_a0078.x), float(_a0078.y), float(_a0078.z))); + _TMP23 = vec3(float(_TMP25.x), float(_TMP25.y), float(_TMP25.z)); + _TMP26 = dot(vec3(float(_TMP23.x), float(_TMP23.y), float(_TMP23.z)), vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00)); + _TMP24 = float(_TMP26); + _m2 = _TMP24 + 1.00040436E-03; + _t1 = (_hl*(_c10 + _c12) + _vl*(_c01 + _c21) + (_hl + _vl)*_c11)/(3.00000000E+00*(_hl + _vl)); + _t2 = (_d1*(_c20 + _c02) + _d2*(_c00 + _c22) + (_d1 + _d2)*_c11)/(3.00000000E+00*(_d1 + _d2)); + _TMP30 = 2.50000000E-01*(_t1 + _t2 + (_m2*(_s00 + _s22) + _m1*(_s02 + _s20))/(_m1 + _m2)); + _ret_0 = vec4(_TMP30.x, _TMP30.y, _TMP30.z, 1.00000000E+00); + gl_FragColor = vec4(float(_ret_0.x), float(_ret_0.y), float(_ret_0.z), float(_ret_0.w)); + return; +} +#endif diff --git a/ios/RetroArch.xcodeproj/project.pbxproj b/ios/RetroArch.xcodeproj/project.pbxproj index 57efa6b139..af17dfe34a 100644 --- a/ios/RetroArch.xcodeproj/project.pbxproj +++ b/ios/RetroArch.xcodeproj/project.pbxproj @@ -33,6 +33,7 @@ 96AFAE3216C1D4EA009DE44C /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96AFAE3116C1D4EA009DE44C /* OpenGLES.framework */; }; 96AFAE3816C1D4EA009DE44C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 96AFAE3616C1D4EA009DE44C /* InfoPlist.strings */; }; 96F9C28316FFA55F002455B3 /* RALogView.m in Sources */ = {isa = PBXBuildFile; fileRef = 96F9C28216FFA55F002455B3 /* RALogView.m */; }; + D40B8BD0175619BB005C3F25 /* shaders_glsl in Resources */ = {isa = PBXBuildFile; fileRef = D40B8BCF175619BB005C3F25 /* shaders_glsl */; }; D48581DE16F823F9004BEB17 /* griffin.c in Sources */ = {isa = PBXBuildFile; fileRef = D48581DD16F823F9004BEB17 /* griffin.c */; }; D486CA88170D4EAF004DC638 /* settings.m in Sources */ = {isa = PBXBuildFile; fileRef = D486CA87170D4EAF004DC638 /* settings.m */; }; /* End PBXBuildFile section */ @@ -78,6 +79,7 @@ 96AFAF4616C1E00A009DE44C /* bitmap.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bitmap.bmp; sourceTree = ""; }; 96C19C2616D455BE00FE8D5A /* rarch_wrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rarch_wrapper.h; sourceTree = ""; }; 96F9C28216FFA55F002455B3 /* RALogView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RALogView.m; sourceTree = ""; }; + D40B8BCF175619BB005C3F25 /* shaders_glsl */ = {isa = PBXFileReference; lastKnownFileType = folder; name = shaders_glsl; path = ../../media/shaders_glsl; sourceTree = ""; }; D48581DD16F823F9004BEB17 /* griffin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = griffin.c; path = ../griffin/griffin.c; sourceTree = ""; }; D486CA87170D4EAF004DC638 /* settings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = settings.m; sourceTree = ""; }; /* End PBXFileReference section */ @@ -122,6 +124,7 @@ 966B9CB716E41E7A005B61E1 /* Assets */ = { isa = PBXGroup; children = ( + D40B8BCF175619BB005C3F25 /* shaders_glsl */, 967D647416E6EA04006BA1F2 /* modules */, 96297A2616C82FF100E6DCE0 /* overlays */, 966B9CB816E41E7A005B61E1 /* Default-568h@2x.png */, @@ -311,6 +314,7 @@ 966B9CCB16E41EC1005B61E1 /* PauseIndicatorView.xib in Resources */, 967D646F16E45428006BA1F2 /* ic_pause.png in Resources */, 967D647516E6EA04006BA1F2 /* modules in Resources */, + D40B8BD0175619BB005C3F25 /* shaders_glsl in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -387,7 +391,7 @@ "-DHAVE_THREAD", "-D__LIBRETRO__", "-DRARCH_PERFORMANCE_MODE", - "-DRARCH_MOBILE", + "-DRARCH_MOBILE", "-DPACKAGE_VERSION=\\\"0.9.9\\\"", "-std=gnu99", "-DHAVE_COREAUDIO", @@ -437,7 +441,7 @@ "-DHAVE_THREAD", "-D__LIBRETRO__", "-DRARCH_PERFORMANCE_MODE", - "-DRARCH_MOBILE", + "-DRARCH_MOBILE", "-DPACKAGE_VERSION=\\\"0.9.9\\\"", "-std=gnu99", "-DHAVE_COREAUDIO", @@ -484,7 +488,7 @@ "-DLSB_FIRST", "-D__LIBRETRO__", "-DRARCH_PERFORMANCE_MODE", - "-DRARCH_MOBILE", + "-DRARCH_MOBILE", "-DPACKAGE_VERSION=\\\"0.9.9\\\"", "-DHAVE_COREAUDIO", "-DHAVE_DYNAMIC", @@ -533,7 +537,7 @@ "-DLSB_FIRST", "-D__LIBRETRO__", "-DRARCH_PERFORMANCE_MODE", - "-DRARCH_MOBILE", + "-DRARCH_MOBILE", "-DPACKAGE_VERSION=\\\"0.9.9\\\"", "-DHAVE_COREAUDIO", "-DHAVE_DYNAMIC", diff --git a/ios/RetroArch/settings/settings.m b/ios/RetroArch/settings/settings.m index 96e729a9ea..aa4a55c814 100644 --- a/ios/RetroArch/settings/settings.m +++ b/ios/RetroArch/settings/settings.m @@ -154,7 +154,7 @@ static RASettingData* custom_action(NSString* action, id data) config_file_t* config = config_file_new([_module.configPath UTF8String]); NSString* overlay_path = [[[NSBundle mainBundle] bundlePath] stringByAppendingString:@"/overlays/"]; - NSString* shader_path = [[[NSBundle mainBundle] bundlePath] stringByAppendingString:@"/shaders/"]; + NSString* shader_path = [[[NSBundle mainBundle] bundlePath] stringByAppendingString:@"/shaders_glsl/"]; NSArray* settings = [NSArray arrayWithObjects: [NSArray arrayWithObjects:@"Core",