#N canvas 584 161 745 692 10;
#X declare -lib Gem;
#X obj 482 415 cnv 15 90 40 empty empty empty 20 12 0 14 #f8fc00 #404040 0;
#X obj 175 337 cnv 15 90 60 empty empty empty 20 12 0 14 #f8fc00 #404040 0;
#X obj 174 147 cnv 15 180 25 empty empty pre 2 12 0 14 #00f8fc #000000 0;
#X obj 174 257 cnv 15 180 25 empty empty post 2 12 0 14 #00f8fc #000000 0;
#X obj 20 571 cnv 15 600 30 empty empty empty 20 12 0 14 #fc8000 #404040 0;
#X obj 27 72 cnv 15 100 90 empty empty empty 20 12 0 14 #bcbcbc #404040 0;
#X obj 174 180 cnv 15 180 70 empty empty empty 20 12 0 14 #00fc04 #404040 0;
#X obj 184 24 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 184 68 alpha;
#N canvas 974 317 450 481 draw_6_faces 0;
#X msg 177 365 face \$1;
#X obj 75 18 inlet;
#X obj 177 276 t f f;
#X obj 75 217 t a b;
#X msg 104 241 0;
#X obj 90 190 t a b;
#X obj 105 155 t a b;
#X obj 120 127 t a b;
#X obj 135 100 t a b;
#X obj 150 78 t a b;
#X msg 118 211 1;
#X msg 132 174 2;
#X msg 147 147 3;
#X msg 162 125 4;
#X obj 75 56 t a a a a a a;
#X msg 177 100 5;
#X obj 75 419 outlet;
#X obj 204 341 outlet num_face_to_rot_scene;
#X connect 0 0 16 0;
#X connect 1 0 14 0;
#X connect 2 0 0 0;
#X connect 2 1 17 0;
#X connect 3 0 16 0;
#X connect 3 1 4 0;
#X connect 4 0 2 0;
#X connect 5 0 16 0;
#X connect 5 1 10 0;
#X connect 6 0 16 0;
#X connect 6 1 11 0;
#X connect 7 0 16 0;
#X connect 7 1 12 0;
#X connect 8 0 16 0;
#X connect 8 1 13 0;
#X connect 9 0 16 0;
#X connect 9 1 15 0;
#X connect 10 0 2 0;
#X connect 11 0 2 0;
#X connect 12 0 2 0;
#X connect 13 0 2 0;
#X connect 14 0 3 0;
#X connect 14 1 5 0;
#X connect 14 2 6 0;
#X connect 14 3 7 0;
#X connect 14 4 8 0;
#X connect 14 5 9 0;
#X connect 15 0 2 0;
#X restore 211 152 pd draw_6_faces;
#N canvas 788 152 450 372 rotate_scene 0;
#X obj 81 190 unpack f f;
#X obj 81 78 sel 0 1 2 3 4 5;
#X msg 81 131 0 90;
#X msg 114 131 0 -90;
#X msg 153 131 90 0;
#X msg 188 131 -90 0;
#X msg 234 131 0 0;
#X msg 263 131 0 180;
#X obj 81 47 inlet num_face;
#X obj 50 9 inlet head;
#X obj 50 304 outlet head;
#X floatatom 163 186 5 0 0 0 - - - 0;
#X floatatom 89 245 5 0 0 0 - - - 0;
#X floatatom 148 250 5 0 0 0 - - - 0;
#X floatatom 57 253 5 0 0 0 - - - 0;
#X obj 50 216 rotateXYZ 0 90 0;
#X obj 50 280 rotateXYZ -90 0 90;
#X connect 0 0 15 1;
#X connect 0 1 15 2;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 1 2 4 0;
#X connect 1 3 5 0;
#X connect 1 4 6 0;
#X connect 1 5 7 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X connect 9 0 15 0;
#X connect 11 0 15 3;
#X connect 12 0 16 2;
#X connect 13 0 16 3;
#X connect 14 0 16 1;
#X connect 15 0 16 0;
#X connect 16 0 10 0;
#X restore 211 263 pd rotate_scene;
#X obj 184 107 t a a;
#N canvas 620 313 360 553 shader 0;
#X obj 72 166 glsl_vertex;
#X obj 72 269 glsl_fragment;
#X obj 72 449 glsl_program \; alpha 1;
#X obj 147 387 pack 0 0;
#X msg 147 409 link \$1 \$2;
#X floatatom 147 324 2 0 0 0 ID - - 0;
#X floatatom 135 194 2 0 0 0 ID - - 0;
#X obj 120 60 tgl 15 0 \$0-shadOn-snd \$0-shadOn-rcv on/off 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 21 59 inlet gemlist;
#X obj 21 489 outlet gemlist;
#X msg 87 139 open \$1.vert;
#X msg 179 269 open \$1.frag;
#X obj 120 14 loadbang;
#X msg 120 36 1;
#X obj 152 69 inlet loadShader;
#X obj 229 408 inlet variables;
#N canvas 85 80 450 300 demux 0;
#X obj 52 33 inlet;
#X obj 308 37 inlet select;
#X obj 52 55 t a a;
#X obj 52 148 outlet;
#X obj 105 105 == 0;
#X obj 52 126 spigot 1;
#X obj 122 148 outlet;
#X obj 175 105 == 1;
#X obj 122 126 spigot 0;
#X obj 308 59 t f f;
#X connect 0 0 2 0;
#X connect 1 0 9 0;
#X connect 2 0 5 0;
#X connect 2 1 8 0;
#X connect 4 0 5 1;
#X connect 5 0 3 0;
#X connect 7 0 8 1;
#X connect 8 0 6 0;
#X connect 9 0 4 0;
#X connect 9 1 7 0;
#X restore 21 108 pd demux;
#X obj 152 91 symbol;
#X obj 147 429 t a a;
#X obj 174 501 print -n;
#X obj 174 455 list prepend;
#X obj 174 478 list trim;
#X obj 152 113 t s s s;
#X connect 0 0 1 0;
#X connect 0 1 6 0;
#X connect 1 0 2 0;
#X connect 1 1 5 0;
#X connect 2 0 9 0;
#X connect 3 0 4 0;
#X connect 4 0 18 0;
#X connect 5 0 3 0;
#X connect 6 0 3 1;
#X connect 7 0 16 1;
#X connect 8 0 16 0;
#X connect 10 0 0 0;
#X connect 11 0 1 0;
#X connect 12 0 13 0;
#X connect 13 0 7 0;
#X connect 14 0 17 0;
#X connect 15 0 2 0;
#X connect 16 0 9 0;
#X connect 16 1 0 0;
#X connect 17 0 22 0;
#X connect 18 0 2 0;
#X connect 18 1 20 0;
#X connect 20 0 21 0;
#X connect 21 0 19 0;
#X connect 22 0 10 0;
#X connect 22 1 11 0;
#X connect 22 2 20 1;
#X restore 184 369 pd shader;
#X obj 184 343 pix_texture;
#X obj 184 310 separator;
#X obj 211 130 separator;
#X obj 276 343 loadbang;
#X obj 184 576 rectangle 2.8 1.4;
#X obj 355 63 gemframebuffer;
#X obj 326 532 translateXYZ 0 0 -4;
#X obj 184 553 spigot;
#X obj 326 575 sphere 4 50;
#X obj 223 530 == 1;
#X obj 39 553 translateXYZ 0 0 -7;
#X obj 33 184 vradio 20 1 0 4 empty empty empty 0 -8 0 10 #f8fc00 #000000 #000000 0;
#X text 55 185 scene;
#X text 55 204 equirectangular;
#X text 55 224 mapped to sphere;
#X obj 223 506 r \$0-show;
#X obj 33 269 s \$0-show;
#X obj 379 460 r \$0-show;
#X obj 92 486 r \$0-show;
#X obj 92 508 == 0;
#X obj 39 531 spigot 1;
#X obj 379 483 == 2;
#X obj 326 508 spigot 0;
#X obj 211 288 s \$0-sceneHead;
#X obj 39 575 s \$0-sceneHead;
#X msg 92 51 lighting \$1;
#X obj 92 27 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X text 30 72 1:Create window;
#X obj 404 259 cnv 15 120 60 empty empty empty 20 12 0 14 #f8fc00 #404040 0;
#N canvas 801 163 632 578 draw_scene 0;
#X obj 243 285 rotateXYZ;
#X obj 402 84 f;
#X obj 402 109 + 1;
#X obj 402 61 metro 50;
#X obj 63 314 cube 0.75;
#X obj 63 283 rotateXYZ 45 0 0;
#X obj 62 434 sphere 0.75 30;
#X obj 63 179 separator;
#X obj 243 181 separator;
#X obj 62 346 separator;
#X obj 242 348 separator;
#X obj 63 255 translateXYZ 3 3 0;
#X obj 243 243 translateXYZ 3 -3 0;
#X obj 62 411 translateXYZ -3 3 0;
#X obj 242 410 translateXYZ -3 -3 0;
#X obj 243 316 cylinder 0.75;
#X obj 242 436 cube 0.75;
#X obj 402 315 / 180;
#X obj 402 334 * 3.14159;
#X obj 402 358 cos;
#X obj 402 276 * 10;
#X obj 390 414 f;
#X obj 390 386 + 1;
#X obj 418 387 * -1;
#X obj 418 414 + 1;
#X floatatom 320 341 5 0 0 0 - - - 0;
#X obj 63 218 color 0.8 0.2 0.2;
#X obj 243 218 color 0.2 0.8 0.2;
#X obj 242 385 color 0.8 0.8 0.2;
#X obj 62 385 color 0.2 0.2 0.8;
#X obj 402 16 loadbang;
#X obj 402 40 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X floatatom 156 320 5 0 0 0 - - - 0;
#X obj 185 34 inlet;
#X obj 185 88 rotateXYZ 0 0 0;
#X obj 488 187 separator;
#X obj 488 211 color 0.2 0.8 0.8;
#X msg 504 261 draw line;
#X obj 185 112 t a a;
#X obj 185 139 t a;
#X obj 504 239 loadbang;
#X obj 253 54 * 0.5;
#X obj 402 133 mod 720;
#X obj 488 295 sphere 6 20;
#X msg 466 95 0;
#X connect 0 0 15 0;
#X connect 1 0 2 0;
#X connect 2 0 42 0;
#X connect 3 0 1 0;
#X connect 5 0 4 0;
#X connect 7 0 26 0;
#X connect 8 0 27 0;
#X connect 9 0 29 0;
#X connect 10 0 28 0;
#X connect 11 0 5 0;
#X connect 12 0 0 0;
#X connect 13 0 6 0;
#X connect 14 0 16 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 22 0;
#X connect 19 0 23 0;
#X connect 20 0 17 0;
#X connect 21 0 14 3;
#X connect 21 0 11 3;
#X connect 22 0 21 0;
#X connect 23 0 24 0;
#X connect 24 0 13 3;
#X connect 24 0 12 3;
#X connect 25 0 15 1;
#X connect 26 0 11 0;
#X connect 27 0 12 0;
#X connect 28 0 14 0;
#X connect 29 0 13 0;
#X connect 30 0 31 0;
#X connect 31 0 3 0;
#X connect 32 0 5 3;
#X connect 33 0 34 0;
#X connect 34 0 38 0;
#X connect 35 0 36 0;
#X connect 36 0 43 0;
#X connect 37 0 43 0;
#X connect 38 0 39 0;
#X connect 38 1 35 0;
#X connect 39 0 7 0;
#X connect 39 0 9 0;
#X connect 39 0 8 0;
#X connect 39 0 10 0;
#X connect 40 0 37 0;
#X connect 41 0 34 1;
#X connect 42 0 1 1;
#X connect 42 0 0 3;
#X connect 42 0 5 3;
#X connect 42 0 0 2;
#X connect 42 0 20 0;
#X connect 42 0 34 3;
#X connect 42 0 34 2;
#X connect 42 0 41 0;
#X connect 44 0 42 0;
#X restore 409 294 pd draw_scene;
#X obj 409 265 r \$0-sceneHead;
#X text 30 165 Show:;
#X obj 553 148 hsl 128 15 0 1 0 0 empty empty background_opacity -2 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X msg 550 169 color 0 0.1 0.2 \$1;
#X text 14 630 Antoine Rousseau nov 2015;
#X text 316 64 See:;
#X text 467 64 for more messages.;
#X text 309 39 Renders a scene to faces of a GL cubemap texture.;
#X msg 276 366 cubemaptosphere;
#N canvas 624 251 360 553 shader 0;
#X obj 72 166 glsl_vertex;
#X obj 72 269 glsl_fragment;
#X obj 72 449 glsl_program;
#X obj 147 387 pack 0 0;
#X msg 147 409 link \$1 \$2;
#X floatatom 147 324 2 0 0 0 ID - - 0;
#X floatatom 135 194 2 0 0 0 ID - - 0;
#X obj 120 60 tgl 15 0 \$0-shadOn-snd \$0-shadOn-rcv on/off 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 21 59 inlet gemlist;
#X obj 21 489 outlet gemlist;
#X msg 87 139 open \$1.vert;
#X msg 179 238 open \$1.frag;
#X obj 120 14 loadbang;
#X msg 120 36 1;
#X obj 152 69 inlet loadShader;
#X obj 238 408 inlet variables;
#N canvas 85 80 450 300 demux 0;
#X obj 52 33 inlet;
#X obj 308 37 inlet select;
#X obj 52 55 t a a;
#X obj 52 148 outlet;
#X obj 105 105 == 0;
#X obj 52 126 spigot 1;
#X obj 122 148 outlet;
#X obj 175 105 == 1;
#X obj 122 126 spigot 0;
#X obj 308 59 t f f;
#X connect 0 0 2 0;
#X connect 1 0 9 0;
#X connect 2 0 5 0;
#X connect 2 1 8 0;
#X connect 4 0 5 1;
#X connect 5 0 3 0;
#X connect 7 0 8 1;
#X connect 8 0 6 0;
#X connect 9 0 4 0;
#X connect 9 1 7 0;
#X restore 21 108 pd demux;
#X obj 152 91 symbol;
#X obj 174 501 print -n;
#X obj 174 455 list prepend;
#X obj 174 478 list trim;
#X obj 147 430 t a a;
#X obj 152 113 t s s s;
#X connect 0 0 1 0;
#X connect 0 1 6 0;
#X connect 1 0 2 0;
#X connect 1 1 5 0;
#X connect 2 0 9 0;
#X connect 3 0 4 0;
#X connect 4 0 21 0;
#X connect 5 0 3 0;
#X connect 6 0 3 1;
#X connect 7 0 16 1;
#X connect 8 0 16 0;
#X connect 10 0 0 0;
#X connect 11 0 1 0;
#X connect 12 0 13 0;
#X connect 13 0 7 0;
#X connect 14 0 17 0;
#X connect 15 0 2 0;
#X connect 16 0 9 0;
#X connect 16 1 0 0;
#X connect 17 0 22 0;
#X connect 19 0 20 0;
#X connect 20 0 18 0;
#X connect 21 0 2 0;
#X connect 21 1 19 0;
#X connect 22 0 10 0;
#X connect 22 1 11 0;
#X connect 22 2 19 1;
#X restore 493 429 pd shader;
#X obj 575 364 loadbang;
#X obj 493 385 spigot;
#X obj 532 338 r \$0-show;
#X msg 575 387 cubemaptocube;
#X obj 532 362 == 3;
#X obj 493 542 accumrotate;
#X obj 493 489 t a b;
#X obj 520 521 0.5;
#X obj 551 520 0.7;
#X obj 493 462 translateXYZ 0 0 -4;
#X obj 686 677 separator;
#X obj 493 578 cube 3;
#X msg 623 423 3;
#X msg 587 424 -4;
#X msg 456 498 3;
#X msg 420 499 -4;
#X obj 184 46 gemhead;
#X text 55 245 mapped to cube;
#X obj 608 8 declare -lib Gem;
#X obj 34 90 _gemwin \; 0 \; 0 \; view 0 0 3;
#X obj 635 74 world_light;
#X obj 635 51 gemhead 80;
#X obj 211 186 gemcubeframebuffer \; dimen 512 512 \; format RGBA \; color 0 0.1 0.2 1;
#X connect 7 0 69 0;
#X connect 8 0 11 0;
#X connect 9 0 75 0;
#X connect 9 1 10 1;
#X connect 10 0 36 0;
#X connect 11 0 14 0;
#X connect 11 1 15 0;
#X connect 12 0 20 0;
#X connect 12 0 35 0;
#X connect 13 0 12 0;
#X connect 13 0 54 0;
#X connect 14 0 13 0;
#X connect 14 0 33 0;
#X connect 15 0 9 0;
#X connect 16 0 51 0;
#X connect 19 0 21 0;
#X connect 20 0 17 0;
#X connect 22 0 20 1;
#X connect 23 0 37 0;
#X connect 24 0 29 0;
#X connect 28 0 22 0;
#X connect 30 0 34 0;
#X connect 31 0 32 0;
#X connect 32 0 33 1;
#X connect 33 0 23 0;
#X connect 34 0 35 1;
#X connect 35 0 19 0;
#X connect 38 0 72 0;
#X connect 39 0 38 0;
#X connect 43 0 42 0;
#X connect 45 0 46 0;
#X connect 46 0 75 0;
#X connect 51 0 12 1;
#X connect 52 0 62 0;
#X connect 53 0 56 0;
#X connect 54 0 52 0;
#X connect 55 0 57 0;
#X connect 56 0 52 1;
#X connect 57 0 54 1;
#X connect 58 0 64 0;
#X connect 59 0 58 0;
#X connect 59 1 60 0;
#X connect 59 1 61 0;
#X connect 60 0 58 1;
#X connect 61 0 58 2;
#X connect 62 0 59 0;
#X connect 65 0 62 3;
#X connect 66 0 62 3;
#X connect 67 0 19 3;
#X connect 68 0 19 3;
#X connect 69 0 8 0;
#X connect 74 0 73 0;
#X connect 75 0 10 0;
#X connect 75 1 13 1;
