#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;