aboutsummaryrefslogtreecommitdiff
path: root/packages/noncvs/windows/extra/Gem/gemwin.pd
diff options
context:
space:
mode:
Diffstat (limited to 'packages/noncvs/windows/extra/Gem/gemwin.pd')
-rw-r--r--packages/noncvs/windows/extra/Gem/gemwin.pd2802
1 files changed, 2802 insertions, 0 deletions
diff --git a/packages/noncvs/windows/extra/Gem/gemwin.pd b/packages/noncvs/windows/extra/Gem/gemwin.pd
new file mode 100644
index 00000000..313e59d2
--- /dev/null
+++ b/packages/noncvs/windows/extra/Gem/gemwin.pd
@@ -0,0 +1,2802 @@
+#N canvas 84 45 937 526 10;
+#X obj 126 104 inlet;
+#X obj 119 508 outlet;
+#N canvas 3 45 1018 458 argument 0;
+#X obj 291 213 list append \$1;
+#X obj 291 234 route float;
+#X obj 312 33 inlet;
+#X obj 291 256 * -1;
+#X obj 291 276 moses;
+#X obj 291 298 * -1;
+#X msg 365 303 20;
+#X obj 365 278 t b;
+#X obj 291 337 t f;
+#X obj 291 375 s \$0-rate;
+#X obj 678 271 list prepend \$2;
+#X obj 599 388 symbol;
+#X obj 599 151 t b b;
+#X obj 599 225 select sym;
+#X obj 599 203 symbol \$2_;
+#X obj 670 203 makefilename %s2_;
+#X msg 670 176 symbol $;
+#X msg 599 347 __gem_render;
+#X msg 678 347 __gem_render\$1;
+#X obj 678 249 t b;
+#X obj 291 98 t b b;
+#X obj 599 410 s \$0-gemheadbasename;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 1 1 7 0;
+#X connect 2 0 20 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 4 1 6 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 6 0;
+#X connect 8 0 9 0;
+#X connect 10 0 18 0;
+#X connect 11 0 21 0;
+#X connect 12 0 14 0;
+#X connect 12 1 16 0;
+#X connect 13 0 17 0;
+#X connect 13 1 19 0;
+#X connect 14 0 13 0;
+#X connect 15 0 13 1;
+#X connect 16 0 15 0;
+#X connect 17 0 11 0;
+#X connect 18 0 11 0;
+#X connect 19 0 10 0;
+#X connect 20 0 0 0;
+#X connect 20 1 12 0;
+#X restore 390 87 pd argument;
+#N canvas 1569 63 991 633 messages 0;
+#X text 94 19 bang float render title create createStereo createstereo
+buffer fullscreen menubar secondscreen dimen offset color clearmask
+perspec view fog fogcolor fogmode ambient specular shininess cursor
+blur reset destroy print profile lighting stereo stereoSep stereosep
+stereoFoc stereofoc stereoLine stereoline border frame fps topmost
+FSAA;
+#X text 66 132 window specific:;
+#X text 113 152 title create buffer fullscreen menubar secondscreen
+dimen offset cursor reset destroy print border topmost FSAA;
+#X text 121 217 createStereo createstereo stereo stereoSep stereosep
+stereoFoc stereofoc stereoLine stereoline;
+#X text 72 339 lighting/color:;
+#X text 128 293 view perspec;
+#X text 120 356 color clearmask ambient specular shininess lighting
+;
+#X text 106 413 fog fogcolor fogmode;
+#X text 73 390 fog:;
+#X text 70 275 viewpoint:;
+#X text 66 203 stereo:;
+#X text 80 471 bang float render buffer blur reset destroy print profile
+frame fps;
+#X text 72 452 misc:;
+#X text 66 524 multiple:;
+#X text 106 544 buffer reset print;
+#X text 71 589 unused:;
+#X text 112 604 blur;
+#X restore 230 59 pd messages;
+#N canvas 124 50 901 630 window 0;
+#X obj 282 340 t a;
+#X obj 282 389 t a;
+#X obj 282 574 outlet;
+#X text 417 23 messages to be understood:;
+#N canvas 0 0 450 300 messages 0;
+#X text 22 100 create destroy dimen offset secondscreen fullscreen
+cursor menubar border title topmost buffer reset print FSAA;
+#X restore 639 19 pd messages;
+#X text 458 91 create destroy;
+#X text 459 112 cursor menubar topmost;
+#X text 459 51 dimen offset secondscreen fullscreen border title;
+#X text 459 71 buffer FSAA;
+#X text 460 131 reset;
+#X text 462 150 print;
+#X text 350 70 rendercontext:;
+#X text 335 92 window creation:;
+#X text 333 111 live decoration:;
+#X text 318 50 window-decoration:;
+#X text 333 131 default:;
+#X text 333 154 info:;
+#N canvas 0 0 450 399 creation/destruction 0;
+#X obj 96 221 list prepend create;
+#X obj 96 303 outlet gemwin;
+#X obj 96 272 t a;
+#X obj 96 196 r \$0-create;
+#X obj 275 197 r \$0-destroy;
+#X msg 275 221 destroy;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X restore 124 201 pd creation/destruction;
+#N canvas 271 109 611 377 window-decoration 0;
+#X obj 451 282 outlet gemwin;
+#X text 125 101 size;
+#X text 112 167 position;
+#X text 112 229 decoration;
+#X obj 204 88 r \$0-dimen;
+#X msg 204 116 dimen \$1 \$2;
+#X obj 301 88 r \$0-fullscreen;
+#X msg 301 116 fullscreen \$1;
+#X obj 206 151 r \$0-offset;
+#X msg 206 179 offset \$1 \$2;
+#X obj 303 151 r \$0-secondscreen;
+#X msg 303 179 secondscreen \$1;
+#X obj 206 211 r \$0-border;
+#X msg 206 239 border \$1;
+#X obj 303 211 r \$0-title;
+#X obj 303 238 list prepend title;
+#X obj 451 100 t a;
+#X obj 451 160 t a;
+#X obj 451 223 t a;
+#X connect 4 0 5 0;
+#X connect 5 0 16 0;
+#X connect 6 0 7 0;
+#X connect 7 0 16 0;
+#X connect 8 0 9 0;
+#X connect 9 0 17 0;
+#X connect 10 0 11 0;
+#X connect 11 0 17 0;
+#X connect 12 0 13 0;
+#X connect 13 0 18 0;
+#X connect 14 0 15 0;
+#X connect 15 0 18 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 18 0 0 0;
+#X restore 124 172 pd window-decoration;
+#N canvas 401 296 464 399 live 0;
+#X obj 92 273 outlet gemwin;
+#X obj 92 235 t a;
+#X text 44 67 appearance that is changeable after window has been made
+;
+#X obj 92 123 r \$0-cursor;
+#X msg 92 147 cursor \$1;
+#X obj 182 123 r \$0-menubar;
+#X msg 182 147 menubar \$1;
+#X obj 277 123 r \$0-topmost;
+#X msg 277 147 topmost \$1;
+#X connect 1 0 0 0;
+#X connect 3 0 4 0;
+#X connect 4 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 1 0;
+#X connect 7 0 8 0;
+#X connect 8 0 1 0;
+#X restore 124 241 pd live decoration;
+#X obj 282 502 t b;
+#X text 113 485 context established \, now draw!;
+#X obj 439 557 route mouse keyboard dimen offset info;
+#X obj 439 535 outlet info;
+#X obj 282 288 t a;
+#X obj 282 309 list trim;
+#X text 435 479 info callbacks;
+#X text 449 495 (LATER: trigger these by sending their name (without
+args) into the object);
+#N canvas 1331 424 855 424 default 0;
+#X obj 56 80 inlet;
+#X obj 56 122 route reset;
+#X obj 31 186 outlet;
+#X obj 195 216 outlet gemwin;
+#X obj 195 154 t b;
+#X msg 195 177 dimen 500 500 \, offset 0 0 \, fullscreen 0 \, title
+GEM \, buffer 2 \, cursor 1 \, topmost 0;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 1 1 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X restore 34 166 pd default;
+#N canvas 0 0 450 300 info 0;
+#X obj 195 216 outlet gemwin;
+#X obj 195 189 list prepend print;
+#X obj 195 159 r \$0-print;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X restore 124 262 pd info;
+#X obj 282 361 gemdefaultwindow;
+#X obj 565 431 s \$0-realdimen;
+#X obj 333 254 inlet;
+#X obj 282 425 route bang;
+#X obj 348 449 t a a;
+#X obj 460 411 route mouse keyboard dimen offset info;
+#X connect 0 0 30 0;
+#X connect 1 0 33 0;
+#X connect 17 0 24 0;
+#X connect 18 0 24 0;
+#X connect 19 0 24 0;
+#X connect 20 0 2 0;
+#X connect 24 0 25 0;
+#X connect 25 0 0 0;
+#X connect 29 0 24 0;
+#X connect 30 0 1 0;
+#X connect 32 0 0 0;
+#X connect 33 0 20 0;
+#X connect 33 1 34 0;
+#X connect 34 0 23 0;
+#X connect 34 1 35 0;
+#X connect 35 2 31 0;
+#X restore 131 210 pd window;
+#X text 55 19 meant as a modular replacement for the internal [gemwin]
+;
+#X text 53 38 TODO: quite everything;
+#X obj 390 60 loadbang;
+#N canvas 0 0 450 300 keyboard 0;
+#X obj 122 32 inlet;
+#X obj 122 189 s __gem_keyboard;
+#X obj 265 191 s __gem_mouse;
+#X obj 122 109 route keyboard mouse;
+#X obj 181 269 outlet;
+#X obj 122 65 s __gem;
+#X connect 0 0 5 0;
+#X connect 3 0 1 0;
+#X connect 3 1 2 0;
+#X connect 3 2 4 0;
+#X restore 637 371 pd keyboard & mouse;
+#N canvas 64 81 1119 651 README 0;
+#X text 34 30 a new gemwin;
+#X text 67 145 this has some major drawbacks:;
+#X text 66 57 for legacy reasons \, [gemwin] is the interface to:;
+#X text 79 72 - the rendering context (e.g. window creation);
+#X text 79 84 - the general rendering engine (e.g. turning on/off rendering)
+;
+#X text 80 110 - global settings of the rendered scene (e.g. background
+colour);
+#X text 95 190 - non-modular;
+#X text 94 160 - blackbox for the users (no way to change how certain
+things work without hacking the C++-code);
+#X text 94 207 - single-window;
+#X text 50 252 make it better:;
+#X text 94 292 - [gemwindow]: low level interface to the window manager
+;
+#X text 73 271 [gemwin] now consists of several modules;
+#X text 94 333 - Pd-(sub)patches for global render settings;
+#X text 94 313 - Pd-(sub)patches for render-control;
+#X text 77 495 mouse/keyboard events are now handled by the window
+itself and [s]ent to the (compat) [gemmouse] and [gemkeyboard] objects
+on a global receiver.;
+#X text 56 476 user-interaction:;
+#X text 80 542 however \, users can as well grab the mouse/keyboard
+data directly from the [gemwindow] object \, so this info can be attached
+to a certain window.;
+#X text 57 376 rendering:;
+#X text 74 392 rendering is now done by explicitely sending bangs via
+global receivers to the [gemhead] abstractions.;
+#X text 77 427 users can implement their own [gemhead]s (and senders
+for that matter as well) \, in order to (e.g.) render certain parts
+of the graph into a specific window/framebuffer/...;
+#X text 628 371 modularity:;
+#X text 642 387 obviously \, users can modify the default [gemwin]
+abstractions to strip it from whatever they don't need (and add whatever
+they do need).;
+#X text 641 450 the sole purpose of this abstraction is to provide
+a minimum compatibility with old patches;
+#X restore 592 3 pd README;
+#N canvas 165 0 544 526 callbacks 0;
+#N canvas 61 12 963 457 viewpoint 0;
+#X obj 476 254 t l l;
+#X obj 508 277 list length;
+#X obj 508 300 select 6;
+#X obj 476 347 spigot 0;
+#X msg 508 326 1;
+#X msg 547 346 0;
+#X obj 561 324 t b f;
+#X obj 593 367 print error;
+#X msg 593 348 perspec message needs 6 arguments (got \$1);
+#X obj 476 367 s \$0-perspec;
+#N canvas 0 0 450 300 9-args 0;
+#X obj 67 60 inlet;
+#X obj 67 239 outlet;
+#X connect 0 0 1 0;
+#X restore 163 275 pd 9-args;
+#X obj 163 316 t a;
+#N canvas 1414 250 827 534 345-args 0;
+#X obj 72 36 inlet;
+#X obj 72 379 outlet;
+#X obj 72 81 pack 0 0 0 0 0;
+#X msg 143 59 0;
+#X text 179 81 x y z azm elv;
+#X obj 72 344 pack 0 0 0 0 0 0 0 0 0;
+#X text 234 347 eyeX eyeY eyeZ centerX centerY centerZ upX upY upZ
+;
+#X obj 72 117 t f l;
+#X obj 104 144 unpack 0 0 0 0 0;
+#N canvas 694 467 450 300 dx 0;
+#X obj 52 32 inlet azm;
+#X obj 269 52 inlet elv;
+#X obj 52 190 outlet dX;
+#X obj 131 190 outlet dY;
+#X obj 210 190 outlet dZ;
+#X obj 342 54 / 45;
+#X obj 251 94 * 0.0174533;
+#X obj 342 31 atan;
+#X msg 342 10 1;
+#X obj 251 74 f;
+#X obj 52 94 * 0.0174533;
+#X obj 52 53 t f b b;
+#X obj 52 130 expr cos($f2)*sin($f1) \; sin($f2) \; -cos($f2)*cos($f1)
+;
+#X connect 0 0 11 0;
+#X connect 1 0 9 1;
+#X connect 5 0 6 1;
+#X connect 5 0 10 1;
+#X connect 6 0 12 1;
+#X connect 7 0 5 0;
+#X connect 8 0 7 0;
+#X connect 9 0 6 0;
+#X connect 10 0 12 0;
+#X connect 11 0 10 0;
+#X connect 11 1 9 0;
+#X connect 11 2 8 0;
+#X connect 12 0 2 0;
+#X connect 12 1 3 0;
+#X connect 12 2 4 0;
+#X restore 185 167 pd dx dy dz;
+#N canvas 488 175 450 300 up 0;
+#X obj 84 48 inlet dX;
+#X obj 84 238 outlet upX;
+#X obj 184 48 inlet dY;
+#X obj 184 238 outlet upY;
+#X obj 294 48 inlet dZ;
+#X obj 294 238 outlet upZ;
+#X obj 84 121 expr -$f1*$f2 \; $f1*$f1+$f3*$f3 \; -$f2*$f3;
+#X connect 0 0 6 0;
+#X connect 2 0 6 1;
+#X connect 4 0 6 2;
+#X connect 6 0 1 0;
+#X connect 6 1 3 0;
+#X connect 6 2 5 0;
+#X restore 227 312 pd up;
+#X obj 146 269 * 1;
+#X obj 128 288 +;
+#X obj 337 187 t f f f;
+#X obj 176 269 * 1;
+#X obj 158 288 +;
+#X obj 206 269 * 1;
+#X obj 188 288 +;
+#X obj 72 60 t l b b;
+#X obj 356 36 inlet stereoFocal;
+#X obj 338 103 * -1;
+#X obj 338 125 moses;
+#X obj 338 146 * -1;
+#X msg 372 146 1;
+#X obj 337 165 t f;
+#X obj 338 81 f;
+#X connect 0 0 18 0;
+#X connect 2 0 7 0;
+#X connect 3 0 2 3;
+#X connect 3 0 2 4;
+#X connect 5 0 1 0;
+#X connect 7 0 5 0;
+#X connect 7 1 8 0;
+#X connect 8 0 12 0;
+#X connect 8 1 5 1;
+#X connect 8 1 15 0;
+#X connect 8 2 5 2;
+#X connect 8 2 17 0;
+#X connect 8 3 9 0;
+#X connect 8 4 9 1;
+#X connect 9 0 10 0;
+#X connect 9 0 11 0;
+#X connect 9 1 10 1;
+#X connect 9 1 14 0;
+#X connect 9 2 10 2;
+#X connect 9 2 16 0;
+#X connect 10 0 5 6;
+#X connect 10 1 5 7;
+#X connect 10 2 5 8;
+#X connect 11 0 12 1;
+#X connect 12 0 5 3;
+#X connect 13 0 11 1;
+#X connect 13 1 14 1;
+#X connect 13 2 16 1;
+#X connect 14 0 15 1;
+#X connect 15 0 5 4;
+#X connect 16 0 17 1;
+#X connect 17 0 5 5;
+#X connect 18 0 2 0;
+#X connect 18 1 3 0;
+#X connect 18 2 25 0;
+#X connect 19 0 25 1;
+#X connect 20 0 21 0;
+#X connect 21 0 22 0;
+#X connect 21 1 23 0;
+#X connect 22 0 24 0;
+#X connect 23 0 24 0;
+#X connect 24 0 13 0;
+#X connect 25 0 20 0;
+#X restore 251 275 pd 345-args;
+#N canvas 0 0 789 408 demux 0;
+#X obj 119 92 t l l;
+#X obj 151 112 list length;
+#X obj 119 246 spigot 0;
+#X obj 250 246 spigot 0;
+#X obj 119 216 t l l l;
+#X obj 370 246 spigot 0;
+#X obj 151 133 t f b;
+#X msg 304 187 0;
+#X msg 423 195 1;
+#X msg 179 215 1;
+#X msg 276 218 1;
+#X obj 370 313 print error;
+#X obj 119 47 inlet;
+#X obj 151 156 select 9 3 4 5;
+#X obj 197 181 t b;
+#X obj 119 295 outlet 9-args;
+#X obj 250 355 outlet 345-args;
+#X msg 370 285 view message needs 3 4 5 or 9 arguments;
+#X connect 0 0 4 0;
+#X connect 0 1 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 15 0;
+#X connect 3 0 16 0;
+#X connect 4 0 2 0;
+#X connect 4 1 3 0;
+#X connect 4 2 5 0;
+#X connect 5 0 17 0;
+#X connect 6 0 13 0;
+#X connect 6 1 7 0;
+#X connect 7 0 2 1;
+#X connect 7 0 3 1;
+#X connect 7 0 5 1;
+#X connect 8 0 5 1;
+#X connect 9 0 2 1;
+#X connect 10 0 3 1;
+#X connect 12 0 0 0;
+#X connect 13 0 9 0;
+#X connect 13 1 14 0;
+#X connect 13 2 14 0;
+#X connect 13 3 14 0;
+#X connect 13 4 8 0;
+#X connect 14 0 10 0;
+#X connect 17 0 11 0;
+#X restore 163 246 pd demux;
+#X obj 325 253 r \$0-stereoFocal;
+#X obj 163 339 s \$0-viewpoint;
+#X obj 163 155 route view perspec;
+#X obj 163 115 inlet;
+#X obj 286 115 outlet;
+#X obj 313 295 r \$0-reset;
+#X msg 313 316 0 0 4 0 0 0 0 1 0;
+#X obj 612 302 r \$0-reset;
+#X msg 612 322 -1 1 -1 1 1 20;
+#X connect 0 0 3 0;
+#X connect 0 1 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 2 1 6 0;
+#X connect 3 0 9 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 1;
+#X connect 6 0 5 0;
+#X connect 6 1 8 0;
+#X connect 8 0 7 0;
+#X connect 10 0 11 0;
+#X connect 11 0 15 0;
+#X connect 12 0 11 0;
+#X connect 13 0 10 0;
+#X connect 13 1 12 0;
+#X connect 14 0 12 1;
+#X connect 16 0 13 0;
+#X connect 16 1 0 0;
+#X connect 16 2 18 0;
+#X connect 17 0 16 0;
+#X connect 19 0 20 0;
+#X connect 20 0 15 0;
+#X connect 21 0 22 0;
+#X connect 22 0 9 0;
+#X restore 118 148 pd viewpoint;
+#X obj 118 31 inlet message;
+#N canvas 437 175 450 364 fog 0;
+#X obj 79 130 select 1 2 3;
+#X obj 79 169 GLdefine GL_LINEAR;
+#X obj 108 188 GLdefine GL_EXP;
+#X obj 136 209 GLdefine GL_EXP2;
+#X obj 79 85 route fogmode fog fogcolor;
+#X obj 79 109 i;
+#N canvas 0 0 694 400 fogMess 0;
+#X obj 119 66 inlet;
+#X obj 119 92 t l l;
+#X obj 151 112 list length;
+#X obj 119 246 spigot 0;
+#X obj 250 246 spigot 0;
+#X obj 250 272 pack 0 0;
+#X obj 119 271 f 0;
+#X obj 119 216 t l l l;
+#X obj 370 246 spigot 0;
+#X obj 151 133 t f b;
+#X msg 304 187 0;
+#X obj 151 156 select 1 2;
+#X msg 423 195 1;
+#X msg 179 215 1;
+#X msg 276 218 1;
+#X obj 370 313 print error;
+#X msg 370 285 fog message needs 1 or 2 arguments;
+#X obj 119 312 s \$0-fogDensity;
+#X obj 250 313 s \$0-fogRange;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 1 1 2 0;
+#X connect 2 0 9 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 5 0 18 0;
+#X connect 6 0 17 0;
+#X connect 7 0 3 0;
+#X connect 7 1 4 0;
+#X connect 7 2 8 0;
+#X connect 8 0 16 0;
+#X connect 9 0 11 0;
+#X connect 9 1 10 0;
+#X connect 10 0 3 1;
+#X connect 10 0 4 1;
+#X connect 10 0 8 1;
+#X connect 11 0 13 0;
+#X connect 11 1 14 0;
+#X connect 11 2 12 0;
+#X connect 12 0 8 1;
+#X connect 13 0 3 1;
+#X connect 14 0 4 1;
+#X connect 16 0 15 0;
+#X restore 209 134 pd fogMess;
+#N canvas 173 78 694 400 fogColorMess 0;
+#X obj 119 66 inlet;
+#X obj 151 112 list length;
+#X obj 119 246 spigot 0;
+#X obj 370 246 spigot 0;
+#X obj 151 133 t f b;
+#X msg 304 187 0;
+#X msg 423 195 1;
+#X msg 179 215 1;
+#X obj 370 313 print error;
+#X obj 151 156 select 3 4;
+#X msg 370 285 fogcolor needs 3 or 4 arguments;
+#X obj 119 92 t l l b;
+#X obj 119 316 pack 0 0 0 1;
+#X obj 119 216 t l l;
+#X msg 200 297 1;
+#X obj 119 362 s \$0-fogColor;
+#X connect 0 0 11 0;
+#X connect 1 0 4 0;
+#X connect 2 0 12 0;
+#X connect 3 0 10 0;
+#X connect 4 0 9 0;
+#X connect 4 1 5 0;
+#X connect 5 0 2 1;
+#X connect 5 0 3 1;
+#X connect 6 0 3 1;
+#X connect 7 0 2 1;
+#X connect 9 0 7 0;
+#X connect 9 1 7 0;
+#X connect 9 2 6 0;
+#X connect 10 0 8 0;
+#X connect 11 0 13 0;
+#X connect 11 1 1 0;
+#X connect 11 2 14 0;
+#X connect 12 0 15 0;
+#X connect 13 0 2 0;
+#X connect 13 1 3 0;
+#X connect 14 0 12 3;
+#X restore 299 134 pd fogColorMess;
+#X obj 79 59 inlet;
+#X obj 283 62 outlet;
+#X obj 233 304 s \$0-fog;
+#X obj 98 232 t f b;
+#X msg 200 277 1;
+#X msg 233 277 0;
+#X obj 98 291 s \$0-fogMode;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 0 2 3 0;
+#X connect 0 3 13 0;
+#X connect 1 0 11 0;
+#X connect 2 0 11 0;
+#X connect 3 0 11 0;
+#X connect 4 0 5 0;
+#X connect 4 1 6 0;
+#X connect 4 2 7 0;
+#X connect 4 3 9 0;
+#X connect 5 0 0 0;
+#X connect 8 0 4 0;
+#X connect 11 0 14 0;
+#X connect 11 1 12 0;
+#X connect 12 0 10 0;
+#X connect 13 0 10 0;
+#X restore 118 172 pd fog;
+#N canvas 574 76 450 300 reset 0;
+#X obj 118 57 route reset;
+#X obj 118 78 t b;
+#X obj 118 100 s \$0-reset;
+#X obj 118 28 inlet;
+#X obj 209 27 outlet;
+#X connect 0 0 1 0;
+#X connect 0 1 4 0;
+#X connect 1 0 2 0;
+#X connect 3 0 0 0;
+#X restore 118 54 pd reset;
+#N canvas 0 0 975 410 lighting 0;
+#X obj 97 48 inlet;
+#X obj 97 69 route lighting ambient specular shininess;
+#X obj 97 97 i;
+#X obj 97 122 > 0;
+#X obj 97 149 s \$0-lighting;
+#X obj 488 53 r \$0-reset;
+#X msg 204 215 0.1 0.1 0.1 1;
+#X obj 84 213 pack 0 0 0 1;
+#X obj 84 186 t l b;
+#X msg 165 188 1;
+#X obj 84 234 s \$0-ambient;
+#X obj 84 289 pack 0 0 0 1;
+#X obj 84 262 t l b;
+#X msg 165 264 1;
+#X msg 273 255 1 1 1 1;
+#X obj 84 314 s \$0-specular;
+#X msg 543 128 100;
+#X obj 436 133 f;
+#X obj 436 159 s \$0-shininess;
+#X obj 356 48 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 1 8 0;
+#X connect 1 2 12 0;
+#X connect 1 3 17 0;
+#X connect 1 4 19 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 5 0 6 0;
+#X connect 5 0 14 0;
+#X connect 5 0 16 0;
+#X connect 6 0 8 0;
+#X connect 7 0 10 0;
+#X connect 8 0 7 0;
+#X connect 8 1 9 0;
+#X connect 9 0 7 3;
+#X connect 11 0 15 0;
+#X connect 12 0 11 0;
+#X connect 12 1 13 0;
+#X connect 13 0 11 3;
+#X connect 14 0 12 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X restore 118 193 pd lighting;
+#N canvas 0 0 1001 529 window 0;
+#X obj 111 53 inlet;
+#X obj 700 421 outlet;
+#X obj 111 109 route create destroy;
+#X text 300 17 create destroy \; dimen fullscreen offset secondscreen
+\; border title \; cursor topmost menubar \; buffer \; FSAA;
+#X obj 111 163 route dimen fullscreen offset secondscreen;
+#X obj 111 283 route border title;
+#X obj 111 403 route cursor topmost menubar;
+#X obj 570 420 route buffer FSAA;
+#N canvas 0 0 666 297 buffer 0;
+#X obj 71 47 inlet;
+#X obj 71 84 select 1 2;
+#X obj 71 193 s \$0-buffer;
+#X msg 71 162 1;
+#X msg 104 162 2;
+#X obj 203 183 print error;
+#X msg 203 158 "buffer" must be 1 (single-buffered) or 2 (double-buffered)
+;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 1 1 4 0;
+#X connect 1 2 6 0;
+#X connect 3 0 2 0;
+#X connect 4 0 2 0;
+#X connect 6 0 5 0;
+#X restore 570 443 pd buffer;
+#N canvas 0 0 666 297 FSAA 0;
+#X obj 71 47 inlet;
+#X obj 71 193 s \$0-FSAA;
+#X obj 71 131 i;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 639 443 pd FSAA;
+#X obj 111 135 s \$0-create;
+#X obj 191 135 s \$0-destroy;
+#X obj 111 478 s \$0-cursor;
+#X obj 111 434 i;
+#X obj 111 456 != 0;
+#X obj 191 434 i;
+#X obj 191 456 != 0;
+#X obj 191 478 s \$0-topmost;
+#X obj 281 434 i;
+#X obj 281 478 s \$0-menubar;
+#X obj 111 311 i;
+#X obj 111 333 != 0;
+#X obj 111 355 s \$0-border;
+#X obj 201 354 s \$0-title;
+#X obj 605 99 r \$0-reset;
+#N canvas 487 195 450 300 dimen 0;
+#X obj 80 14 inlet;
+#X obj 80 242 s \$0-dimen;
+#X obj 170 73 unpack 0 0;
+#X obj 170 98 > 0;
+#X obj 237 100 > 0;
+#X obj 170 120 *;
+#X obj 80 169 spigot;
+#X obj 170 147 t f f;
+#X obj 218 147 select 0;
+#X obj 218 211 print error;
+#X msg 218 190 dimensions must be > 0;
+#X obj 80 48 t l l b;
+#X msg 188 44 0;
+#X connect 0 0 11 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 1;
+#X connect 5 0 7 0;
+#X connect 6 0 1 0;
+#X connect 7 0 6 1;
+#X connect 7 1 8 0;
+#X connect 8 0 10 0;
+#X connect 10 0 9 0;
+#X connect 11 0 6 0;
+#X connect 11 1 2 0;
+#X connect 11 2 12 0;
+#X connect 12 0 5 1;
+#X connect 12 0 6 1;
+#X restore 111 216 pd dimen;
+#X obj 183 184 i;
+#X obj 183 206 != 0;
+#X obj 183 228 s \$0-fullscreen;
+#N canvas 487 195 450 300 offset 0;
+#X obj 80 14 inlet;
+#X obj 80 148 unpack;
+#X obj 80 169 pack;
+#X obj 80 97 t l b;
+#X msg 112 119 0;
+#X obj 80 242 s \$0-offset;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 1 1 2 1;
+#X connect 2 0 5 0;
+#X connect 3 0 1 0;
+#X connect 3 1 4 0;
+#X connect 4 0 2 1;
+#X restore 256 191 pd offset;
+#X obj 329 186 i;
+#X obj 329 208 != 0;
+#X obj 329 230 s \$0-secondscreen;
+#X msg 606 120 border 1 \, title GEM \, cursor 1 \, topmost 0 \, menubar
+0 \, buffer 2 \, FSAA 0 \, dimen 500 500 \, fullscreen 0 \, offset
+-1 -1 \, secondscreen 0;
+#X connect 0 0 2 0;
+#X connect 2 0 10 0;
+#X connect 2 1 11 0;
+#X connect 2 2 4 0;
+#X connect 4 0 25 0;
+#X connect 4 1 26 0;
+#X connect 4 2 29 0;
+#X connect 4 3 30 0;
+#X connect 4 4 5 0;
+#X connect 5 0 20 0;
+#X connect 5 1 23 0;
+#X connect 5 2 6 0;
+#X connect 6 0 13 0;
+#X connect 6 1 15 0;
+#X connect 6 2 18 0;
+#X connect 6 3 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 7 2 1 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 0;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X connect 18 0 19 0;
+#X connect 20 0 21 0;
+#X connect 21 0 22 0;
+#X connect 24 0 33 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 30 0 31 0;
+#X connect 31 0 32 0;
+#X connect 33 0 4 0;
+#X restore 118 106 pd window;
+#N canvas 0 0 450 300 print 0;
+#X obj 118 78 t b;
+#X obj 118 28 inlet;
+#X obj 209 27 outlet;
+#X obj 118 57 route print;
+#X obj 118 100 s \$0-print;
+#X connect 0 0 4 0;
+#X connect 1 0 3 0;
+#X connect 3 0 0 0;
+#X connect 3 1 2 0;
+#X restore 118 77 pd print;
+#N canvas 1521 50 810 323 stereo 0;
+#X obj 101 28 inlet;
+#X obj 258 31 outlet;
+#X obj 109 80 route createStereo createstereo stereo stereoSep stereosep
+stereoFoc stereofoc stereoLine stereoline;
+#X obj 243 117 t f;
+#X obj 332 172 t f;
+#X obj 422 125 t f;
+#X obj 198 141 s \$0-stereo;
+#X obj 422 167 s \$0-stereoLine;
+#X obj 332 192 s \$0-stereoFocal;
+#X obj 243 216 s \$0-stereoSeparation;
+#X obj 109 164 t b;
+#X msg 109 208 createStereo?;
+#X obj 109 239 print error;
+#X obj 422 146 != 0;
+#X obj 198 118 i;
+#X connect 0 0 2 0;
+#X connect 2 0 10 0;
+#X connect 2 1 10 0;
+#X connect 2 2 14 0;
+#X connect 2 3 3 0;
+#X connect 2 4 3 0;
+#X connect 2 5 4 0;
+#X connect 2 6 4 0;
+#X connect 2 7 5 0;
+#X connect 2 8 5 0;
+#X connect 2 9 1 0;
+#X connect 3 0 9 0;
+#X connect 4 0 8 0;
+#X connect 5 0 13 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 13 0 7 0;
+#X connect 14 0 6 0;
+#X restore 118 216 pd stereo;
+#N canvas 366 300 658 300 clearmask 0;
+#X obj 57 51 inlet;
+#X obj 57 72 route clearmask;
+#X obj 173 69 outlet;
+#X obj 57 121 s \$0-clearmask;
+#X obj 57 97 t f;
+#X obj 222 110 r \$0-reset;
+#X obj 226 200 GLdefine GL_COLOR_BUFFER_BIT;
+#X obj 255 223 GLdefine GL_DEPTH_BUFFER_BIT;
+#X obj 256 249 GLdefine GL_STENCIL_BUFFER_BIT;
+#X obj 239 271 |;
+#X obj 226 249 |;
+#X obj 222 169 t b b b;
+#X msg 246 133 bang;
+#X obj 317 108 loadbang;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 1 1 2 0;
+#X connect 4 0 3 0;
+#X connect 5 0 11 0;
+#X connect 6 0 10 0;
+#X connect 7 0 10 1;
+#X connect 8 0 9 1;
+#X connect 9 0 3 0;
+#X connect 10 0 9 0;
+#X connect 11 0 6 0;
+#X connect 11 1 7 0;
+#X connect 11 2 8 0;
+#X connect 12 0 11 0;
+#X connect 13 0 11 0;
+#X restore 118 241 pd clearmask;
+#X text 291 333 misc:;
+#X text 285 405 multiple:;
+#X text 325 425 buffer reset print;
+#X text 290 470 unused:;
+#X text 331 485 blur;
+#N canvas 574 300 450 300 color 0;
+#X obj 67 38 inlet;
+#X obj 211 41 outlet;
+#X obj 67 190 pack 0 0 0 1;
+#X obj 67 163 t l b;
+#X msg 148 165 1;
+#X msg 90 138 0 0 0 1;
+#X obj 90 114 r \$0-reset;
+#X obj 67 214 s \$0-color;
+#X obj 67 66 route color;
+#X connect 0 0 8 0;
+#X connect 2 0 7 0;
+#X connect 3 0 2 0;
+#X connect 3 1 4 0;
+#X connect 4 0 2 3;
+#X connect 5 0 3 0;
+#X connect 6 0 5 0;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 118 272 pd color;
+#N canvas 0 0 749 300 render 0;
+#X obj 31 38 inlet;
+#X obj 143 36 outlet;
+#X obj 31 189 s \$0-render;
+#X obj 31 153 > 0;
+#X obj 127 172 print error;
+#X msg 127 147 TODO: implement bang render;
+#X obj 180 91 s \$0-rate;
+#X obj 31 63 route float bang render frame;
+#X obj 394 86 > 0;
+#X obj 394 107 select 0;
+#X msg 394 129 negative fps...;
+#X obj 394 153 print error;
+#X obj 394 63 r \$0-rate;
+#X obj 348 205 r \$0-destroy;
+#X msg 348 230 0;
+#X connect 0 0 7 0;
+#X connect 3 0 2 0;
+#X connect 5 0 4 0;
+#X connect 7 0 3 0;
+#X connect 7 1 5 0;
+#X connect 7 2 5 0;
+#X connect 7 3 6 0;
+#X connect 7 4 1 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 12 0 8 0;
+#X connect 13 0 14 0;
+#X connect 14 0 3 0;
+#X restore 118 301 pd render;
+#X text 299 352 blur print profile frame fps;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
+#X connect 2 0 4 0;
+#X connect 3 0 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 8 0 14 0;
+#X connect 14 0 15 0;
+#X restore 126 127 pd callbacks;
+#N canvas 1830 466 450 333 resetValues 0;
+#N canvas 1854 534 377 366 viewpoint 0;
+#X obj 144 37 inlet gemlist;
+#X obj 144 298 outlet gemlist;
+#N canvas 76 86 399 310 view 0;
+#X obj 24 59 GEMglMatrixMode GL_MODELVIEW;
+#X obj 66 133 unpack 0 0 0 0 0 0 0 0 0;
+#X obj 24 25 inlet gemlist;
+#X obj 24 257 outlet gemlist;
+#X obj 24 156 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 66 109 r \$0-viewpoint;
+#X obj 24 81 GEMglLoadIdentity;
+#X connect 0 0 6 0;
+#X connect 1 0 4 1;
+#X connect 1 1 4 2;
+#X connect 1 2 4 3;
+#X connect 1 3 4 4;
+#X connect 1 4 4 5;
+#X connect 1 5 4 6;
+#X connect 1 6 4 7;
+#X connect 1 7 4 8;
+#X connect 1 8 4 9;
+#X connect 2 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X connect 6 0 4 0;
+#X restore 144 219 pd view;
+#N canvas 444 106 518 344 perspec 0;
+#X obj 144 79 GEMglMatrixMode GL_PROJECTION;
+#X obj 144 104 GEMglLoadIdentity;
+#X obj 144 37 inlet gemlist;
+#X obj 144 268 outlet gemlist;
+#X obj 144 245 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 207 170 unpack 0 0 0 0 0 0;
+#X obj 207 150 r \$0-perspec;
+#X obj 175 221 * 1;
+#X obj 175 200 f -1;
+#X obj 206 221 * 1;
+#X obj 206 200 f 1;
+#X obj 387 97 r \$0-realdimen;
+#X obj 387 122 /;
+#X obj 378 155 t b f f;
+#X obj 164 151 t b b;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 2 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 8 0;
+#X connect 5 1 10 0;
+#X connect 5 2 4 3;
+#X connect 5 3 4 4;
+#X connect 5 4 4 5;
+#X connect 5 5 4 6;
+#X connect 6 0 5 0;
+#X connect 7 0 4 1;
+#X connect 8 0 7 0;
+#X connect 9 0 4 2;
+#X connect 10 0 9 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 13 1 7 1;
+#X connect 13 2 9 1;
+#X connect 14 0 8 0;
+#X connect 14 1 10 0;
+#X restore 144 166 pd perspec;
+#N canvas 1900 93 450 229 viewport 0;
+#X obj 87 93 inlet;
+#X obj 87 157 outlet;
+#X obj 87 126 GEMglViewport 0 0 500 500;
+#X obj 222 96 unpack 0 0;
+#X obj 222 42 r \$0-realdimen;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 3;
+#X connect 3 1 2 4;
+#X connect 4 0 3 0;
+#X restore 144 105 pd viewport;
+#X connect 0 0 4 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X restore 115 160 pd viewpoint;
+#N canvas 1543 180 685 625 fog 0;
+#X obj 71 73 inlet;
+#X obj 71 507 outlet;
+#X obj 71 98 t a a;
+#X obj 71 246 spigot 1;
+#X obj 71 273 GEMglDisable GL_FOG;
+#X obj 71 428 t a;
+#X obj 261 273 GEMglEnable GL_FOG;
+#X obj 261 246 spigot 0;
+#X obj 165 223 t f f;
+#X obj 165 199 == 0;
+#N canvas 0 0 450 300 density 0;
+#X obj 100 113 inlet;
+#X obj 100 234 outlet;
+#X obj 100 203 GEMglFogf;
+#X obj 238 82 inlet value;
+#X obj 238 139 t b f;
+#X obj 130 169 GLdefine GL_FOG_DENSITY;
+#X obj 238 112 f 0.5;
+#X obj 336 78 r \$0-reset;
+#X msg 336 101 0.5;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 4 1 2 2;
+#X connect 5 0 2 1;
+#X connect 6 0 4 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 1;
+#X restore 261 326 pd density;
+#N canvas 0 0 450 300 mode 0;
+#X obj 149 191 GEMglFogf;
+#X obj 192 144 t b f;
+#X obj 192 166 GLdefine GL_FOG_MODE;
+#X obj 149 106 inlet;
+#X obj 149 231 outlet;
+#X obj 192 106 inlet value;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 1 1 0 2;
+#X connect 2 0 0 1;
+#X connect 3 0 0 0;
+#X connect 5 0 1 0;
+#X restore 261 300 pd mode;
+#N canvas 299 157 450 300 start 0;
+#X obj 100 113 inlet;
+#X obj 100 234 outlet;
+#X obj 100 203 GEMglFogf;
+#X obj 238 82 inlet value;
+#X obj 238 139 t b f;
+#X obj 130 169 GLdefine GL_FOG_START;
+#X obj 238 112 f 1;
+#X obj 336 78 r \$0-reset;
+#X msg 336 101 1;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 4 1 2 2;
+#X connect 5 0 2 1;
+#X connect 6 0 4 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 1;
+#X restore 261 346 pd start;
+#N canvas 0 0 450 300 end 0;
+#X obj 100 113 inlet;
+#X obj 100 234 outlet;
+#X obj 100 203 GEMglFogf;
+#X obj 238 82 inlet value;
+#X obj 238 139 t b f;
+#X obj 130 169 GLdefine GL_FOG_END;
+#X obj 336 78 r \$0-reset;
+#X obj 238 112 f 20;
+#X msg 336 101 20;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 7 0;
+#X connect 4 0 5 0;
+#X connect 4 1 2 2;
+#X connect 5 0 2 1;
+#X connect 6 0 8 0;
+#X connect 7 0 4 0;
+#X connect 8 0 7 1;
+#X restore 261 366 pd end;
+#N canvas 0 0 450 300 color 0;
+#X obj 100 113 inlet;
+#X obj 100 234 outlet;
+#X obj 238 42 inlet value;
+#X obj 100 203 GEMglFogfv;
+#X obj 133 169 GLdefine GL_FOG_COLOR;
+#X obj 238 139 t b l;
+#X obj 238 64 route bang;
+#X obj 280 92 t b l;
+#X obj 368 68 r \$0-reset;
+#X msg 368 91 1 1 1 1;
+#X obj 238 112 list append 1 1 1 1;
+#X connect 0 0 3 0;
+#X connect 2 0 6 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 4 0;
+#X connect 5 1 3 2;
+#X connect 6 0 10 0;
+#X connect 6 1 7 0;
+#X connect 7 0 10 0;
+#X connect 7 1 10 1;
+#X connect 8 0 9 0;
+#X connect 9 0 10 1;
+#X connect 10 0 5 0;
+#X restore 261 386 pd color;
+#X obj 485 324 unpack;
+#X obj 165 174 r \$0-fog;
+#X obj 307 219 r \$0-fogMode;
+#X obj 347 307 r \$0-fogDensity;
+#X obj 485 301 r \$0-fogRange;
+#X obj 365 368 r \$0-fogColor;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 7 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X connect 6 0 11 0;
+#X connect 7 0 6 0;
+#X connect 8 0 3 1;
+#X connect 8 1 7 1;
+#X connect 9 0 8 0;
+#X connect 10 0 12 0;
+#X connect 11 0 10 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 5 0;
+#X connect 15 0 12 1;
+#X connect 15 1 13 1;
+#X connect 16 0 9 0;
+#X connect 17 0 11 1;
+#X connect 18 0 10 1;
+#X connect 19 0 15 0;
+#X connect 20 0 14 1;
+#X restore 115 186 pd fog;
+#N canvas 302 60 722 526 lighting 0;
+#X obj 71 168 t a a;
+#X obj 71 196 spigot 1;
+#X obj 361 216 spigot 0;
+#X obj 175 149 == 0;
+#X obj 71 286 GEMglDisable GL_COLOR_MATERIAL;
+#X obj 71 306 GEMglDisable GL_AUTO_NORMAL;
+#X obj 71 326 GEMglDisable GL_NORMALIZE;
+#X obj 71 350 GEMglShadeModel GL_FLAT;
+#N canvas 0 0 735 347 lightmodel 0;
+#X obj 71 266 GEMglLightModeli;
+#X obj 125 235 GLdefine GL_LIGHT_MODEL_TWO_SIDE;
+#X obj 361 235 GLdefine GL_FALSE;
+#X obj 71 171 inlet;
+#X obj 71 303 outlet;
+#X obj 141 209 t b b;
+#X obj 277 164 inlet;
+#X connect 0 0 4 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 2;
+#X connect 3 0 0 0;
+#X connect 5 0 1 0;
+#X connect 5 1 2 0;
+#X connect 6 0 5 0;
+#X restore 71 262 pd lightmodel;
+#X obj 71 444 t a;
+#X obj 71 467 outlet gemlist;
+#X obj 71 143 inlet gemlist;
+#N canvas 0 0 735 347 lightmodel 0;
+#X obj 71 266 GEMglLightModeli;
+#X obj 125 235 GLdefine GL_LIGHT_MODEL_TWO_SIDE;
+#X obj 71 171 inlet;
+#X obj 71 303 outlet;
+#X obj 141 209 t b b;
+#X obj 277 164 inlet;
+#X obj 361 235 GLdefine GL_TRUE;
+#X connect 0 0 3 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 0;
+#X connect 4 0 1 0;
+#X connect 4 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 0 2;
+#X restore 361 262 pd lightmodel;
+#X obj 361 236 GEMglEnable GL_LIGHTING;
+#X obj 361 286 GEMglEnable GL_COLOR_MATERIAL;
+#X obj 361 376 GEMglEnable GL_AUTO_NORMAL;
+#X obj 361 396 GEMglEnable GL_NORMALIZE;
+#X obj 361 420 GEMglShadeModel GL_SMOOTH;
+#N canvas 1355 50 986 299 ambient 0;
+#X obj 89 194 outlet gemlist;
+#X obj 89 128 inlet gemlist;
+#X obj 89 161 GEMglMaterialfv GL_FRONT_AND_BACK GL_AMBIENT 0.1 0.1
+0.1 1;
+#X obj 492 133 r \$0-ambient;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 3;
+#X restore 361 309 pd ambient;
+#N canvas 1355 50 986 299 specular 0;
+#X obj 89 194 outlet gemlist;
+#X obj 89 128 inlet gemlist;
+#X obj 89 161 GEMglMaterialfv GL_FRONT_AND_BACK GL_SPECULAR 1 1 1 1
+;
+#X obj 457 133 r \$0-specular;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 3;
+#X restore 361 329 pd specular;
+#N canvas 1355 50 986 299 shininess 0;
+#X obj 89 194 outlet gemlist;
+#X obj 89 128 inlet gemlist;
+#X obj 89 161 GEMglMaterialfv GL_FRONT_AND_BACK GL_SHININESS 100;
+#X obj 436 133 r \$0-shininess;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 3;
+#X restore 361 349 pd shininess;
+#X obj 175 173 t f f b;
+#X obj 292 232 t b b;
+#X obj 292 208 loadbang;
+#X obj 175 126 r \$0-lighting;
+#X obj 320 84 print light;
+#X obj 71 235 GEMglDisable GL_LIGHTING;
+#X floatatom 437 214 5 0 0 0 - - -;
+#X floatatom 242 149 5 0 0 0 - - -;
+#X obj 414 191 == 0;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 1 0 26 0;
+#X connect 2 0 13 0;
+#X connect 3 0 21 0;
+#X connect 3 0 28 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 8 0 4 0;
+#X connect 9 0 10 0;
+#X connect 11 0 0 0;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 18 0;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X connect 17 0 9 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 15 0;
+#X connect 21 0 1 1;
+#X connect 21 1 29 0;
+#X connect 21 2 22 0;
+#X connect 22 0 8 1;
+#X connect 22 1 12 1;
+#X connect 23 0 22 0;
+#X connect 24 0 3 0;
+#X connect 26 0 8 0;
+#X connect 29 0 2 1;
+#X connect 29 0 27 0;
+#X restore 115 138 pd lighting;
+#X obj 115 63 inlet;
+#X obj 115 260 outlet;
+#X text 116 42 GemMan::resetValues();
+#N canvas 5 50 393 417 color 0;
+#X obj 56 52 inlet;
+#X obj 56 361 outlet;
+#X obj 102 192 GEMglClearColor;
+#X obj 134 153 unpack 0 0 0 0;
+#X obj 102 129 t a b;
+#X msg 165 106 0;
+#X obj 165 54 r \$0-color;
+#X obj 165 76 t a b;
+#X msg 192 106 1;
+#X obj 102 106 spigot 1;
+#X obj 56 85 t a a a;
+#X obj 172 309 r \$0-clearmask;
+#X obj 79 269 spigot 1;
+#X obj 124 218 r \$0-buffer;
+#X obj 124 240 == 2;
+#X obj 79 339 GEMglClear 17664;
+#X obj 165 128 t f;
+#X connect 0 0 10 0;
+#X connect 3 0 2 1;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 4 0 2 0;
+#X connect 4 1 5 0;
+#X connect 5 0 16 0;
+#X connect 6 0 7 0;
+#X connect 7 0 3 0;
+#X connect 7 1 8 0;
+#X connect 8 0 16 0;
+#X connect 9 0 4 0;
+#X connect 10 0 1 0;
+#X connect 10 1 12 0;
+#X connect 10 2 9 0;
+#X connect 11 0 15 1;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 1;
+#X connect 16 0 9 1;
+#X restore 115 91 pd color;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 2 0 0 0;
+#X connect 3 0 6 0;
+#X connect 6 0 2 0;
+#X restore 131 259 pd resetValues;
+#N canvas 319 85 450 300 normalRendering 0;
+#X obj 95 115 t a a;
+#X obj 95 70 inlet;
+#X obj 95 168 GEMglMatrixMode GL_MODELVIEW;
+#X obj 95 197 GEMglLoadIdentity;
+#X obj 95 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 95 252 outlet osd;
+#X obj 194 253 outlet render;
+#X connect 0 0 2 0;
+#X connect 0 1 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X restore 163 400 pd normalRendering;
+#N canvas 4 50 596 529 2screenStereo 0;
+#X obj 95 70 inlet;
+#X obj 95 90 t a b;
+#X obj 163 92 list append 500 500;
+#X obj 163 141 unpack;
+#X obj 163 164 / 2;
+#X obj 163 187 t f f;
+#X obj 195 208 /;
+#X obj 163 231 pack;
+#X obj 95 284 t a a;
+#N canvas 593 153 450 602 stereoline 0;
+#X obj 118 62 inlet gemlist;
+#X obj 118 102 GEMglDisable GL_LIGHTING;
+#X obj 118 137 GEMglViewport 0 0 500 500;
+#X obj 309 27 inlet width height;
+#X obj 309 79 unpack;
+#X obj 118 180 GEMglMatrixMode GL_PROJECTION;
+#X obj 118 200 GEMglLoadIdentity;
+#X obj 118 294 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 118 222 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 118 274 GEMglLoadIdentity;
+#X obj 118 254 GEMglMatrixMode GL_MODELVIEW;
+#X obj 118 330 GEMglLineWidth 2;
+#X obj 118 353 GEMglColor3f 1 1 1;
+#X obj 118 374 GEMglBegin GL_LINES;
+#X obj 118 399 GEMglVertex2f 0 -6;
+#X obj 118 419 GEMglVertex2f 0 6;
+#X obj 118 448 GEMglEnd;
+#X obj 118 475 GEMglLineWidth 1;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 3;
+#X connect 4 1 2 4;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 7 0 11 0;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 9 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X restore 95 360 pd stereoline;
+#X obj 163 120 t l l;
+#X obj 156 312 r \$0-stereoLine;
+#X obj 95 327 spigot 1;
+#X obj 293 65 r \$0-realdimen;
+#X obj 453 369 outlet render;
+#X obj 358 374 outlet osd;
+#N canvas 352 49 672 526 render-2screen 0;
+#N canvas 354 89 886 440 viewport 0;
+#X obj 87 146 GEMglMatrixMode GL_PROJECTION;
+#X obj 87 166 GEMglLoadIdentity;
+#X obj 118 247 unpack 0 0 0 0 0 0;
+#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 285 197 t f f;
+#X obj 87 126 GEMglViewport 0 0 250 500;
+#X obj 87 98 inlet gemlist;
+#X obj 87 365 outlet gemlist;
+#X obj 222 43 inlet viewport;
+#X obj 222 66 unpack 0 0 0 0;
+#X obj 428 48 inlet xDivY;
+#X obj 118 224 r \$0-perspec;
+#X obj 237 197 t b b;
+#X obj 118 280 f -1;
+#X obj 159 280 f 1;
+#X obj 118 312 * 0.5;
+#X obj 159 312 * 0.5;
+#X obj 237 175 t b f;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 0 13 0;
+#X connect 2 1 14 0;
+#X connect 2 2 3 3;
+#X connect 2 3 3 4;
+#X connect 2 4 3 5;
+#X connect 2 5 3 6;
+#X connect 3 0 7 0;
+#X connect 4 0 15 1;
+#X connect 4 1 16 1;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 8 0 9 0;
+#X connect 9 0 5 1;
+#X connect 9 1 5 2;
+#X connect 9 2 5 3;
+#X connect 9 3 5 4;
+#X connect 10 0 17 0;
+#X connect 11 0 2 0;
+#X connect 12 0 13 0;
+#X connect 12 1 14 0;
+#X connect 13 0 15 0;
+#X connect 14 0 16 0;
+#X connect 15 0 3 1;
+#X connect 16 0 3 2;
+#X connect 17 0 12 0;
+#X connect 17 1 4 0;
+#X restore 271 181 pd viewport;
+#X msg 308 154 0 0 \$1 \$2;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + 0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 271 238 pd lookat;
+#X obj 464 110 / 100;
+#X obj 291 207 r \$0-viewpoint;
+#N canvas 138 89 886 440 viewport 0;
+#X obj 87 146 GEMglMatrixMode GL_PROJECTION;
+#X obj 87 166 GEMglLoadIdentity;
+#X obj 118 247 unpack 0 0 0 0 0 0;
+#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 285 197 t f f;
+#X obj 87 126 GEMglViewport 0 0 250 500;
+#X obj 87 98 inlet gemlist;
+#X obj 87 365 outlet gemlist;
+#X obj 222 43 inlet viewport;
+#X obj 222 66 unpack 0 0 0 0;
+#X obj 428 48 inlet xDivY;
+#X obj 118 224 r \$0-perspec;
+#X obj 237 197 t b b;
+#X obj 118 280 f -1;
+#X obj 159 280 f 1;
+#X obj 118 312 * 0.5;
+#X obj 159 312 * 0.5;
+#X obj 237 175 t b f;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 0 13 0;
+#X connect 2 1 14 0;
+#X connect 2 2 3 3;
+#X connect 2 3 3 4;
+#X connect 2 4 3 5;
+#X connect 2 5 3 6;
+#X connect 3 0 7 0;
+#X connect 4 0 15 1;
+#X connect 4 1 16 1;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 8 0 9 0;
+#X connect 9 0 5 1;
+#X connect 9 1 5 2;
+#X connect 9 2 5 3;
+#X connect 9 3 5 4;
+#X connect 10 0 17 0;
+#X connect 11 0 2 0;
+#X connect 12 0 13 0;
+#X connect 12 1 14 0;
+#X connect 13 0 15 0;
+#X connect 14 0 16 0;
+#X connect 15 0 3 1;
+#X connect 16 0 3 2;
+#X connect 17 0 12 0;
+#X connect 17 1 4 0;
+#X restore 118 165 pd viewport;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + -0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 118 238 pd lookat;
+#X obj 138 191 r \$0-viewpoint;
+#X obj 155 94 t l l;
+#X msg 155 142 \$1 0 \$1 \$2;
+#X text 297 110 LEFT;
+#X text 138 121 RIGHT;
+#X obj 458 171 * -1;
+#X obj 402 402 t a;
+#X obj 155 59 inlet width height;
+#X obj 354 67 inlet width/height;
+#X obj 356 92 t f f;
+#X obj 37 66 inlet gemlist;
+#X obj 37 132 t a a;
+#X obj 402 444 outlet gemlist;
+#X obj 74 434 outlet gemlist (OSD);
+#X obj 74 405 t a;
+#X obj 271 289 t a a;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + 0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 271 351 pd lookat;
+#X obj 92 284 t a a;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + -0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 176 354 pd lookat;
+#X obj 158 215 t f f;
+#X obj 199 215 t f f;
+#X obj 457 193 t f f;
+#X obj 521 188 t f f;
+#X obj 525 134 t f f;
+#X obj 457 132 t f f;
+#X obj 509 110 r \$0-stereoFocal;
+#X obj 464 89 r \$0-stereoSeparation;
+#N canvas 1545 229 751 300 GemState 0;
+#X obj 138 134 gemlist;
+#X obj 138 18 inlet bang;
+#X obj 138 224 outlet gemlist;
+#X msg 150 111 lighting \$1;
+#X obj 150 92 r \$0-lighting;
+#X msg 347 139 ticktime \$1;
+#X obj 347 96 t b b;
+#X obj 347 116 timer;
+#X obj 138 66 t b b;
+#X obj 372 23 r \$0-buffer;
+#X obj 347 46 i 2;
+#X obj 347 72 select 2;
+#X msg 400 116 50;
+#X connect 0 0 2 0;
+#X connect 1 0 8 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 5 0;
+#X connect 8 0 0 0;
+#X connect 8 1 10 0;
+#X connect 9 0 10 1;
+#X connect 10 0 11 0;
+#X connect 11 0 6 0;
+#X connect 11 1 12 0;
+#X connect 12 0 5 0;
+#X restore 271 268 pd GemState;
+#N canvas 1545 229 751 300 GemState0 0;
+#X obj 138 134 gemlist;
+#X obj 138 18 inlet bang;
+#X obj 138 224 outlet gemlist;
+#X msg 150 111 lighting \$1;
+#X obj 150 92 r \$0-lighting;
+#X obj 138 66 t b b;
+#X msg 251 91 ticktime 0;
+#X connect 0 0 2 0;
+#X connect 1 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 5 1 6 0;
+#X connect 6 0 0 0;
+#X restore 92 263 pd GemState0;
+#X connect 0 0 2 0;
+#X connect 1 0 0 1;
+#X connect 2 0 34 0;
+#X connect 3 0 31 0;
+#X connect 4 0 2 1;
+#X connect 5 0 6 0;
+#X connect 6 0 35 0;
+#X connect 7 0 6 1;
+#X connect 8 0 9 0;
+#X connect 8 1 1 0;
+#X connect 9 0 5 1;
+#X connect 12 0 28 0;
+#X connect 13 0 19 0;
+#X connect 14 0 8 0;
+#X connect 15 0 16 0;
+#X connect 16 0 5 2;
+#X connect 16 1 0 2;
+#X connect 17 0 18 0;
+#X connect 18 0 5 0;
+#X connect 18 1 0 0;
+#X connect 21 0 20 0;
+#X connect 22 0 23 0;
+#X connect 22 1 13 0;
+#X connect 23 0 21 0;
+#X connect 24 0 25 0;
+#X connect 24 1 13 0;
+#X connect 25 0 21 0;
+#X connect 26 0 6 2;
+#X connect 26 1 25 2;
+#X connect 27 0 6 3;
+#X connect 27 1 25 3;
+#X connect 28 0 2 2;
+#X connect 28 1 23 2;
+#X connect 29 0 2 3;
+#X connect 29 1 23 3;
+#X connect 30 0 27 0;
+#X connect 30 1 29 0;
+#X connect 31 0 26 0;
+#X connect 31 1 12 0;
+#X connect 32 0 30 0;
+#X connect 33 0 3 0;
+#X connect 34 0 22 0;
+#X connect 35 0 24 0;
+#X restore 401 324 pd render-2screen;
+#X connect 0 0 1 0;
+#X connect 1 0 8 0;
+#X connect 1 1 2 0;
+#X connect 2 0 10 0;
+#X connect 3 0 4 0;
+#X connect 3 1 6 1;
+#X connect 3 1 7 1;
+#X connect 4 0 5 0;
+#X connect 5 0 7 0;
+#X connect 5 1 6 0;
+#X connect 6 0 16 2;
+#X connect 7 0 16 1;
+#X connect 8 0 12 0;
+#X connect 8 1 16 0;
+#X connect 10 0 3 0;
+#X connect 10 1 9 1;
+#X connect 11 0 12 1;
+#X connect 12 0 9 0;
+#X connect 13 0 2 1;
+#X connect 16 0 15 0;
+#X connect 16 1 14 0;
+#X restore 194 376 pd 2screenStereo;
+#N canvas 334 50 600 410 stereoDemux 0;
+#X obj 61 67 inlet gemlist;
+#X obj 61 335 outlet normal;
+#X obj 172 338 outlet stereo2;
+#X obj 288 338 outlet anaglyph;
+#X obj 428 338 outlet crystaleye;
+#X obj 481 219 r \$0-stereo;
+#X obj 61 304 spigot 1;
+#X obj 114 283 == 0;
+#X obj 61 201 t a a a a;
+#X obj 172 304 spigot 0;
+#X obj 225 283 == 1;
+#X obj 288 304 spigot 0;
+#X obj 341 283 == 2;
+#X obj 428 304 spigot 0;
+#X obj 481 283 == 3;
+#N canvas 1765 302 450 467 crystaleyetest 0;
+#X obj 91 53 inlet;
+#X obj 214 54 r \$0-stereo;
+#X obj 91 123 spigot 0;
+#X obj 91 149 t a b;
+#X msg 134 149 0;
+#X obj 214 79 select 3;
+#X msg 144 97 1;
+#X obj 91 252 select 0;
+#X obj 91 321 s \$0-stereo;
+#X obj 91 277 t b b;
+#X obj 208 309 print error;
+#X msg 208 274 CrystalGlasses stereo not supported by your gfx-card!
+\, falling back to NO stereo;
+#X obj 91 176 GEMglGetFloatv GL_STEREO;
+#X obj 91 210 t f;
+#X msg 91 300 0;
+#X connect 0 0 2 0;
+#X connect 1 0 5 0;
+#X connect 2 0 3 0;
+#X connect 3 0 12 0;
+#X connect 3 1 4 0;
+#X connect 4 0 2 1;
+#X connect 5 0 6 0;
+#X connect 6 0 2 1;
+#X connect 7 0 9 0;
+#X connect 9 0 14 0;
+#X connect 9 1 11 0;
+#X connect 11 0 10 0;
+#X connect 12 1 13 0;
+#X connect 13 0 7 0;
+#X connect 14 0 8 0;
+#X restore 93 174 pd crystaleyetest;
+#X obj 61 149 t a a;
+#X connect 0 0 16 0;
+#X connect 5 0 7 0;
+#X connect 5 0 10 0;
+#X connect 5 0 12 0;
+#X connect 5 0 14 0;
+#X connect 6 0 1 0;
+#X connect 7 0 6 1;
+#X connect 8 0 6 0;
+#X connect 8 1 9 0;
+#X connect 8 2 11 0;
+#X connect 8 3 13 0;
+#X connect 9 0 2 0;
+#X connect 10 0 9 1;
+#X connect 11 0 3 0;
+#X connect 12 0 11 1;
+#X connect 13 0 4 0;
+#X connect 14 0 13 1;
+#X connect 16 0 8 0;
+#X connect 16 1 15 0;
+#X restore 163 316 pd stereoDemux;
+#N canvas 4 50 436 529 anaglyphStereo 0;
+#X obj 95 70 inlet;
+#X obj 95 90 t a b;
+#X obj 146 142 list append 500 500;
+#X obj 276 122 pack 0 0;
+#X obj 146 182 /;
+#X obj 54 177 t a a;
+#X obj 54 362 GEMglColorMask 1 1 1 1;
+#X obj 276 100 r \$0-realdimen;
+#X obj 282 271 outlet render;
+#X obj 146 265 outlet osd;
+#N canvas 346 0 672 526 renderAnaglyph 0;
+#N canvas 354 89 886 440 viewport 0;
+#X obj 118 247 unpack 0 0 0 0 0 0;
+#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 285 197 t f f;
+#X obj 87 98 inlet gemlist;
+#X obj 87 365 outlet gemlist;
+#X obj 428 48 inlet xDivY;
+#X obj 118 224 r \$0-perspec;
+#X obj 237 197 t b b;
+#X obj 118 280 f -1;
+#X obj 159 280 f 1;
+#X obj 118 312 * 0.5;
+#X obj 159 312 * 0.5;
+#X obj 237 175 t b f;
+#X connect 0 0 8 0;
+#X connect 0 1 9 0;
+#X connect 0 2 1 3;
+#X connect 0 3 1 4;
+#X connect 0 4 1 5;
+#X connect 0 5 1 6;
+#X connect 1 0 4 0;
+#X connect 2 0 10 1;
+#X connect 2 1 11 1;
+#X connect 3 0 1 0;
+#X connect 5 0 12 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 1 1;
+#X connect 11 0 1 2;
+#X connect 12 0 7 0;
+#X connect 12 1 2 0;
+#X restore 271 251 pd viewport;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + 0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 271 308 pd lookat;
+#X obj 464 60 / 100;
+#X obj 291 277 r \$0-viewpoint;
+#N canvas 430 24 886 440 viewport 0;
+#X obj 118 247 unpack 0 0 0 0 0 0;
+#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 285 197 t f f;
+#X obj 87 98 inlet gemlist;
+#X obj 87 365 outlet gemlist;
+#X obj 428 48 inlet xDivY;
+#X obj 118 224 r \$0-perspec;
+#X obj 237 197 t b b;
+#X obj 118 280 f -1;
+#X obj 159 280 f 1;
+#X obj 118 312 * 0.5;
+#X obj 159 312 * 0.5;
+#X obj 237 175 t b f;
+#X connect 0 0 8 0;
+#X connect 0 1 9 0;
+#X connect 0 2 1 3;
+#X connect 0 3 1 4;
+#X connect 0 4 1 5;
+#X connect 0 5 1 6;
+#X connect 1 0 4 0;
+#X connect 2 0 10 1;
+#X connect 2 1 11 1;
+#X connect 3 0 1 0;
+#X connect 5 0 12 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 1 1;
+#X connect 11 0 1 2;
+#X connect 12 0 7 0;
+#X connect 12 1 2 0;
+#X restore 118 235 pd viewport;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + -0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 118 308 pd lookat;
+#X obj 138 261 r \$0-viewpoint;
+#X text 297 60 LEFT;
+#X text 138 71 RIGHT;
+#X obj 458 121 * -1;
+#X obj 326 453 t a;
+#X obj 354 17 inlet width/height;
+#X obj 356 42 t f f;
+#X obj 37 16 inlet gemlist;
+#X obj 326 495 outlet gemlist;
+#X obj 176 497 outlet gemlist (OSD);
+#X obj 176 468 t a;
+#X obj 271 359 t a a;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + 0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 271 421 pd lookat;
+#X obj 92 354 t a a;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + -0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 176 424 pd lookat;
+#X obj 158 285 t f f;
+#X obj 199 285 t f f;
+#X obj 457 143 t f f;
+#X obj 521 138 t f f;
+#X obj 525 84 t f f;
+#X obj 457 82 t f f;
+#X obj 509 60 r \$0-stereoFocal;
+#X obj 464 39 r \$0-stereoSeparation;
+#N canvas 0 0 450 300 colormask 0;
+#X obj 67 232 outlet gemlist;
+#X obj 67 32 inlet gemlist;
+#X obj 246 35 inlet colormask;
+#X obj 90 132 unpack 0 0 0 0;
+#X obj 67 165 GEMglColorMask 1 1 1 1;
+#X connect 1 0 4 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 1;
+#X connect 3 1 4 2;
+#X connect 3 2 4 3;
+#X connect 3 3 4 4;
+#X connect 4 0 0 0;
+#X restore 116 200 pd colormask;
+#N canvas 0 0 450 300 colormask 0;
+#X obj 67 232 outlet gemlist;
+#X obj 67 32 inlet gemlist;
+#X obj 246 35 inlet colormask;
+#X obj 90 132 unpack 0 0 0 0;
+#X obj 67 165 GEMglColorMask 1 1 1 1;
+#X connect 1 0 4 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 1;
+#X connect 3 1 4 2;
+#X connect 3 2 4 3;
+#X connect 3 3 4 4;
+#X connect 4 0 0 0;
+#X restore 271 206 pd colormask;
+#X msg 147 162 1 0 0 1;
+#X msg 297 168 0 1 0 1;
+#X obj 198 136 t b b;
+#X obj 37 82 t a a b;
+#N canvas 183 181 841 300 clearmask 0;
+#X obj 113 55 inlet;
+#X obj 113 215 outlet;
+#X obj 113 110 GEMglClear;
+#X obj 113 130 GEMglClear;
+#X obj 113 150 GEMglClear;
+#X obj 113 170 GEMglClear;
+#X obj 483 109 r \$0-clearmask;
+#X obj 191 110 GLdefine GL_COLOR_BUFFER_BIT;
+#X obj 483 129 r \$0-clearmask;
+#X obj 483 149 r \$0-clearmask;
+#X obj 483 169 r \$0-clearmask;
+#X obj 196 79 t b b b b;
+#X obj 191 130 GLdefine GL_DEPTH_BUFFER_BIT;
+#X obj 191 150 GLdefine GL_STENCIL_BUFFER_BIT;
+#X obj 191 170 GLdefine GL_ACCUM_BUFFER_BIT;
+#X obj 415 109 & 16348;
+#X obj 415 129 & 256;
+#X obj 415 149 & 1024;
+#X obj 415 169 & 512;
+#X obj 113 83 t a b;
+#X connect 0 0 19 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X connect 6 0 15 1;
+#X connect 7 0 15 0;
+#X connect 8 0 16 1;
+#X connect 9 0 17 1;
+#X connect 10 0 18 1;
+#X connect 11 0 7 0;
+#X connect 11 1 12 0;
+#X connect 11 2 13 0;
+#X connect 11 3 14 0;
+#X connect 12 0 16 0;
+#X connect 13 0 17 0;
+#X connect 14 0 18 0;
+#X connect 15 0 2 1;
+#X connect 16 0 3 1;
+#X connect 17 0 4 1;
+#X connect 18 0 5 1;
+#X connect 19 0 2 0;
+#X connect 19 1 11 0;
+#X restore 37 57 pd clearmask;
+#N canvas 1545 229 751 300 GemState 0;
+#X obj 138 134 gemlist;
+#X obj 138 18 inlet bang;
+#X obj 138 224 outlet gemlist;
+#X msg 150 111 lighting \$1;
+#X obj 150 92 r \$0-lighting;
+#X msg 347 139 ticktime \$1;
+#X obj 347 96 t b b;
+#X obj 347 116 timer;
+#X obj 138 66 t b b;
+#X obj 372 23 r \$0-buffer;
+#X obj 347 46 i 2;
+#X obj 347 72 select 2;
+#X msg 400 116 50;
+#X connect 0 0 2 0;
+#X connect 1 0 8 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 5 0;
+#X connect 8 0 0 0;
+#X connect 8 1 10 0;
+#X connect 9 0 10 1;
+#X connect 10 0 11 0;
+#X connect 11 0 6 0;
+#X connect 11 1 12 0;
+#X connect 12 0 5 0;
+#X restore 271 333 pd GemState;
+#N canvas 1545 229 751 300 GemState0 0;
+#X obj 138 134 gemlist;
+#X obj 138 18 inlet bang;
+#X obj 138 224 outlet gemlist;
+#X msg 150 111 lighting \$1;
+#X obj 150 92 r \$0-lighting;
+#X obj 138 66 t b b;
+#X msg 251 91 ticktime 0;
+#X connect 0 0 2 0;
+#X connect 1 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 5 1 6 0;
+#X connect 6 0 0 0;
+#X restore 92 331 pd GemState0;
+#X connect 0 0 1 0;
+#X connect 1 0 36 0;
+#X connect 2 0 26 0;
+#X connect 3 0 1 1;
+#X connect 4 0 5 0;
+#X connect 5 0 37 0;
+#X connect 6 0 5 1;
+#X connect 9 0 23 0;
+#X connect 10 0 14 0;
+#X connect 11 0 12 0;
+#X connect 12 0 4 1;
+#X connect 12 1 0 1;
+#X connect 13 0 35 0;
+#X connect 16 0 15 0;
+#X connect 17 0 18 0;
+#X connect 17 1 10 0;
+#X connect 18 0 16 0;
+#X connect 19 0 20 0;
+#X connect 19 1 10 0;
+#X connect 20 0 16 0;
+#X connect 21 0 5 2;
+#X connect 21 1 20 2;
+#X connect 22 0 5 3;
+#X connect 22 1 20 3;
+#X connect 23 0 1 2;
+#X connect 23 1 18 2;
+#X connect 24 0 1 3;
+#X connect 24 1 18 3;
+#X connect 25 0 22 0;
+#X connect 25 1 24 0;
+#X connect 26 0 21 0;
+#X connect 26 1 9 0;
+#X connect 27 0 25 0;
+#X connect 28 0 2 0;
+#X connect 29 0 4 0;
+#X connect 30 0 0 0;
+#X connect 31 0 29 1;
+#X connect 32 0 30 1;
+#X connect 33 0 31 0;
+#X connect 33 1 32 0;
+#X connect 34 0 29 0;
+#X connect 34 1 30 0;
+#X connect 34 2 33 0;
+#X connect 35 0 34 0;
+#X connect 36 0 17 0;
+#X connect 37 0 19 0;
+#X restore 86 229 pd renderAnaglyph;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 1 1 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 1;
+#X connect 4 0 10 1;
+#X connect 5 0 6 0;
+#X connect 5 1 10 0;
+#X connect 7 0 3 0;
+#X connect 10 0 9 0;
+#X connect 10 1 8 0;
+#X restore 226 356 pd anaglyphStereo;
+#N canvas 519 50 506 526 CrystalEyeStereo 0;
+#X obj 95 70 inlet;
+#X obj 95 90 t a b;
+#X obj 146 142 list append 500 500;
+#X obj 276 122 pack 0 0;
+#X obj 146 182 /;
+#X obj 54 177 t a a;
+#X obj 54 362 GEMglColorMask 1 1 1 1;
+#X obj 276 100 r \$0-realdimen;
+#X obj 86 265 outlet osd;
+#X obj 216 271 outlet render;
+#N canvas 352 0 672 526 renderCrystalEye 0;
+#N canvas 465 62 886 440 viewport 0;
+#X obj 118 247 unpack 0 0 0 0 0 0;
+#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 285 197 t f f;
+#X obj 87 98 inlet gemlist;
+#X obj 87 365 outlet gemlist;
+#X obj 428 48 inlet xDivY;
+#X obj 118 224 r \$0-perspec;
+#X obj 237 197 t b b;
+#X obj 118 280 f -1;
+#X obj 159 280 f 1;
+#X obj 118 312 * 0.5;
+#X obj 159 312 * 0.5;
+#X obj 237 175 t b f;
+#X obj 87 124 GEMglMatrixMode GL_PROJECTION;
+#X obj 87 145 GEMglLoadIdentity;
+#X connect 0 0 8 0;
+#X connect 0 1 9 0;
+#X connect 0 2 1 3;
+#X connect 0 3 1 4;
+#X connect 0 4 1 5;
+#X connect 0 5 1 6;
+#X connect 1 0 4 0;
+#X connect 2 0 10 1;
+#X connect 2 1 11 1;
+#X connect 3 0 13 0;
+#X connect 5 0 12 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 1 1;
+#X connect 11 0 1 2;
+#X connect 12 0 7 0;
+#X connect 12 1 2 0;
+#X connect 13 0 14 0;
+#X connect 14 0 1 0;
+#X restore 271 151 pd viewport;
+#N canvas 1263 50 1146 410 lookat 0;
+#X obj 145 227 GEMglLoadIdentity;
+#X obj 145 327 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 253 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 361 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 298 +;
+#X obj 186 273 t b f;
+#X obj 294 278 t b f;
+#X obj 168 293 + 0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 2 0 11 0;
+#X connect 2 1 1 2;
+#X connect 2 2 1 3;
+#X connect 2 3 1 4;
+#X connect 2 4 1 5;
+#X connect 2 5 8 0;
+#X connect 2 6 1 7;
+#X connect 2 7 1 8;
+#X connect 2 8 1 9;
+#X connect 3 0 0 0;
+#X connect 5 0 9 0;
+#X connect 6 0 10 0;
+#X connect 7 0 2 0;
+#X connect 8 0 1 6;
+#X connect 9 0 11 0;
+#X connect 9 1 11 1;
+#X connect 10 0 8 0;
+#X connect 10 1 8 1;
+#X connect 11 0 1 1;
+#X restore 271 248 pd lookat;
+#X obj 464 110 / 100;
+#X obj 291 217 r \$0-viewpoint;
+#N canvas 138 136 886 440 viewport 0;
+#X obj 118 247 unpack 0 0 0 0 0 0;
+#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 285 197 t f f;
+#X obj 87 98 inlet gemlist;
+#X obj 87 365 outlet gemlist;
+#X obj 428 48 inlet xDivY;
+#X obj 118 224 r \$0-perspec;
+#X obj 237 197 t b b;
+#X obj 118 280 f -1;
+#X obj 159 280 f 1;
+#X obj 118 312 * 0.5;
+#X obj 159 312 * 0.5;
+#X obj 237 175 t b f;
+#X obj 87 124 GEMglMatrixMode GL_PROJECTION;
+#X obj 87 144 GEMglLoadIdentity;
+#X connect 0 0 8 0;
+#X connect 0 1 9 0;
+#X connect 0 2 1 3;
+#X connect 0 3 1 4;
+#X connect 0 4 1 5;
+#X connect 0 5 1 6;
+#X connect 1 0 4 0;
+#X connect 2 0 10 1;
+#X connect 2 1 11 1;
+#X connect 3 0 13 0;
+#X connect 5 0 12 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 1 1;
+#X connect 11 0 1 2;
+#X connect 12 0 7 0;
+#X connect 12 1 2 0;
+#X connect 13 0 14 0;
+#X connect 14 0 1 0;
+#X restore 118 125 pd viewport;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + -0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 2 0 11 0;
+#X connect 2 1 1 2;
+#X connect 2 2 1 3;
+#X connect 2 3 1 4;
+#X connect 2 4 1 5;
+#X connect 2 5 8 0;
+#X connect 2 6 1 7;
+#X connect 2 7 1 8;
+#X connect 2 8 1 9;
+#X connect 3 0 0 0;
+#X connect 5 0 9 0;
+#X connect 6 0 10 0;
+#X connect 7 0 2 0;
+#X connect 8 0 1 6;
+#X connect 9 0 11 0;
+#X connect 9 1 11 1;
+#X connect 10 0 8 0;
+#X connect 10 1 8 1;
+#X connect 11 0 1 1;
+#X restore 118 248 pd lookat;
+#X obj 138 201 r \$0-viewpoint;
+#X text 297 60 LEFT;
+#X obj 458 171 * -1;
+#X obj 450 378 t a;
+#X obj 354 67 inlet width/height;
+#X obj 356 92 t f f;
+#X obj 37 66 inlet gemlist;
+#X obj 450 420 outlet gemlist;
+#X obj 176 437 outlet gemlist (OSD);
+#X obj 176 408 t a;
+#X obj 271 299 t a a;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + 0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 271 361 pd lookat;
+#X obj 92 294 t a a;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + -0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 176 364 pd lookat;
+#X obj 158 225 t f f;
+#X obj 199 225 t f f;
+#X obj 457 193 t f f;
+#X obj 521 188 t f f;
+#X obj 525 134 t f f;
+#X obj 457 132 t f f;
+#X obj 509 110 r \$0-stereoFocal;
+#X obj 464 89 r \$0-stereoSeparation;
+#N canvas 558 127 450 370 left 0;
+#X obj 90 158 GEMglDrawBuffer GL_BACK_LEFT;
+#X obj 90 252 GEMglClear;
+#X obj 157 203 GLdefine GL_COLOR_BUFFER_BIT;
+#X obj 157 227 |;
+#X obj 157 181 t b b;
+#X obj 189 227 GLdefine GL_DEPTH_BUFFER_BIT;
+#X obj 90 181 t a b;
+#X obj 90 86 inlet gemlist;
+#X obj 90 282 outlet gemlist;
+#X obj 90 118 GEMglMatrixMode GL_MODELVIEW;
+#X connect 0 0 6 0;
+#X connect 1 0 8 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 1;
+#X connect 4 0 2 0;
+#X connect 4 1 5 0;
+#X connect 5 0 3 1;
+#X connect 6 0 1 0;
+#X connect 6 1 4 0;
+#X connect 7 0 9 0;
+#X connect 9 0 0 0;
+#X restore 271 181 pd left;
+#N canvas 517 117 450 370 right 0;
+#X obj 90 76 inlet gemlist;
+#X obj 90 282 outlet gemlist;
+#X obj 90 158 GEMglDrawBuffer GL_BACK_RIGHT;
+#X obj 90 252 GEMglClear;
+#X obj 157 203 GLdefine GL_COLOR_BUFFER_BIT;
+#X obj 157 227 |;
+#X obj 157 181 t b b;
+#X obj 189 227 GLdefine GL_DEPTH_BUFFER_BIT;
+#X obj 90 181 t a b;
+#X obj 90 108 GEMglMatrixMode GL_MODELVIEW;
+#X connect 0 0 9 0;
+#X connect 2 0 8 0;
+#X connect 3 0 1 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 1;
+#X connect 6 0 4 0;
+#X connect 6 1 7 0;
+#X connect 7 0 5 1;
+#X connect 8 0 3 0;
+#X connect 8 1 6 0;
+#X connect 9 0 2 0;
+#X restore 118 165 pd right;
+#N canvas 0 0 450 300 clear 0;
+#X obj 90 252 GEMglClear;
+#X obj 157 204 GLdefine GL_DEPTH_BUFFER_BIT;
+#X obj 90 181 t a b;
+#X obj 157 227 & 256;
+#X obj 216 182 r \$0-clearmask;
+#X obj 90 148 inlet gemlist;
+#X obj 90 278 outlet gemlist;
+#X connect 0 0 6 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 2 1 1 0;
+#X connect 3 0 0 1;
+#X connect 4 0 3 1;
+#X connect 5 0 2 0;
+#X restore 118 93 pd clear;
+#X obj 37 88 t a a;
+#X text 130 78 RIGHT;
+#N canvas 1545 229 751 300 GemState 0;
+#X obj 138 134 gemlist;
+#X obj 138 18 inlet bang;
+#X obj 138 224 outlet gemlist;
+#X msg 150 111 lighting \$1;
+#X obj 150 92 r \$0-lighting;
+#X msg 347 139 ticktime \$1;
+#X obj 347 96 t b b;
+#X obj 347 116 timer;
+#X obj 138 66 t b b;
+#X obj 372 23 r \$0-buffer;
+#X obj 347 46 i 2;
+#X obj 347 72 select 2;
+#X msg 400 116 50;
+#X connect 0 0 2 0;
+#X connect 1 0 8 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 5 0;
+#X connect 8 0 0 0;
+#X connect 8 1 10 0;
+#X connect 9 0 10 1;
+#X connect 10 0 11 0;
+#X connect 11 0 6 0;
+#X connect 11 1 12 0;
+#X connect 12 0 5 0;
+#X restore 271 279 pd GemState;
+#N canvas 1545 229 751 300 GemState0 0;
+#X obj 138 134 gemlist;
+#X obj 138 18 inlet bang;
+#X obj 138 224 outlet gemlist;
+#X msg 150 111 lighting \$1;
+#X obj 150 92 r \$0-lighting;
+#X obj 138 66 t b b;
+#X msg 251 91 ticktime 0;
+#X connect 0 0 2 0;
+#X connect 1 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 5 1 6 0;
+#X connect 6 0 0 0;
+#X restore 92 274 pd GemState0;
+#X connect 0 0 28 0;
+#X connect 1 0 33 0;
+#X connect 2 0 25 0;
+#X connect 3 0 1 1;
+#X connect 4 0 29 0;
+#X connect 5 0 34 0;
+#X connect 6 0 5 1;
+#X connect 8 0 22 0;
+#X connect 9 0 13 0;
+#X connect 10 0 11 0;
+#X connect 11 0 4 1;
+#X connect 11 1 0 1;
+#X connect 12 0 31 0;
+#X connect 15 0 14 0;
+#X connect 16 0 17 0;
+#X connect 16 1 9 0;
+#X connect 17 0 15 0;
+#X connect 18 0 19 0;
+#X connect 18 1 9 0;
+#X connect 19 0 15 0;
+#X connect 20 0 5 2;
+#X connect 20 1 19 2;
+#X connect 21 0 5 3;
+#X connect 21 1 19 3;
+#X connect 22 0 1 2;
+#X connect 22 1 17 2;
+#X connect 23 0 1 3;
+#X connect 23 1 17 3;
+#X connect 24 0 21 0;
+#X connect 24 1 23 0;
+#X connect 25 0 20 0;
+#X connect 25 1 8 0;
+#X connect 26 0 24 0;
+#X connect 27 0 2 0;
+#X connect 28 0 1 0;
+#X connect 29 0 5 0;
+#X connect 30 0 4 0;
+#X connect 31 0 30 0;
+#X connect 31 1 0 0;
+#X connect 33 0 16 0;
+#X connect 34 0 18 0;
+#X restore 86 229 pd renderCrystalEye;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 1 1 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 1;
+#X connect 4 0 10 1;
+#X connect 5 0 6 0;
+#X connect 5 1 10 0;
+#X connect 7 0 3 0;
+#X connect 10 0 8 0;
+#X connect 10 1 9 0;
+#X restore 258 336 pd CrystalEyeStereo;
+#X obj 131 476 GEMglReportError;
+#X msg 390 149 1000 \$1;
+#X obj 390 171 /;
+#X obj 131 189 metro 20;
+#N canvas 274 226 751 300 GemState 0;
+#X obj 138 134 gemlist;
+#X obj 138 18 inlet bang;
+#X obj 138 224 outlet gemlist;
+#X msg 149 112 lighting \$1;
+#X obj 150 92 r \$0-lighting;
+#X msg 347 139 ticktime \$1;
+#X obj 347 96 t b b;
+#X obj 347 116 timer;
+#X obj 138 66 t b b;
+#X obj 372 23 r \$0-buffer;
+#X obj 347 46 i 2;
+#X obj 347 72 select 2;
+#X msg 400 116 50;
+#X connect 0 0 2 0;
+#X connect 1 0 8 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 5 0;
+#X connect 8 0 0 0;
+#X connect 8 1 10 0;
+#X connect 9 0 10 1;
+#X connect 10 0 11 0;
+#X connect 11 0 6 0;
+#X connect 11 1 12 0;
+#X connect 12 0 5 0;
+#X restore 131 230 pd GemState;
+#X obj 390 126 r \$0-rate;
+#X obj 131 168 r \$0-render;
+#X obj 131 279 t a a;
+#X obj 163 429 t a;
+#X obj 303 429 t a;
+#N canvas 3 45 682 270 send2gemhead 1;
+#X obj 83 46 inlet OSD;
+#X obj 323 42 inlet view;
+#X obj 173 68 r \$0-gemheadbasename;
+#X obj 173 90 symbol;
+#X msg 173 134 symbol \$1_osd;
+#X obj 83 179 s;
+#X obj 323 179 s;
+#X obj 173 112 t s s;
+#X connect 0 0 5 0;
+#X connect 1 0 6 0;
+#X connect 2 0 3 0;
+#X connect 3 0 7 0;
+#X connect 4 0 5 1;
+#X connect 7 0 4 0;
+#X connect 7 1 6 1;
+#X restore 192 455 pd send2gemhead;
+#X connect 0 0 10 0;
+#X connect 4 0 21 0;
+#X connect 4 1 8 0;
+#X connect 7 0 2 0;
+#X connect 11 0 24 0;
+#X connect 12 0 25 0;
+#X connect 12 1 26 0;
+#X connect 13 0 25 0;
+#X connect 13 1 26 0;
+#X connect 14 0 12 0;
+#X connect 14 1 13 0;
+#X connect 14 2 15 0;
+#X connect 14 3 16 0;
+#X connect 15 0 25 0;
+#X connect 15 1 26 0;
+#X connect 16 0 25 0;
+#X connect 16 1 26 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 1;
+#X connect 20 0 4 0;
+#X connect 21 0 11 0;
+#X connect 22 0 18 0;
+#X connect 23 0 20 0;
+#X connect 24 0 17 0;
+#X connect 24 1 14 0;
+#X connect 25 0 27 0;
+#X connect 26 0 27 1;