#N canvas 189 90 1107 660 10; #X msg 17 91 create \, 1; #X msg 30 114 0 \, destroy; #X obj 160 405 pix_texture; #X obj 169 165 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #N canvas 38 51 792 790 glsl 0; #X obj 78 339 glsl_vertex; #X msg 32 338 print; #X obj 78 626 glsl_program; #X obj 163 555 pack 0 0; #X msg 30 476 print; #X obj 163 511 change; #X obj 150 358 change; #X msg 163 579 link \$1 \$2; #X msg 32 620 print; #X obj 77 490 glsl_fragment; #X floatatom 163 535 2 0 0 0 ID - -; #X floatatom 150 381 2 0 0 0 ID - -; #X obj 181 600 print linking; #X obj 15 21 inlet; #X obj 78 662 outlet; #X obj 577 95 inlet; #X obj 15 44 route bang; #X obj 255 11 gemhead 1; #X msg 255 33 1; #X obj 255 57 change; #X obj 255 81 t b; #X obj 157 647 change; #X obj 157 668 t b; #X obj 158 690 outlet; #X obj 90 426 symbol; #X obj 90 401 t b; #X msg 287 598 0; #X obj 15 65 t b b b; #X msg 118 307 open panoramique.vert; #X msg 90 453 open panoramique.frag; #X connect 0 0 9 0; #X connect 0 1 6 0; #X connect 1 0 0 0; #X connect 2 0 14 0; #X connect 2 1 21 0; #X connect 3 0 7 0; #X connect 4 0 9 0; #X connect 5 0 10 0; #X connect 6 0 11 0; #X connect 6 0 25 0; #X connect 7 0 2 0; #X connect 7 0 12 0; #X connect 8 0 2 0; #X connect 9 0 2 0; #X connect 9 1 5 0; #X connect 10 0 3 0; #X connect 11 0 3 1; #X connect 13 0 16 0; #X connect 15 0 2 0; #X connect 16 0 27 0; #X connect 16 1 0 0; #X connect 17 0 18 0; #X connect 18 0 19 0; #X connect 19 0 20 0; #X connect 20 0 28 0; #X connect 21 0 22 0; #X connect 22 0 23 0; #X connect 24 0 29 0; #X connect 25 0 24 0; #X connect 26 0 21 0; #X connect 27 0 10 0; #X connect 27 1 28 0; #X connect 27 2 26 0; #X connect 28 0 0 0; #X connect 29 0 9 0; #X restore 160 182 pd glsl; #X obj 175 245 loadbang; #X obj 160 288 pix_image; #X msg 174 379 rectangle 1; #X obj 174 358 loadbang; #X obj 160 317 pix_info 0 0 0; #X msg 238 148 sizeX \$1; #X msg 253 169 sizeY \$1; #X obj 353 406 pix_texture; #X obj 362 166 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #N canvas 38 51 792 790 glsl 0; #X obj 78 339 glsl_vertex; #X msg 32 338 print; #X obj 78 626 glsl_program; #X obj 163 555 pack 0 0; #X msg 30 476 print; #X obj 163 511 change; #X obj 150 358 change; #X msg 163 579 link \$1 \$2; #X msg 32 620 print; #X obj 77 490 glsl_fragment; #X floatatom 163 535 2 0 0 0 ID - -; #X floatatom 150 381 2 0 0 0 ID - -; #X obj 181 600 print linking; #X obj 15 21 inlet; #X obj 78 662 outlet; #X obj 577 95 inlet; #X obj 15 44 route bang; #X obj 255 11 gemhead 1; #X msg 255 33 1; #X obj 255 57 change; #X obj 255 81 t b; #X obj 157 647 change; #X obj 157 668 t b; #X obj 158 690 outlet; #X obj 90 426 symbol; #X obj 90 401 t b; #X msg 287 598 0; #X obj 15 65 t b b b; #X msg 118 307 open panoramique.vert; #X msg 90 453 open panoramique.frag; #X connect 0 0 9 0; #X connect 0 1 6 0; #X connect 1 0 0 0; #X connect 2 0 14 0; #X connect 2 1 21 0; #X connect 3 0 7 0; #X connect 4 0 9 0; #X connect 5 0 10 0; #X connect 6 0 11 0; #X connect 6 0 25 0; #X connect 7 0 2 0; #X connect 7 0 12 0; #X connect 8 0 2 0; #X connect 9 0 2 0; #X connect 9 1 5 0; #X connect 10 0 3 0; #X connect 11 0 3 1; #X connect 13 0 16 0; #X connect 15 0 2 0; #X connect 16 0 27 0; #X connect 16 1 0 0; #X connect 17 0 18 0; #X connect 18 0 19 0; #X connect 19 0 20 0; #X connect 20 0 28 0; #X connect 21 0 22 0; #X connect 22 0 23 0; #X connect 24 0 29 0; #X connect 25 0 24 0; #X connect 26 0 21 0; #X connect 27 0 10 0; #X connect 27 1 28 0; #X connect 27 2 26 0; #X connect 28 0 0 0; #X connect 29 0 9 0; #X restore 353 183 pd glsl; #X obj 368 246 loadbang; #X obj 353 289 pix_image; #X msg 367 378 rectangle 1; #X obj 367 359 loadbang; #X obj 353 318 pix_info 0 0 0; #X msg 431 144 sizeX \$1; #X msg 446 170 sizeY \$1; #X obj 552 407 pix_texture; #X obj 561 167 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #N canvas 38 51 792 790 glsl 0; #X obj 78 339 glsl_vertex; #X msg 32 338 print; #X obj 78 626 glsl_program; #X obj 163 555 pack 0 0; #X msg 30 476 print; #X obj 163 511 change; #X obj 150 358 change; #X msg 163 579 link \$1 \$2; #X msg 32 620 print; #X obj 77 490 glsl_fragment; #X floatatom 163 535 2 0 0 0 ID - -; #X floatatom 150 381 2 0 0 0 ID - -; #X obj 181 600 print linking; #X obj 15 21 inlet; #X obj 78 662 outlet; #X obj 577 95 inlet; #X obj 15 44 route bang; #X obj 255 11 gemhead 1; #X msg 255 33 1; #X obj 255 57 change; #X obj 255 81 t b; #X obj 157 647 change; #X obj 157 668 t b; #X obj 158 690 outlet; #X obj 90 426 symbol; #X obj 90 401 t b; #X msg 287 598 0; #X obj 15 65 t b b b; #X msg 118 307 open panoramique.vert; #X msg 90 453 open panoramique.frag; #X connect 0 0 9 0; #X connect 0 1 6 0; #X connect 1 0 0 0; #X connect 2 0 14 0; #X connect 2 1 21 0; #X connect 3 0 7 0; #X connect 4 0 9 0; #X connect 5 0 10 0; #X connect 6 0 11 0; #X connect 6 0 25 0; #X connect 7 0 2 0; #X connect 7 0 12 0; #X connect 8 0 2 0; #X connect 9 0 2 0; #X connect 9 1 5 0; #X connect 10 0 3 0; #X connect 11 0 3 1; #X connect 13 0 16 0; #X connect 15 0 2 0; #X connect 16 0 27 0; #X connect 16 1 0 0; #X connect 17 0 18 0; #X connect 18 0 19 0; #X connect 19 0 20 0; #X connect 20 0 28 0; #X connect 21 0 22 0; #X connect 22 0 23 0; #X connect 24 0 29 0; #X connect 25 0 24 0; #X connect 26 0 21 0; #X connect 27 0 10 0; #X connect 27 1 28 0; #X connect 27 2 26 0; #X connect 28 0 0 0; #X connect 29 0 9 0; #X restore 552 184 pd glsl; #X obj 567 247 loadbang; #X obj 552 290 pix_image; #X msg 566 379 rectangle 1; #X obj 566 360 loadbang; #X obj 552 319 pix_info 0 0 0; #X msg 614 148 sizeX \$1; #X msg 633 166 sizeY \$1; #X obj 160 427 translateXYZ -3 0 0; #X obj 352 426 translateXYZ -1 0 0; #X obj 551 427 translateXYZ 1 0 0; #X obj 747 408 pix_texture; #X obj 756 168 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #N canvas 38 51 792 790 glsl 0; #X obj 78 339 glsl_vertex; #X msg 32 338 print; #X obj 78 626 glsl_program; #X obj 163 555 pack 0 0; #X msg 30 476 print; #X obj 163 511 change; #X obj 150 358 change; #X msg 163 579 link \$1 \$2; #X msg 32 620 print; #X obj 77 490 glsl_fragment; #X floatatom 163 535 2 0 0 0 ID - -; #X floatatom 150 381 2 0 0 0 ID - -; #X obj 181 600 print linking; #X obj 15 21 inlet; #X obj 78 662 outlet; #X obj 577 95 inlet; #X obj 15 44 route bang; #X obj 255 11 gemhead 1; #X msg 255 33 1; #X obj 255 57 change; #X obj 255 81 t b; #X obj 157 647 change; #X obj 157 668 t b; #X obj 158 690 outlet; #X obj 90 426 symbol; #X obj 90 401 t b; #X msg 287 598 0; #X obj 15 65 t b b b; #X msg 118 307 open panoramique.vert; #X msg 90 452 open panoramique.frag; #X connect 0 0 9 0; #X connect 0 1 6 0; #X connect 1 0 0 0; #X connect 2 0 14 0; #X connect 2 1 21 0; #X connect 3 0 7 0; #X connect 4 0 9 0; #X connect 5 0 10 0; #X connect 6 0 11 0; #X connect 6 0 25 0; #X connect 7 0 2 0; #X connect 7 0 12 0; #X connect 8 0 2 0; #X connect 9 0 2 0; #X connect 9 1 5 0; #X connect 10 0 3 0; #X connect 11 0 3 1; #X connect 13 0 16 0; #X connect 15 0 2 0; #X connect 16 0 27 0; #X connect 16 1 0 0; #X connect 17 0 18 0; #X connect 18 0 19 0; #X connect 19 0 20 0; #X connect 20 0 28 0; #X connect 21 0 22 0; #X connect 22 0 23 0; #X connect 24 0 29 0; #X connect 25 0 24 0; #X connect 26 0 21 0; #X connect 27 0 10 0; #X connect 27 1 28 0; #X connect 27 2 26 0; #X connect 28 0 0 0; #X connect 29 0 9 0; #X restore 747 185 pd glsl; #X obj 762 248 loadbang; #X obj 747 291 pix_image; #X msg 761 380 rectangle 1; #X obj 761 361 loadbang; #X obj 747 320 pix_info 0 0 0; #X msg 825 146 sizeX \$1; #X msg 840 172 sizeY \$1; #X obj 746 428 translateXYZ 3 0 0; #X floatatom 199 68 5 0 0 0 - - -; #X msg 199 87 dZ \$1; #X obj 17 430 s shaders; #X obj 206 205 s init_shader; #X obj 399 204 s init_shader; #X obj 600 204 s init_shader; #X obj 794 206 s init_shader; #X obj 399 124 r shaders; #X obj 598 126 r shaders; #X obj 793 127 r shaders; #X obj 160 506 rectangle 1 0.75; #X obj 352 507 rectangle 1 0.75; #X obj 551 508 rectangle 1 0.75; #X obj 746 509 rectangle 1 0.75; #X obj 160 463 translateXYZ 0 0 0; #X obj 201 446 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 -1 -1 0.12 256; #X obj 259 446 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 -1 -1 -0.06 256; #X obj 352 465 translateXYZ 0 0 0; #X obj 393 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 -1 -1 0 256; #X obj 451 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 -1 -1 0 256; #X obj 551 466 translateXYZ 0 0 0; #X obj 592 449 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 -1 -1 -0.11 256; #X obj 650 449 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 -1 -1 -0.03 256; #X obj 746 465 translateXYZ 0 0 0; #X obj 787 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 -1 -1 -0.18 256; #X obj 845 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 -1 -1 -0.05 256; #X obj 160 -30 gemhead 10; #X obj 353 -29 gemhead 20; #X obj 552 -28 gemhead 30; #X obj 747 -27 gemhead 40; #X obj 160 104 alpha; #X obj 353 103 alpha; #X obj 552 99 alpha; #X obj 747 102 alpha; #X msg 256 113 ShadeL \$1; #X obj 199 25 r init_shader; #X obj 256 92 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 -1 -1 0 256; #X msg 447 93 ShadeL \$1; #X obj 447 72 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 -1 -1 39 256; #X msg 634 95 ShadeL \$1; #X obj 634 74 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 -1 -1 35 256; #X msg 831 93 ShadeL \$1; #X obj 831 72 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 -1 -1 23 256; #X msg 212 486 -1; #X msg 269 485 -0.75; #X text 163 486 invert; #X msg 406 485 -1; #X msg 463 484 -0.75; #X text 357 485 invert; #X msg 605 488 -1; #X msg 662 487 -0.75; #X text 556 488 invert; #X msg 800 489 -1; #X msg 857 488 -0.75; #X text 751 489 invert; #X obj 17 218 gemwin; #X obj 37 168 loadbang; #X obj 160 -8 scaleXYZ 4 4 1; #X obj 353 -8 scaleXYZ 4 4 1; #X obj 552 -4 scaleXYZ 4 4 1; #X obj 747 -5 scaleXYZ 4 4 1; #X text 21 548 This patch allow multiples images to be assembled in order to create a panoramic image.; #X text 20 575 A shader distord the image to correct distance distortion \, and allow a fade between 2 images; #X text 17 602 "dz" depend on the angles between images.; #X text 462 579 copyright cyrille Henry and iem.; #X text 463 596 This development was supported by the COMEDIA project ; #X floatatom 18 354 5 0 0 0 - - -; #X msg 18 373 dZ \$1; #X obj 18 311 r init_shader; #X msg 18 333 1.62; #X msg 199 47 1.38; #X msg 37 192 dimen 1024 256; #X msg 177 264 thread 0 \, open cam1.jpg; #X msg 370 265 thread 0 \, open cam2.jpg; #X msg 569 266 thread 0 \, open cam3.jpg; #X msg 764 267 thread 0 \, open cam4.jpg; #X connect 0 0 101 0; #X connect 1 0 101 0; #X connect 2 0 32 0; #X connect 3 0 4 0; #X connect 4 0 6 0; #X connect 4 1 49 0; #X connect 4 1 82 0; #X connect 5 0 118 0; #X connect 6 0 9 0; #X connect 7 0 2 0; #X connect 8 0 7 0; #X connect 9 0 2 0; #X connect 9 1 10 0; #X connect 9 2 11 0; #X connect 10 0 4 1; #X connect 11 0 4 1; #X connect 12 0 33 0; #X connect 13 0 14 0; #X connect 14 0 16 0; #X connect 14 1 50 0; #X connect 14 1 84 0; #X connect 15 0 119 0; #X connect 16 0 19 0; #X connect 17 0 12 0; #X connect 18 0 17 0; #X connect 19 0 12 0; #X connect 19 1 20 0; #X connect 19 2 21 0; #X connect 20 0 14 1; #X connect 21 0 14 1; #X connect 22 0 34 0; #X connect 23 0 24 0; #X connect 24 0 26 0; #X connect 24 1 51 0; #X connect 24 1 86 0; #X connect 25 0 120 0; #X connect 26 0 29 0; #X connect 27 0 22 0; #X connect 28 0 27 0; #X connect 29 0 22 0; #X connect 29 1 30 0; #X connect 29 2 31 0; #X connect 30 0 24 1; #X connect 31 0 24 1; #X connect 32 0 60 0; #X connect 33 0 63 0; #X connect 34 0 66 0; #X connect 35 0 45 0; #X connect 36 0 37 0; #X connect 37 0 39 0; #X connect 37 1 52 0; #X connect 37 1 88 0; #X connect 38 0 121 0; #X connect 39 0 42 0; #X connect 40 0 35 0; #X connect 41 0 40 0; #X connect 42 0 35 0; #X connect 42 1 43 0; #X connect 42 2 44 0; #X connect 43 0 37 1; #X connect 44 0 37 1; #X connect 45 0 69 0; #X connect 46 0 47 0; #X connect 47 0 4 1; #X connect 53 0 14 1; #X connect 54 0 24 1; #X connect 55 0 37 1; #X connect 60 0 56 0; #X connect 61 0 60 1; #X connect 62 0 60 2; #X connect 63 0 57 0; #X connect 64 0 63 1; #X connect 65 0 63 2; #X connect 66 0 58 0; #X connect 67 0 66 1; #X connect 68 0 66 2; #X connect 69 0 59 0; #X connect 70 0 69 1; #X connect 71 0 69 2; #X connect 72 0 103 0; #X connect 73 0 104 0; #X connect 74 0 105 0; #X connect 75 0 106 0; #X connect 76 0 4 0; #X connect 77 0 14 0; #X connect 78 0 24 0; #X connect 79 0 37 0; #X connect 80 0 4 1; #X connect 81 0 116 0; #X connect 82 0 80 0; #X connect 83 0 14 1; #X connect 84 0 83 0; #X connect 85 0 24 1; #X connect 86 0 85 0; #X connect 87 0 37 1; #X connect 88 0 87 0; #X connect 89 0 56 1; #X connect 90 0 56 2; #X connect 92 0 57 1; #X connect 93 0 57 2; #X connect 95 0 58 1; #X connect 96 0 58 2; #X connect 98 0 59 1; #X connect 99 0 59 2; #X connect 102 0 117 0; #X connect 103 0 76 0; #X connect 104 0 77 0; #X connect 105 0 78 0; #X connect 106 0 79 0; #X connect 112 0 113 0; #X connect 113 0 48 0; #X connect 114 0 115 0; #X connect 115 0 112 0; #X connect 116 0 46 0; #X connect 117 0 101 0; #X connect 118 0 6 0; #X connect 119 0 16 0; #X connect 120 0 26 0; #X connect 121 0 39 0;