#N canvas 358 22 1185 756 10; #X declare -path . -path .. -path data -path ../data -path ev-in -path ../ev-in -path ev-main -path ../ev-main -path ev-pano -path ../ev-pano -path ev-pro -path ../ev-pro -path libs/gil -path ../libs/gil -path libs/kollabs -path ../libs/kollabs -path media -path ../media -path ev-glsl -path ../ev-glsl -lib Gem; #X obj 466 248 cnv 15 400 350 empty empty OUTPUT_MODULES 20 12 0 14 -204800 -66577 0; #X obj 10 40 cnv 15 500 180 empty empty FRAMEBUFFER 20 12 0 14 -262130 -66577 0; #X obj 10 228 cnv 15 450 400 empty empty INPUT_MODULES 20 12 0 14 -204786 -66577 0; #X obj 15 288 t a a; #X obj 10 10 cnv 15 870 16 empty empty example:_360_DEGREES_PANORAMIC_VIDEO_&_PROJECTION 20 8 0 14 -233017 -66577 0; #X obj 526 88 cnv 15 160 50 empty empty INITIALISATIONS 20 12 0 14 -261234 -66577 0; #N canvas 407 107 485 422 init 0; #X obj 56 92 loadbang; #X obj 44 -23 cnv 15 400 100 empty empty IMPORTANT 20 12 0 14 -261234 -66577 0; #X text 49 -3 Such a declare object should always be in the main patch of your project \, to set the pathes to the abstractions.; #X text 159 160 load the preset file on startup:; #X obj 56 134 t b b; #X obj 83 158 del 1000; #X obj 56 241 del 3000; #X text 127 93 The DATA STORAGE SYSTEM will be explained in a later example.; #X obj 158 43 ev-main/ev_declare; #X text 156 229 (pathes relative to "./libs/kollabs"); #X text 66 282 Recall scene '0' from the loaded preset file; #X msg 83 180 \; /ds/0/loadfile ../../data/ev_example_panoramic_360_preset.txt ; #X msg 56 302 \; /ds/0/scene 0; #X connect 0 0 4 0; #X connect 4 0 6 0; #X connect 4 1 5 0; #X connect 5 0 11 0; #X connect 6 0 12 0; #X restore 620 117 pd init; #X text 541 115 look inside:; #X obj 490 275 gemhead 50; #X obj 490 298 t a a a; #X obj 15 71 gemhead 20; #X obj 477 613 ev_storage; #X obj 526 158 ev_gemwin; #X obj 15 96 ev_buf 0; #X obj 15 475 ev_grid 0; #X obj 42 317 ev_pic 0; #X obj 42 390 ev_360 0; #X obj 300 124 gemhead 100; #X obj 300 174 pix_texture; #X obj 300 104 tgl 15 0 empty empty show_framebuffer_contents 17 7 0 10 -260097 -1 -1 0 1; #X obj 300 56 loadbang; #X msg 300 78 0; #X text 59 254 This example uses a 360 degree photo. Click on "calib" in the [ev_360] module to deactivate the image unwrapping. You see \, that the image is taken with a cone-shaped mirror in front of the camera lens.; #X text 529 33 This example uses one panorama image \, made with one camera in front of a cone-shaped mirror \, and projects it on an immersive screen made of three planar elements.; #X obj 722 302 r /ev/buf/0/texture_id; #X obj 363 148 r /ev/buf/0/texture_id; #X obj 683 482 r /ev/buf/0/texture_id; #X obj 702 392 r /ev/buf/0/texture_id; #X text 717 134 click "create" to start; #X text 609 282 get framebuffer texture id of framebuffer; #X obj 529 330 ev_pro_22 r; #X obj 509 420 ev_pro_22 c; #X obj 490 510 ev_pro_22 l; #N canvas 0 22 214 204 rotation 0; #X obj 63 53 loadbang; #X obj 63 119 t f f; #X obj 131 104 sel 360; #X obj 63 141 s /ev/360/0/rot; #X obj 63 97 line 0 40; #X msg 63 75 0 \, 360 40000; #X obj 34 55 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text 54 30 Rotation:; #X connect 0 0 5 0; #X connect 1 0 3 0; #X connect 1 1 2 0; #X connect 2 0 5 0; #X connect 4 0 1 0; #X connect 5 0 4 0; #X connect 6 0 5 0; #X restore 332 348 pd rotation; #X text 680 712 (c)2012 Peter Venus & Marian Weger \; /part of EXTENDED VIEW toolkit/ gpl v3; #X text 633 623 Presets are located in the "./data" folder \; This example uses scene "0" of "ev_example_panoramic_360_preset.txt"; #X obj 300 196 rectangle 4 4; #X connect 3 0 14 0; #X connect 3 1 15 0; #X connect 8 0 9 0; #X connect 9 0 32 0; #X connect 9 1 31 0; #X connect 9 2 30 0; #X connect 10 0 13 0; #X connect 13 0 3 0; #X connect 15 0 16 0; #X connect 17 0 18 0; #X connect 18 0 36 0; #X connect 19 0 17 0; #X connect 20 0 21 0; #X connect 21 0 19 0; #X connect 24 0 30 1; #X connect 25 0 18 1; #X connect 26 0 32 1; #X connect 27 0 31 1; #X coords 0 756 1 755 85 60 0;