#N canvas 76 61 1137 553 10;
#X declare -lib Gem;
#X obj 366 251 GEMglGenLists 1;
#X obj 336 418 GEMglNewList;
#X obj 147 432 GEMglCallList;
#N canvas 0 0 450 300 once 0;
#X obj 91 62 inlet;
#X obj 91 266 outlet;
#X obj 91 150 spigot 1;
#X obj 91 175 t a b;
#X msg 121 197 0;
#X obj 298 57 inlet open;
#X obj 298 92 t b;
#X msg 142 128 1;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 3 1 4 0;
#X connect 4 0 2 1;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 2 1;
#X restore 366 229 pd once;
#N canvas 0 0 450 300 once 0;
#X obj 91 62 inlet;
#X obj 91 266 outlet;
#X obj 91 150 spigot 1;
#X obj 91 175 t a b;
#X msg 121 197 0;
#X obj 298 57 inlet open;
#X obj 298 92 t b;
#X msg 142 128 1;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 3 1 4 0;
#X connect 4 0 2 1;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 2 1;
#X restore 336 392 pd once;
#X obj 549 281 t b f;
#X obj 415 374 loadbang;
#X obj 415 393 GLdefine GL_COMPILE;
#X msg 417 199 bang;
#X obj 336 508 GEMglEndList;
#X obj 336 445 t a a;
#X obj 366 466 separator;
#X obj 336 173 gemhead 1;
#X obj 336 198 t a a;
#X obj 466 271 t f b;
#X obj 345 298 t f f;
#X text 26 21 this is an example of how to use Gem's openGL-wrapper-objects
to speed up things;
#X obj 147 248 gemhead;
#X obj 147 311 translateXYZ;
#X obj 147 364 rotateXYZ;
#X floatatom 549 236 5 -2 2 2 pos - -;
#X floatatom 199 282 5 -4 4 0 - - -;
#X floatatom 185 339 5 0 0 0 - - -;
#X text 346 25 1 generate a displaylist with [GEMglGenLists];
#X text 376 38 you should do this only once;
#X text 346 65 2 compile what is between [GEMglNewList] and [GEMglEndList]
;
#X text 377 82 you should do this \, whenever a parameter of the display-list
has changed;
#X text 346 125 3 call the displaylist with [GEMglCallList];
#N canvas 0 0 450 300 weird 0;
#X obj 37 9 inlet gemlist;
#X obj 37 125 cylinder;
#X obj 190 30 inlet dist;
#X obj 360 30 inlet tearot;
#X obj 67 204 rotate 0 0 1 0;
#X obj 67 231 teapot 0.2;
#X obj 67 173 translate 1 0 0 2;
#X obj 67 144 color 1 0 0;
#X obj 37 103 color 1 1 1 0.5;
#X obj 37 81 alpha;
#X obj 37 34 t a a;
#X obj 67 56 separator;
#X connect 0 0 10 0;
#X connect 2 0 6 1;
#X connect 3 0 4 1;
#X connect 4 0 5 0;
#X connect 6 0 4 0;
#X connect 7 0 6 0;
#X connect 8 0 1 0;
#X connect 9 0 8 0;
#X connect 10 0 9 0;
#X connect 10 1 11 0;
#X connect 11 0 7 0;
#X restore 366 487 pd weird thing;
#X msg 496 318 bang;
#X floatatom 660 269 5 0 0 2 rot - -;
#X text 535 320 recompile the display-list;
#X obj 147 400 spigot;
#X obj 249 365 t b f;
#X msg 202 400 1;
#X text 461 190 CLICK ME to generate the display-list \, once the rendering
is turned on;
#X text 598 231 when you change this \, the display-list will be recompiled
;
#X text 706 258 when you change this \, the display-list will NOT be
recompiled. You have to do that by hand!;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 119 99 pd Gem.init;
#N canvas 340 107 682 322 gemwin 0;
#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj 102 161 r \$0-gemstart;
#X obj 102 182 select 1 0;
#X msg 102 214 create \, 1;
#X msg 177 215 destroy;
#X obj 102 239 t a;
#X obj 318 54 inlet;
#X obj 318 255 gemwin;
#X obj 318 100 t a a;
#X obj 318 287 outlet;
#X obj 350 128 route create destroy;
#X obj 350 150 t b;
#X msg 350 172 1;
#X obj 390 150 t b;
#X msg 390 172 0;
#X obj 350 195 t f;
#X msg 350 219 set \$1;
#X text 118 122 rendering;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 3 0 5 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 6 0 8 0;
#X connect 7 0 9 0;
#X connect 8 0 7 0;
#X connect 8 1 10 0;
#X connect 10 0 11 0;
#X connect 10 1 13 0;
#X connect 11 0 12 0;
#X connect 12 0 15 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 0 0;
#X coords 0 -1 1 1 85 40 1 100 100;
#X restore 89 116 pd gemwin;
#X obj 1026 9 declare -lib Gem;
#X connect 0 1 14 0;
#X connect 1 0 10 0;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 29 0;
#X connect 5 1 28 1;
#X connect 6 0 7 0;
#X connect 7 0 1 2;
#X connect 8 0 3 1;
#X connect 10 0 9 0;
#X connect 10 1 11 0;
#X connect 11 0 28 0;
#X connect 12 0 13 0;
#X connect 13 0 4 0;
#X connect 13 1 3 0;
#X connect 14 0 15 0;
#X connect 14 1 29 0;
#X connect 15 0 33 0;
#X connect 15 1 1 1;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 32 0;
#X connect 20 0 5 0;
#X connect 21 0 18 1;
#X connect 21 0 18 2;
#X connect 22 0 19 1;
#X connect 22 0 19 2;
#X connect 22 0 19 3;
#X connect 29 0 4 1;
#X connect 30 0 28 2;
#X connect 32 0 2 0;
#X connect 33 0 34 0;
#X connect 33 1 2 1;
#X connect 34 0 32 1;
#X connect 38 0 39 0;
