- Restruct folder tree

This commit is contained in:
Santi Noreña 2013-02-24 12:45:15 +01:00
parent 39999df6a8
commit 4d31605318
5419 changed files with 527223 additions and 18 deletions

View file

@ -0,0 +1,63 @@
#N canvas 139 83 602 502 10;
#X obj 240 186 gemhead;
#X floatatom 348 258 0 0 0 0 - - -;
#X obj 240 246 color;
#X msg 342 191 1 1 1;
#X msg 342 156 1 0 0;
#X obj 240 339 square;
#X text 109 26 this demonstrates how to create a red square;
#X text 328 119 change the color;
#X text 341 226 rotate the square;
#X msg 343 302 draw line;
#X msg 343 322 draw fill;
#X msg 346 375 width 1;
#X msg 347 395 width 10;
#X obj 240 297 rotate;
#X obj 20 59 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 59 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X obj 59 65 t b b;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 1 1 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 103 pd gemwin;
#X msg 25 79 create;
#X text 21 59 Create window and render;
#X text 386 157 red;
#X text 389 192 white;
#X text 379 260 (in degree);
#X connect 0 0 2 0;
#X connect 1 0 13 1;
#X connect 2 0 13 0;
#X connect 3 0 2 1;
#X connect 4 0 2 1;
#X connect 9 0 5 0;
#X connect 10 0 5 0;
#X connect 11 0 5 0;
#X connect 12 0 5 0;
#X connect 13 0 5 0;
#X connect 15 0 16 0;
#X connect 16 0 15 0;

View file

@ -0,0 +1,65 @@
#N canvas 396 160 600 500 10;
#X obj 350 159 gemhead;
#X obj 350 337 rotate;
#X floatatom 409 275 0 0 0 0 - - -;
#X msg 452 144 1 1 1;
#X text 438 92 change the color;
#X msg 237 313 draw line;
#X msg 237 346 draw fill;
#X text 111 28 this demonstrates how to create a blue rectangle;
#X obj 350 379 rectangle 2 1;
#X text 382 260 rotate the rectangle;
#X msg 452 169 0 0 1;
#X floatatom 427 336 0 0 0 0 - - -;
#X floatatom 482 337 0 0 0 0 - - -;
#X text 419 314 width;
#X text 477 313 height;
#X obj 20 59 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 59 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X obj 59 65 t b b;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 1 1 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 103 pd gemwin;
#X msg 25 79 create;
#X text 21 59 Create window and render;
#X text 504 170 blue;
#X text 495 146 white;
#X obj 350 219 color 0 0 1;
#X text 422 221 (blue);
#X connect 0 0 21 0;
#X connect 1 0 8 0;
#X connect 2 0 1 1;
#X connect 3 0 21 1;
#X connect 5 0 8 0;
#X connect 6 0 8 0;
#X connect 10 0 21 1;
#X connect 11 0 8 1;
#X connect 12 0 8 2;
#X connect 16 0 17 0;
#X connect 17 0 16 0;
#X connect 21 0 1 0;

View file

@ -0,0 +1,59 @@
#N canvas 28 208 601 392 10;
#X obj 274 138 gemhead;
#X floatatom 350 169 0 0 0 0 - - -;
#X obj 22 325 world_light;
#X obj 22 283 gemhead 1;
#X text 369 251 change the number of slices;
#X msg 421 269 15;
#X obj 274 207 rotateXYZ 26 26 0;
#X floatatom 299 277 0 1 4 2 size - -;
#X floatatom 400 330 0 0 0.9 2 inner_radius - -;
#X obj 274 356 disk 2 5 1;
#X msg 384 269 10;
#X obj 30 59 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 59 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X obj 59 65 t b b;
#X msg 59 94 lighting 1;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 3 1 1 0;
#X connect 4 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 35 103 pd gemwin;
#X msg 35 79 create;
#X text 31 59 Create window and render;
#X connect 0 0 6 0;
#X connect 1 0 6 1;
#X connect 1 0 6 2;
#X connect 3 0 2 0;
#X connect 5 0 9 2;
#X connect 6 0 9 0;
#X connect 7 0 9 1;
#X connect 8 0 9 3;
#X connect 10 0 9 2;
#X connect 12 0 13 0;
#X connect 13 0 12 0;

View file

@ -0,0 +1,65 @@
#N canvas 173 -28 667 537 12;
#X obj 306 137 gemhead;
#X obj 306 248 rotate;
#X floatatom 372 194 0 0 0 0 - - -;
#X msg 124 207 draw line;
#X msg 142 240 draw fill;
#X obj 306 431 primTri;
#X text 48 23 this demonstrates how to create a triangle primitive
;
#X text 337 172 rotate the triangle;
#X msg 561 306 1 0 0;
#X msg 561 342 0 1 0;
#X msg 561 378 0 0 1;
#X text 555 270 colors;
#X text 420 264 vertices;
#X msg 423 286 1 1 0;
#X msg 422 357 -1 1 0;
#X msg 423 322 1 -2 0;
#X text 192 52 the colors can be RGB or RGBA;
#X obj 30 109 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 59 26 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X obj 59 45 t b b;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 1 1 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 35 153 pd gemwin;
#X msg 35 129 create;
#X text 31 109 Create window and render;
#X connect 0 0 1 0;
#X connect 1 0 5 0;
#X connect 2 0 1 1;
#X connect 3 0 5 0;
#X connect 4 0 5 0;
#X connect 8 0 5 4;
#X connect 9 0 5 5;
#X connect 10 0 5 6;
#X connect 13 0 5 1;
#X connect 14 0 5 3;
#X connect 15 0 5 2;
#X connect 18 0 19 0;
#X connect 19 0 18 0;

View file

@ -0,0 +1,44 @@
#N canvas 361 165 602 280 10;
#X obj 372 91 gemhead;
#X floatatom 416 122 0 -4.5 4.5 0 - - -;
#X obj 372 197 cube;
#X obj 372 159 translateXYZ;
#X obj 30 109 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 59 26 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X obj 59 45 t b b;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 1 1 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 35 153 pd gemwin;
#X msg 35 129 create;
#X text 31 109 Create window and render;
#X connect 0 0 3 0;
#X connect 1 0 3 1;
#X connect 1 0 3 2;
#X connect 3 0 2 0;
#X connect 5 0 6 0;
#X connect 6 0 5 0;

View file

@ -0,0 +1,55 @@
#N canvas 393 222 603 394 10;
#X obj 275 174 gemhead;
#X floatatom 319 205 0 0 0 0 - - -;
#X obj 275 317 sphere;
#X obj 22 325 world_light;
#X obj 22 283 gemhead 1;
#X text 377 279 change the number of slices;
#X obj 275 242 rotateXYZ;
#X msg 340 280 15;
#X msg 303 280 5;
#X obj 31 53 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 59 26 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X obj 59 45 t b b;
#X msg 51 75 lighting 1;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 3 1 1 0;
#X connect 4 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 36 97 pd gemwin;
#X msg 36 73 create;
#X text 32 53 Create window and render;
#X connect 0 0 6 0;
#X connect 1 0 6 1;
#X connect 1 0 6 2;
#X connect 4 0 3 0;
#X connect 6 0 2 0;
#X connect 7 0 2 2;
#X connect 8 0 2 2;
#X connect 10 0 11 0;
#X connect 11 0 10 0;

View file

@ -0,0 +1,62 @@
#N canvas 393 222 603 394 10;
#X obj 274 138 gemhead;
#X floatatom 318 169 0 0 0 0 - - -;
#X obj 22 325 world_light;
#X obj 22 283 gemhead 1;
#X text 369 251 change the number of slices;
#X msg 421 269 15;
#X msg 384 269 5;
#X obj 274 356 cylinder;
#X obj 274 207 rotateXYZ 26 26 0;
#X floatatom 299 303 0 0 0 2 size - -;
#X obj 31 53 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 59 26 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X obj 59 45 t b b;
#X msg 51 75 lighting 1;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 3 1 1 0;
#X connect 4 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 36 97 pd gemwin;
#X msg 36 73 create;
#X text 32 53 Create window and render;
#X obj 94 325 world_light;
#X obj 94 283 gemhead 1;
#X obj 94 302 rotateXYZ 12 54 20;
#X connect 0 0 8 0;
#X connect 1 0 8 1;
#X connect 1 0 8 2;
#X connect 3 0 2 0;
#X connect 5 0 7 2;
#X connect 6 0 7 2;
#X connect 8 0 7 0;
#X connect 9 0 7 1;
#X connect 11 0 12 0;
#X connect 12 0 11 0;
#X connect 15 0 16 0;
#X connect 16 0 14 0;

View file

@ -0,0 +1,61 @@
#N canvas 348 152 673 462 12;
#X floatatom 460 79 0 0 0 0 - - -;
#X obj 385 44 gemhead;
#X floatatom 446 179 0 0 0 0 - - -;
#X obj 212 283 gemhead 1;
#X obj 212 321 world_light;
#X text 185 21 load in a model file;
#X obj 33 85 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 59 26 loadbang;
#X msg 165 79 reset;
#X obj 118 113 outlet;
#X obj 59 45 t b b;
#X obj 167 38 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 54 75 lighting 1;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 5 0;
#X connect 3 1 1 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 38 129 pd gemwin;
#X msg 38 105 destroy;
#X text 34 85 Create window and render;
#X text 69 378 Gem can load 3d-models in the alias|wavefront .obj format
;
#X obj 385 255 model ../data/venus.obj;
#X obj 385 205 rotate 0 0 1 0;
#X obj 385 134 translate 0 0 0 1;
#X obj 460 103 / 100;
#X connect 0 0 14 0;
#X connect 1 0 13 0;
#X connect 2 0 12 1;
#X connect 3 0 4 0;
#X connect 7 0 8 0;
#X connect 8 0 7 0;
#X connect 12 0 11 0;
#X connect 13 0 12 0;
#X connect 14 0 13 1;

View file

@ -0,0 +1,65 @@
#N canvas 56 98 635 502 12;
#X obj 350 226 gemhead;
#X floatatom 458 298 0 0 0 0 - - -;
#X obj 350 286 color;
#X msg 452 231 1 1 1;
#X text 438 159 change the color;
#X obj 350 379 teapot;
#X obj 350 337 rotateXYZ;
#X obj 29 398 gemhead;
#X obj 29 420 world_light;
#X msg 452 196 1 1 0;
#X text 109 29 this demonstrates how to create a yellow teapot;
#X text 449 277 rotate the teapot;
#X msg 456 365 draw line;
#X msg 453 395 draw fill;
#X obj 31 73 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 59 26 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X obj 59 45 t b b;
#X msg 51 75 lighting 1;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 3 1 1 0;
#X connect 4 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 36 117 pd gemwin;
#X msg 36 93 create;
#X text 32 73 Create window and render;
#X text 32 261 this is the famous;
#X text 52 294 utah teapot;
#X connect 0 0 2 0;
#X connect 1 0 6 1;
#X connect 1 0 6 2;
#X connect 2 0 6 0;
#X connect 3 0 2 1;
#X connect 6 0 5 0;
#X connect 7 0 8 0;
#X connect 9 0 2 1;
#X connect 12 0 5 0;
#X connect 13 0 5 0;
#X connect 15 0 16 0;
#X connect 16 0 15 0;

View file

@ -0,0 +1,61 @@
#N canvas 0 0 725 412 10;
#N canvas 95 194 290 179 Gem.init 0;
#X obj 83 30 loadbang;
#X msg 83 67 reset;
#X obj 83 107 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 100 115 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 100 134 pd gemwin;
#X text 247 146 just enable the toggle labeled "rendering" to create
a window and start rendering \; switching the toggle off will destroy
the window;
#X text 260 60 by now we assume that you know how to control a Gem-window
;
#X text 252 268 apart from that \, the subpatch is really the same
as [gemwin] itself \; e.g. you can send any message to it that [gemwin]
understands.;
#X text 249 204 thus you don't have to click on [create( and then [1(
anymore...;
#X text 249 113 for the sake of simplicity \, from now on the examples
will use the subpatch on the left side to control the Gem-window.;
#X connect 0 0 1 0;

View file

@ -0,0 +1,143 @@
#N canvas 215 32 781 537 10;
#X obj 607 137 separator;
#X msg 697 200 1;
#X msg 734 199 0;
#X text 206 264 on;
#X text 243 262 off;
#X msg 19 288 1;
#X msg 55 290 0;
#X msg 200 290 1;
#X msg 238 290 0;
#X obj 276 308 gemhead 1;
#X obj 482 240 int 0;
#X obj 534 241 + 2;
#X floatatom 646 302 0 0 0 0 - - -;
#X obj 607 464 sphere;
#X obj 488 19 gemhead;
#X floatatom 482 273 0 0 0 0 - - -;
#X obj 97 350 world_light;
#X obj 97 295 gemhead 1;
#X obj 443 418 sphere;
#X obj 646 275 int 0;
#X obj 276 364 light;
#X msg 644 431 20;
#X msg 480 388 5;
#X text 31 246 global light;
#X text 242 236 local light;
#X text 25 266 on;
#X text 55 267 off;
#X obj 482 206 metro 50;
#X msg 482 176 1;
#X msg 519 178 0;
#X obj 646 241 metro 100;
#X obj 708 273 + 1;
#X obj 443 142 separator;
#X obj 443 338 translateXYZ 2 0 0;
#X obj 443 301 rotate 0 1 0;
#X obj 607 341 rotate 1 0 0;
#X obj 607 374 translateXYZ 0 2 0;
#X obj 607 179 color 0 1 0;
#X obj 644 401 r initstuff;
#X obj 480 362 r initstuff;
#X obj 94 473 s initstuff;
#X obj 94 443 loadbang;
#X obj 488 99 translateXYZ;
#X floatatom 540 62 0 0 0 0 - - -;
#X text 582 60 change this number;
#N canvas 95 194 290 179 Gem.init 0;
#X obj 83 30 loadbang;
#X msg 161 76 reset;
#X obj 45 107 outlet;
#X msg 45 75 dimen 300 300;
#X obj 88 51 t b b;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 4 1 1 0;
#X restore 230 117 pd Gem.init;
#X msg 100 102 lighting \$1;
#X text 89 60 turn lighting on/off;
#X obj 100 78 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#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 100 134 pd gemwin;
#X connect 0 0 37 0;
#X connect 1 0 30 0;
#X connect 2 0 30 0;
#X connect 2 0 19 0;
#X connect 5 0 16 0;
#X connect 6 0 16 0;
#X connect 7 0 20 0;
#X connect 8 0 20 0;
#X connect 9 0 20 0;
#X connect 10 0 11 0;
#X connect 10 0 15 0;
#X connect 11 0 10 1;
#X connect 12 0 35 1;
#X connect 14 0 42 0;
#X connect 15 0 34 1;
#X connect 17 0 16 0;
#X connect 19 0 12 0;
#X connect 19 0 31 0;
#X connect 21 0 13 2;
#X connect 22 0 18 2;
#X connect 27 0 10 0;
#X connect 28 0 27 0;
#X connect 29 0 27 0;
#X connect 29 0 10 0;
#X connect 30 0 19 0;
#X connect 31 0 19 1;
#X connect 32 0 34 0;
#X connect 33 0 18 0;
#X connect 34 0 33 0;
#X connect 35 0 36 0;
#X connect 36 0 13 0;
#X connect 37 0 35 0;
#X connect 38 0 21 0;
#X connect 39 0 22 0;
#X connect 41 0 40 0;
#X connect 42 0 32 0;
#X connect 42 0 0 0;
#X connect 43 0 42 2;
#X connect 45 0 49 0;
#X connect 46 0 49 0;
#X connect 48 0 46 0;

View file

@ -0,0 +1,87 @@
#N canvas 396 100 600 500 10;
#X obj 358 140 gemhead;
#X floatatom 377 222 0 0 0 0 - - -;
#X obj 358 256 rotateXYZ;
#X obj 150 135 gemhead 60;
#X obj 150 162 ortho;
#X obj 150 314 colorRGB 0 1 0;
#X obj 358 332 model ../data/venus.obj;
#X obj 150 347 model ../data/venus.obj;
#X obj 12 257 gemhead 1;
#X obj 12 296 world_light;
#X floatatom 169 213 0 0 0 0 - - -;
#X obj 150 249 rotateXYZ;
#X obj 358 182 translateXYZ 1 0 0;
#X obj 150 189 translateXYZ -1 0 0;
#X obj 358 301 scale 3;
#X obj 150 282 scale 3;
#X text 168 6 display two models;
#X text 136 85 rotate the two models to see the effect;
#N canvas 22 20 213 300 Gem.init 0;
#X obj 71 191 outlet;
#X obj 71 81 loadbang;
#X msg 101 134 reset;
#X obj 71 109 t b b;
#X msg 71 164 lighting 1;
#X connect 1 0 3 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 3 1 2 0;
#X connect 4 0 0 0;
#X restore 43 61 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 18 95 pd gemwin;
#X text 142 32 one model is in "perspective" mode;
#X text 159 54 the other is in "orthographic" mode;
#X connect 0 0 12 0;
#X connect 1 0 2 1;
#X connect 2 0 14 0;
#X connect 3 0 4 0;
#X connect 4 0 13 0;
#X connect 5 0 7 0;
#X connect 8 0 9 0;
#X connect 10 0 11 1;
#X connect 11 0 15 0;
#X connect 12 0 2 0;
#X connect 13 0 11 0;
#X connect 14 0 6 0;
#X connect 15 0 5 0;
#X connect 18 0 19 0;

View file

@ -0,0 +1,85 @@
#N canvas 55 43 729 499 10;
#X obj 309 426 gemhead;
#X obj 179 426 gemhead 1;
#X obj 179 464 world_light;
#X obj 309 464 model ../data/venus.obj;
#X msg 240 111 view 0 0 \$1;
#X floatatom 240 85 0 0 0 0 - - -;
#X text 344 85 move the camera;
#X msg 240 183 view 0 0 4 \$1;
#X floatatom 240 147 0 0 0 0 - - -;
#X text 343 106 default is 0 \, 0 \, 4;
#X text 370 168 turn left and right;
#X floatatom 236 220 0 0 0 0 - - -;
#X msg 236 256 view 0 0 4 0 \$1;
#X text 363 237 turn up and down;
#X floatatom 237 294 0 0 0 0 - - -;
#X msg 237 330 view 0 0 4 \$1 \$1;
#X text 296 301 turn left and right and up and down;
#N canvas 22 20 213 300 Gem.init 0;
#X obj 71 191 outlet;
#X obj 71 81 loadbang;
#X msg 101 134 reset;
#X obj 71 109 t b b;
#X msg 71 164 lighting 1;
#X connect 1 0 3 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 3 1 2 0;
#X connect 4 0 0 0;
#X restore 29 176 pd Gem.init;
#X text 185 21 change the view-point;
#X msg 542 107 view x y z;
#X msg 547 184 view x y z phi;
#X msg 550 267 view x y z phi theta;
#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 29 200 pd gemwin;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 4 0 22 0;
#X connect 5 0 4 0;
#X connect 7 0 22 0;
#X connect 8 0 7 0;
#X connect 11 0 12 0;
#X connect 12 0 22 0;
#X connect 14 0 15 0;
#X connect 15 0 22 0;
#X connect 17 0 22 0;

View file

@ -0,0 +1,317 @@
#N canvas 50 151 946 464 10;
#N canvas 50 173 290 229 Gem.init 0;
#X obj 71 191 outlet;
#X obj 71 81 loadbang;
#X msg 101 134 reset;
#X obj 71 109 t b b;
#X msg 71 164 lighting 1;
#X msg 155 164 lighting 0;
#X connect 1 0 3 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 3 1 2 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X restore 48 98 pd Gem.init;
#X obj 249 195 cube;
#X msg 249 121 set \$1;
#X floatatom 249 98 5 0 0 0 - - -;
#X obj 249 169 translateXYZ 1 2 -3;
#X obj 77 130 r view_mess;
#N canvas 298 685 450 300 lighting 0;
#X obj 214 196 world_light;
#X obj 214 136 gemhead 1;
#X obj 65 157 world_light;
#X obj 65 105 gemhead 1;
#X msg 278 97 0.5 0.8 0.6;
#X obj 271 67 loadbang;
#X obj 65 129 rotateXYZ -104 160 0;
#X obj 214 164 rotateXYZ 104 -100 0;
#X msg 137 98 1 1 1;
#X obj 65 44 - 1;
#X obj 65 18 inlet;
#X msg 65 68 set \$1;
#X connect 1 0 7 0;
#X connect 3 0 6 0;
#X connect 4 0 0 1;
#X connect 5 0 8 0;
#X connect 5 0 4 0;
#X connect 6 0 2 0;
#X connect 7 0 0 0;
#X connect 8 0 2 1;
#X connect 9 0 11 0;
#X connect 10 0 9 0;
#X connect 11 0 3 0;
#X connect 11 0 1 0;
#X restore 604 108 pd lighting;
#X obj 271 291 translateXYZ 0 -2 -2;
#X obj 271 265 gemhead -50;
#X obj 550 108 gemhead;
#X obj 550 131 model ../data/venus.obj;
#X obj 249 145 gemhead -50;
#X obj 271 315 text2d;
#N canvas 6 51 381 205 textinit 0;
#X obj 85 140 outlet;
#X obj 94 63 loadbang;
#X msg 100 107 text press left button and move mouse;
#X msg 82 86 font ../data/vera.ttf;
#X connect 1 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X restore 469 297 pd textinit;
#X obj 249 56 tgl 15 0 empty stay_cube empty 0 -6 0 8 -262144 -1 -1
0 100;
#X obj 249 76 - 50;
#X text 125 6 change the view-point \, but keep some objects at a fixed
position;
#X text 307 120 set the priority for rendering;
#X text 431 188 a priority<0 will be rendered AFTER all other things
\, and with viewpoint set to the origin! (objects will not be affected
by a change of view);
#X text 431 240 this is good for displaying logos \, help messages
and cetera...;
#X obj 588 282 gemhead -50;
#N canvas 108 327 419 265 textinit 0;
#X obj 82 198 outlet;
#X obj 78 82 loadbang;
#X msg 97 165 text occasionally press right button;
#X obj 225 10 gemhead -1;
#X obj 225 80 spigot;
#X obj 225 39 t b b;
#X obj 225 102 t b f;
#X obj 264 60 f 1;
#X msg 225 126 font ../data/vera.ttf;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 5 1 7 0;
#X connect 6 0 8 0;
#X connect 6 1 7 1;
#X connect 7 0 4 1;
#X connect 8 0 0 0;
#X restore 786 389 pd textinit;
#X obj 588 407 text3d;
#X obj 588 380 rotateXYZ;
#X obj 588 332 render_trigger;
#X obj 634 353 i;
#X obj 687 353 % 360;
#X obj 660 353 - 5;
#X obj 588 308 translateXYZ 0 -7 -10;
#N canvas 231 652 445 426 mousemove 0;
#X obj 129 8 gemmouse;
#X obj 136 88 pack;
#X obj 136 110 spigot;
#X obj 136 131 unpack;
#X obj 136 196 t f f;
#X obj 36 16 gemkeyname;
#X obj 36 39 pack 0 s;
#X obj 36 62 route 1;
#X msg 36 107 0;
#X msg 136 365 view \$2 \$3 \$1 0 0 0 0 1 0;
#X obj 136 173 +;
#X obj 136 221 * -1;
#X obj 201 237 t f f;
#X obj 201 174 +;
#X obj 201 262 * -1;
#X obj 36 129 t f f f;
#X obj 136 388 s view_mess;
#X text 61 106 reset;
#N canvas 292 198 304 356 coordinates 0;
#X obj 89 52 inlet;
#X obj 94 331 outlet;
#X obj 193 62 atan;
#X msg 193 41 1;
#X obj 193 84 / 45;
#X obj 193 20 loadbang;
#X text 94 29 r phi theta;
#X obj 89 78 unpack 0 0 0;
#X obj 128 123 *;
#X obj 168 123 *;
#X obj 120 197 cos;
#X obj 150 198 sin;
#X obj 120 166 t f f;
#X obj 183 198 cos;
#X obj 213 199 sin;
#X obj 183 167 t f f;
#X obj 120 230 *;
#X obj 150 231 *;
#X obj 85 275 *;
#X obj 125 275 *;
#X obj 174 277 *;
#X obj 66 242 t f f f;
#X obj 91 308 pack 0 0 0;
#X connect 0 0 7 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 9 1;
#X connect 4 0 8 1;
#X connect 5 0 3 0;
#X connect 7 0 21 0;
#X connect 7 1 8 0;
#X connect 7 2 9 0;
#X connect 8 0 12 0;
#X connect 9 0 15 0;
#X connect 10 0 16 0;
#X connect 11 0 17 0;
#X connect 12 0 10 0;
#X connect 12 1 11 0;
#X connect 13 0 16 1;
#X connect 13 0 17 1;
#X connect 14 0 20 1;
#X connect 15 0 13 0;
#X connect 15 1 14 0;
#X connect 16 0 18 1;
#X connect 17 0 19 1;
#X connect 18 0 22 0;
#X connect 19 0 22 1;
#X connect 20 0 22 2;
#X connect 21 0 18 0;
#X connect 21 1 19 0;
#X connect 21 2 20 0;
#X connect 22 0 1 0;
#X restore 136 310 pd coordinates;
#X obj 136 249 t b f;
#X obj 136 289 pack 4 0 0;
#X obj 177 46 t f f;
#X obj 177 67 -;
#X obj 136 45 t f f;
#X obj 136 66 -;
#X obj 278 57 s stay_cube;
#X obj 278 35 select 1;
#X obj 201 151 * 0.5;
#X obj 136 153 * 0.5;
#X obj 201 209 clip -90 90;
#N canvas 1020 394 450 300 space 0;
#X obj 42 13 inlet;
#X obj 42 35 symbol;
#X obj 42 87 select space;
#X obj 123 111 select space;
#X obj 204 87 makefilename %c;
#X msg 204 59 32;
#X obj 42 57 t s b;
#X obj 42 159 t b;
#X obj 42 181 outlet;
#X connect 0 0 1 0;
#X connect 1 0 6 0;
#X connect 2 0 7 0;
#X connect 2 1 3 0;
#X connect 3 0 7 0;
#X connect 4 0 3 1;
#X connect 5 0 4 0;
#X connect 6 0 2 0;
#X connect 6 1 5 0;
#X connect 7 0 8 0;
#X restore 36 85 pd space;
#X connect 0 0 23 0;
#X connect 0 1 21 0;
#X connect 0 2 2 1;
#X connect 0 4 26 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 28 0;
#X connect 3 1 27 0;
#X connect 4 0 11 0;
#X connect 4 1 10 1;
#X connect 5 0 6 0;
#X connect 5 1 6 1;
#X connect 6 0 7 0;
#X connect 7 0 30 0;
#X connect 8 0 15 0;
#X connect 9 0 16 0;
#X connect 10 0 4 0;
#X connect 11 0 19 0;
#X connect 12 0 14 0;
#X connect 12 1 13 1;
#X connect 13 0 29 0;
#X connect 14 0 20 2;
#X connect 15 0 10 0;
#X connect 15 1 10 1;
#X connect 15 1 13 0;
#X connect 15 2 13 1;
#X connect 18 0 9 0;
#X connect 19 0 20 0;
#X connect 19 1 20 1;
#X connect 20 0 18 0;
#X connect 21 0 22 1;
#X connect 21 1 22 0;
#X connect 22 0 1 1;
#X connect 23 0 24 1;
#X connect 23 1 24 0;
#X connect 24 0 1 0;
#X connect 26 0 25 0;
#X connect 27 0 13 0;
#X connect 28 0 10 0;
#X connect 29 0 12 0;
#X connect 30 0 8 0;
#X restore 731 34 pd mousemove;
#X text 275 48 0...[cube] is rendered OSD;
#X text 275 60 1...[cube] is rendered at "view";
#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 48 204 pd gemwin;
#X obj 604 88 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 2
2;
#X text 632 87 <- should the view affect light position or not;
#X connect 0 0 32 0;
#X connect 2 0 11 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 32 0;
#X connect 7 0 12 0;
#X connect 8 0 7 0;
#X connect 9 0 10 0;
#X connect 11 0 4 0;
#X connect 13 0 12 0;
#X connect 14 0 15 0;
#X connect 15 0 3 0;
#X connect 20 0 28 0;
#X connect 21 0 22 0;
#X connect 23 0 22 0;
#X connect 24 0 23 0;
#X connect 24 1 25 0;
#X connect 25 0 27 0;
#X connect 25 0 23 1;
#X connect 26 0 25 1;
#X connect 27 0 26 0;
#X connect 28 0 24 0;
#X connect 33 0 6 0;

View file

@ -0,0 +1,99 @@
#N canvas 275 99 721 506 10;
#X floatatom 414 85 0 0 0 0 - - -;
#X obj 385 44 gemhead;
#X floatatom 403 165 0 0 0 0 - - -;
#X obj 268 149 gemhead 1;
#X obj 268 187 world_light;
#X obj 385 279 model ../data/venus.obj;
#X obj 385 134 translateXYZ;
#X obj 385 205 rotateXYZ;
#X obj 385 238 scale 3;
#X obj 40 198 r fogmess;
#X msg 335 395 \; fogmess fogmode 2 \; fogmess fog 0.1;
#X msg 11 394 \; fogmess fogmode 0;
#X msg 172 393 \; fogmess fogmode 1 \; fogmess fog 0.7;
#X text 39 349 no fog;
#X text 190 354 linear fog;
#X text 371 353 exp fog;
#X text 520 357 exp^2 fog;
#X msg 485 399 \; fogmess fogmode 3 \; fogmess fog 0.1;
#X text 184 21 various fog types;
#X obj 522 132 gemhead;
#X floatatom 458 97 5 0 0 0 - - -;
#X obj 522 170 rotateXYZ 0 -117 0;
#X obj 522 189 square 5;
#X obj 522 151 translateXYZ -3.5 0 -6.57;
#X obj 385 22 tgl 15 1 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
;
#X obj 522 113 tgl 15 1 empty empty empty 20 8 0 8 -262144 -1 -1 1
1;
#N canvas 26 40 290 300 Gem.init 0;
#X obj 71 191 outlet;
#X obj 71 81 loadbang;
#X msg 101 134 reset;
#X obj 71 109 t b b;
#X msg 71 164 lighting 1;
#X msg 131 165 fogcolor 1 0 0;
#X connect 1 0 3 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 3 0 5 0;
#X connect 3 1 2 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X restore 59 219 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 40 258 pd gemwin;
#X connect 0 0 6 3;
#X connect 1 0 6 0;
#X connect 2 0 7 1;
#X connect 3 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 5 0;
#X connect 9 0 27 0;
#X connect 19 0 23 0;
#X connect 20 0 6 1;
#X connect 21 0 22 0;
#X connect 23 0 21 0;
#X connect 24 0 1 0;
#X connect 25 0 19 0;
#X connect 26 0 27 0;

View file

@ -0,0 +1,97 @@
#N canvas 631 50 600 504 10;
#X obj 426 54 gemhead;
#X floatatom 464 134 0 0 0 0 - - -;
#X obj 464 307 gemhead 1;
#X obj 464 332 world_light;
#X obj 426 181 model ../data/venus.obj;
#X text 185 21 load in a model file;
#X obj 426 81 translateXYZ 0 0 2;
#X obj 426 157 rotateXYZ;
#X text 149 40 and display it stereoscopically;
#X msg 221 130 stereoSep \$1;
#X msg 318 129 stereoFoc \$1;
#X floatatom 221 92 0 0 0 0 - - -;
#X floatatom 318 87 0 0 0 0 - - -;
#X text 23 295 The default stereoSep is -15;
#X text 23 315 The model may appear inside out depending on what viewing
method you use.;
#X text 23 350 If it does \, change the stereoSep to 15;
#N canvas 30 60 290 300 Gem.init 0;
#X obj 71 191 outlet;
#X obj 71 81 loadbang;
#X msg 101 134 reset;
#X obj 71 109 t b b;
#X msg 71 164 lighting 1;
#X msg 148 165 stereo 1;
#X connect 1 0 3 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 3 0 5 0;
#X connect 3 1 2 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X restore 58 173 pd Gem.init;
#X msg 271 206 stereo 1;
#X msg 271 228 stereo 2;
#X msg 271 271 stereo 0;
#X text 335 207 2 separate images;
#X text 338 230 red/green stereo;
#X text 336 273 no stereo;
#X msg 271 248 stereo 3;
#X text 338 250 crystal eyes stereo;
#X text 32 402 NOTE: you need special hardware to use "crystal eyes
stereo";
#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 58 207 pd gemwin;
#X connect 0 0 6 0;
#X connect 1 0 7 2;
#X connect 2 0 3 0;
#X connect 6 0 7 0;
#X connect 7 0 4 0;
#X connect 9 0 26 0;
#X connect 10 0 26 0;
#X connect 11 0 9 0;
#X connect 12 0 10 0;
#X connect 16 0 26 0;
#X connect 17 0 26 0;
#X connect 18 0 26 0;
#X connect 19 0 26 0;
#X connect 23 0 26 0;

View file

@ -0,0 +1,88 @@
#N canvas 396 160 600 500 10;
#X obj 198 50 gemhead;
#X obj 198 82 part_head;
#X obj 198 136 part_color;
#X obj 198 447 part_draw;
#X msg 335 69 0 1 0;
#X text 329 37 set the color range;
#X obj 198 331 part_gravity 0 -0.01 0;
#X obj 198 206 part_velsphere 0 0.2 0 0.2;
#X text 310 269 set the number per frame;
#X text 310 378 set the age to kill at;
#X text 366 327 gravity to affect the particles;
#X text 408 174 the velocity domain;
#X text 406 191 a sphere at 0 \, 0.2 \, 0;
#X msg 219 413 draw line;
#X msg 298 413 draw point;
#X msg 393 69 1 0 0;
#X obj 198 270 part_source 25;
#X obj 198 381 part_killold 45;
#X text 406 208 radius = 0.2;
#X msg 31 131 stereoSep 15;
#X obj 198 174 part_size 2;
#N canvas 26 40 290 300 Gem.init 0;
#X obj 71 191 outlet;
#X obj 71 81 loadbang;
#X msg 101 134 reset;
#X obj 71 109 t b b;
#X msg 71 164 stereo 1;
#X connect 1 0 3 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 3 1 2 0;
#X connect 4 0 0 0;
#X restore 87 170 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 31 187 pd gemwin;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 20 0;
#X connect 4 0 2 1;
#X connect 6 0 17 0;
#X connect 7 0 16 0;
#X connect 13 0 3 0;
#X connect 14 0 3 0;
#X connect 15 0 2 2;
#X connect 16 0 6 0;
#X connect 17 0 3 0;
#X connect 19 0 22 0;
#X connect 20 0 7 0;
#X connect 21 0 22 0;

View file

@ -0,0 +1,87 @@
#N canvas 396 100 600 375 10;
#X obj 210 252 gemhead;
#X obj 210 312 model ../data/venus.obj;
#X text 117 4 snap a portion of the graphics window into a texture
;
#X obj 210 278 translateXYZ 0 0 2;
#X obj 423 193 gemhead;
#X obj 423 255 pix_texture;
#X msg 294 88 snap;
#X msg 275 56 bang;
#X msg 355 148 bang;
#X msg 328 120 bang;
#X obj 423 226 pix_snap 0 0 256 256;
#X obj 423 284 rotateXYZ 0 45 25;
#X obj 423 317 square 4;
#X text 327 54 draw the model;
#X text 348 87 snap the frame buffer;
#X text 390 120 clear the frame buffer;
#X text 407 146 draw the snapped texture;
#N canvas 26 40 290 300 Gem.init 0;
#X obj 71 191 outlet;
#X obj 71 81 loadbang;
#X msg 101 134 reset;
#X obj 71 109 t b b;
#X msg 71 164 dimen 256 256;
#X msg 179 165 buffer 1;
#X connect 1 0 3 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 3 0 5 0;
#X connect 3 1 2 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X restore 30 120 pd Gem.init;
#X text 123 20 notice that this is using single buffered (see Gem.init)
drawing!;
#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 30 137 pd gemwin;
#X connect 0 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 10 0;
#X connect 5 0 11 0;
#X connect 6 0 10 0;
#X connect 7 0 0 0;
#X connect 8 0 4 0;
#X connect 9 0 19 0;
#X connect 10 0 5 0;
#X connect 11 0 12 0;
#X connect 17 0 19 0;

View file

@ -0,0 +1,138 @@
#N canvas 389 0 635 537 10;
#X obj 64 405 gemhead;
#X obj 64 509 model ../data/venus.obj;
#X text 115 2 snap a portion of the graphics window into a texture
;
#X obj 399 365 pix_texture;
#X obj 399 430 rotateXYZ;
#X floatatom 500 399 0 0 0 0 - - -;
#X msg 339 350 snap;
#X msg 110 370 0;
#X obj 399 256 render_trigger;
#X obj 399 329 pix_snap 0 0 256 256;
#X obj 399 219 gemhead 60;
#X obj 399 453 square 3;
#X msg 34 94 \; render 1;
#X msg 32 50 \; render 0;
#X obj 18 181 r render;
#X obj 180 360 r render;
#X obj 295 322 t b b;
#X obj 295 197 r render;
#X msg 295 260 clear;
#X obj 295 229 sel 1;
#X obj 233 400 gemhead;
#X obj 233 510 model ../data/venus.obj;
#X obj 233 472 color 1 0 0;
#X obj 64 478 color 0 1 0;
#X obj 233 432 translateXYZ 1 0 1;
#X obj 64 438 translateXYZ -1 0 1;
#X text 369 155 notice that we use render_trigger;
#X text 369 172 to make sure that we snap before;
#X text 373 190 the square is drawn;
#X text 126 42 you may need to turn rendering off \, then on;
#X text 128 59 to get the snap to work right. This is because;
#X text 127 77 the first time rendering is turned on \, we might;
#X text 128 95 have garbage in the frame buffer;
#X text 127 126 rotate the square to see the texture;
#N canvas 26 40 290 300 Gem.init 0;
#X obj 71 191 outlet;
#X obj 71 81 loadbang;
#X msg 101 134 reset;
#X obj 71 109 t b b;
#X msg 71 164 dimen 256 256;
#X connect 1 0 3 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 3 1 2 0;
#X connect 4 0 0 0;
#X restore 84 181 pd Gem.init;
#N canvas 0 0 450 300 oneshot 0;
#X obj 93 82 inlet;
#X obj 187 148 bang;
#X msg 187 167 1;
#X obj 93 214 spigot;
#X msg 155 168 0;
#X obj 93 172 t a b;
#X obj 93 240 t a b;
#X obj 136 192 i 1;
#X obj 93 107 route clear;
#X obj 93 262 outlet;
#X connect 0 0 8 0;
#X connect 1 0 2 0;
#X connect 2 0 7 1;
#X connect 3 0 6 0;
#X connect 4 0 7 1;
#X connect 5 0 3 0;
#X connect 5 1 7 0;
#X connect 6 0 9 0;
#X connect 6 1 4 0;
#X connect 7 0 3 1;
#X connect 8 0 1 0;
#X connect 8 1 5 0;
#X restore 295 287 pd oneshot;
#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 18 206 pd gemwin;
#X connect 0 0 25 0;
#X connect 3 0 4 0;
#X connect 4 0 11 0;
#X connect 5 0 4 2;
#X connect 6 0 9 0;
#X connect 7 0 0 0;
#X connect 7 0 20 0;
#X connect 8 0 9 0;
#X connect 8 1 35 0;
#X connect 9 0 3 0;
#X connect 10 0 8 0;
#X connect 14 0 36 0;
#X connect 15 0 0 0;
#X connect 15 0 20 0;
#X connect 16 0 7 0;
#X connect 16 1 6 0;
#X connect 17 0 19 0;
#X connect 18 0 35 0;
#X connect 19 0 18 0;
#X connect 20 0 24 0;
#X connect 22 0 21 0;
#X connect 23 0 1 0;
#X connect 24 0 22 0;
#X connect 25 0 23 0;
#X connect 34 0 36 0;
#X connect 35 0 16 0;

View file

@ -0,0 +1,145 @@
#N canvas 54 216 940 412 10;
#N canvas 338 262 290 225 Gem.init 0;
#X obj 83 30 loadbang;
#X msg 161 76 reset;
#X obj 45 184 outlet;
#X obj 88 51 t b b;
#X msg 45 75 dimen 128 128;
#X msg 71 109 lighting 1;
#X msg 127 171 color 0.5 0.3 1;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 3 0 5 0;
#X connect 3 0 6 0;
#X connect 3 1 1 0;
#X connect 4 0 2 0;
#X connect 5 0 2 0;
#X connect 6 0 2 0;
#X restore 51 96 pd Gem.init;
#X obj 255 118 gemhead;
#X obj 255 144 render_trigger;
#X obj 332 256 + 1;
#X obj 362 256 % 360;
#X obj 255 279 rotateXYZ;
#X obj 255 359 pix_texture;
#X obj 62 265 gemhead;
#X obj 62 291 world_light;
#X obj 652 251 gemhead 99;
#X obj 548 154 savepanel;
#X msg 673 293 file \$1;
#X obj 420 182 symbol /tmp/gemshot;
#X obj 420 110 bng 30 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 420 280 makefilename %s00000.tif;
#X msg 420 308 open \$1;
#X obj 255 387 square 4;
#X obj 255 334 pix_image;
#X msg 134 269 list 1 1 0.4;
#X obj 255 306 color 1 0.3 1;
#X obj 134 248 loadbang;
#X obj 420 210 t b s b s;
#X obj 420 258 symbol;
#X obj 420 234 del 500;
#X obj 301 188 spigot;
#X obj 338 165 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
1;
#X floatatom 301 238 5 0 0 0 - - -;
#X obj 301 216 i;
#X obj 548 134 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 338 123 loadbang;
#X text 186 22 similar to the previous example: [pix_write] gets the
current output window and writes it not into a texture but into a file
(TIFF or JPEG);
#X text 492 364 mind the 99: [pix_write] has to be called late \, to
ensure that all that you want is already rendered onto the screen.
;
#X msg 789 285 auto \$1;
#X obj 793 263 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#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 1 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 51 113 pd gemwin;
#X obj 60 321 gemhead;
#X obj 60 341 translate 1 0 1 0;
#X obj 60 362 color 0 1 0;
#X obj 60 382 sphere 0.5;
#X obj 652 326 pix_write;
#X connect 0 0 34 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 2 1 24 0;
#X connect 3 0 4 0;
#X connect 4 0 27 1;
#X connect 5 0 19 0;
#X connect 6 0 16 0;
#X connect 7 0 8 0;
#X connect 9 0 39 0;
#X connect 10 0 12 1;
#X connect 11 0 39 0;
#X connect 12 0 21 0;
#X connect 13 0 12 0;
#X connect 14 0 15 0;
#X connect 15 0 17 0;
#X connect 17 0 6 0;
#X connect 18 0 8 1;
#X connect 19 0 17 0;
#X connect 20 0 18 0;
#X connect 21 0 23 0;
#X connect 21 1 22 1;
#X connect 21 2 39 0;
#X connect 21 3 11 0;
#X connect 22 0 14 0;
#X connect 23 0 22 0;
#X connect 24 0 27 0;
#X connect 25 0 24 1;
#X connect 26 0 3 0;
#X connect 26 0 5 1;
#X connect 26 0 5 2;
#X connect 26 0 5 3;
#X connect 27 0 26 0;
#X connect 28 0 10 0;
#X connect 29 0 25 0;
#X connect 32 0 39 0;
#X connect 33 0 32 0;
#X connect 35 0 36 0;
#X connect 36 0 37 0;
#X connect 37 0 38 0;

View file

@ -0,0 +1,39 @@
#N canvas 482 49 762 392 10;
#X msg 26 26 create \, 1;
#X msg 39 53 destroy;
#X obj 340 29 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 151 29 gemhead;
#X text 256 220 <- the scene you want to save in the given resolution
;
#X text 359 29 <- save the scene in the given resolution;
#X obj 26 77 gemwin;
#X text 147 283 [snapshotHD] gives the possibility to capture a scene
in a defined resolution. You can see the proportion of the capture
in the GEM window with the white rectangle edge.;
#X obj 151 170 t a b;
#X obj 151 220 accumrotate;
#X obj 151 241 teapot;
#X msg 193 196 1;
#X obj 151 72 s \$0-gemhead;
#X obj 151 125 gemreceive \$0-gemhead;
#X obj 151 145 separator;
#X text 303 136 <-- a [gemhead] replacement;
#X text 387 56 1st and 2nd arguments : resolution (here : 3000x2000
pixels);
#X obj 151 52 snapshotHD 4000 2000 /tmp/myPic.tif;
#X text 390 74 3rd argument : TIFF file name (here : /tmp/myPic.tif)
;
#X connect 0 0 6 0;
#X connect 1 0 6 0;
#X connect 2 0 17 1;
#X connect 3 0 17 0;
#X connect 8 0 9 0;
#X connect 8 1 11 0;
#X connect 9 0 10 0;
#X connect 11 0 9 2;
#X connect 11 0 9 3;
#X connect 11 0 9 1;
#X connect 13 0 14 0;
#X connect 14 0 8 0;
#X connect 17 0 12 0;

View file

@ -0,0 +1,87 @@
#N canvas 372 134 624 496 10;
#X floatatom 481 249 0 0 0 0 - - -;
#X msg 422 21 1;
#X msg 455 21 0;
#X floatatom 451 172 0 0 0 0 - - -;
#X obj 350 184 gemhead;
#X obj 350 240 color;
#X obj 350 364 square;
#N canvas 21 297 600 400 arrays 0;
#N canvas 0 0 450 300 (subpatch) 0;
#X array array2 15 float 0;
#X array array3 24 float 0;
#X coords 0 1 15 -1 400 300 1;
#X restore 63 4 graph;
#X restore 38 447 page arrays;
#X obj 422 124 line;
#X msg 422 95 0 \, 1 2000;
#X obj 350 334 translate 1 0 0 0;
#X msg 39 347 \; array2 resize 15 \; array2 read ../data/valcolor.tab
\; array3 resize 24 \; array3 read ../data/valmotion.tab;
#X obj 422 63 metro 2000;
#X obj 422 213 linear_path 3 array2;
#X obj 464 300 linear_path 3 array3;
#X text 109 29 this demonstrates the linear_path object;
#X obj 39 313 loadbang;
#N canvas 26 40 290 300 Gem.init 0;
#X obj 68 196 outlet;
#X obj 68 86 loadbang;
#X msg 68 136 reset;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X restore 54 134 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 54 151 pd gemwin;
#X connect 0 0 14 0;
#X connect 1 0 12 0;
#X connect 2 0 12 0;
#X connect 3 0 13 0;
#X connect 4 0 5 0;
#X connect 5 0 10 0;
#X connect 8 0 13 0;
#X connect 8 0 14 0;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 12 0 9 0;
#X connect 13 0 5 1;
#X connect 14 0 10 2;
#X connect 16 0 11 0;
#X connect 17 0 18 0;

View file

@ -0,0 +1,87 @@
#N canvas 355 106 641 505 10;
#X floatatom 492 288 0 0 0 0 - - -;
#X msg 421 55 1;
#X msg 461 55 0;
#X floatatom 463 210 0 0 0 0 - - -;
#X obj 350 226 gemhead;
#X obj 350 289 color;
#X obj 350 403 square;
#N canvas 21 297 600 400 arrays 0;
#N canvas 0 0 450 300 (subpatch) 0;
#X array array2 18 float 0;
#X array array3 24 float 0;
#X coords 0 1 15 -1 400 300 1;
#X restore 63 4 graph;
#X restore 26 474 page arrays;
#X obj 421 254 spline_path 3 array2;
#X obj 421 163 line;
#X msg 421 129 0 \, 1 2000;
#X obj 350 351 translate 1 0 0 0;
#X obj 464 320 spline_path 3 array3;
#X obj 421 98 metro 2000;
#X text 109 29 this demonstrates the spline_path object;
#X obj 28 345 loadbang;
#X msg 28 380 \; array2 resize 18 \; array2 read ../data/valcolor.tab
\; array3 resize 24 \; array3 read ../data/valmotion.tab;
#N canvas 26 40 290 300 Gem.init 0;
#X obj 68 196 outlet;
#X obj 68 86 loadbang;
#X msg 68 136 reset;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X restore 33 148 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 33 171 pd gemwin;
#X connect 0 0 12 0;
#X connect 1 0 13 0;
#X connect 2 0 13 0;
#X connect 3 0 8 0;
#X connect 4 0 5 0;
#X connect 5 0 11 0;
#X connect 8 0 5 1;
#X connect 9 0 8 0;
#X connect 9 0 12 0;
#X connect 10 0 9 0;
#X connect 11 0 6 0;
#X connect 12 0 11 2;
#X connect 13 0 10 0;
#X connect 15 0 16 0;
#X connect 17 0 18 0;

View file

@ -0,0 +1,105 @@
#N canvas 433 87 762 506 12;
#X obj 248 352 gemhead;
#X obj 248 412 color;
#X msg 559 202 1 1 1;
#X msg 524 156 1 0 0;
#X obj 248 441 square;
#X text 396 19 change the color;
#X text 2 90 create and destroy the graphics window;
#X obj 524 266 rgb2hsv;
#X obj 379 303 hsv2rgb;
#X obj 379 330 unpack 0 0 0;
#X floatatom 379 363 0 0 0 3 red - -;
#X floatatom 431 361 0 0 0 3 green - -;
#X floatatom 490 361 0 0 0 3 blue - -;
#X obj 541 327 unpack 0 0 0;
#X floatatom 541 416 0 0 0 3 hue - -;
#X floatatom 593 391 0 0 0 3 saturation - -;
#X floatatom 632 353 0 0 0 3 value - -;
#X msg 612 246 0 1 0;
#X floatatom 379 85 0 0 1 2 hue #0-hue -;
#X floatatom 400 121 0 0 1 2 saturation #0-saturation -;
#X obj 399 174 t b f;
#X floatatom 437 148 0 0 1 2 value #0-value -;
#X obj 437 174 t b f;
#X text 526 139 red;
#X text 559 185 white;
#X text 614 224 green;
#X obj 379 203 pack 0 1 1;
#N canvas 30 60 290 300 Gem.init 0;
#X obj 68 196 outlet;
#X obj 68 86 loadbang;
#X msg 68 136 reset;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X restore 26 133 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 1 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 26 162 pd gemwin;
#X obj 532 52 hsl 128 15 0 1 0 0 \$0-hue empty hue -2 -8 0 10 -262144
-1 -1 0 1;
#X obj 532 82 hsl 128 15 0 1 0 0 \$0-saturation empty saturation -2
-8 0 10 -262144 -1 -1 0 1;
#X obj 532 112 hsl 128 15 0 1 0 0 \$0-value empty value -2 -8 0 10
-262144 -1 -1 0 1;
#X connect 0 0 1 0;
#X connect 1 0 4 0;
#X connect 2 0 7 0;
#X connect 3 0 7 0;
#X connect 7 0 8 0;
#X connect 7 0 13 0;
#X connect 8 0 1 1;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 9 1 11 0;
#X connect 9 2 12 0;
#X connect 13 0 14 0;
#X connect 13 1 15 0;
#X connect 13 2 16 0;
#X connect 17 0 7 0;
#X connect 18 0 26 0;
#X connect 19 0 20 0;
#X connect 20 0 26 0;
#X connect 20 1 26 1;
#X connect 21 0 22 0;
#X connect 22 0 26 0;
#X connect 22 1 26 2;
#X connect 26 0 8 0;
#X connect 27 0 28 0;

View file

@ -0,0 +1,107 @@
#N canvas 8 40 682 502 12;
#X floatatom 241 220 0 0 0 0 - - -;
#X obj 208 268 translate;
#X msg 275 220 0 0 1;
#X obj 208 178 gemhead;
#X floatatom 237 304 0 0 0 0 - - -;
#X obj 43 357 gemhead 1;
#X obj 43 395 world_light;
#X msg 285 307 open ../data/venus.obj;
#X floatatom 511 227 0 0 0 0 - - -;
#X obj 478 275 translate;
#X msg 545 227 0 0 1;
#X obj 478 185 gemhead;
#X msg 521 321 0 1 0;
#X obj 478 346 rotate;
#X floatatom 499 298 0 0 0 0 - - -;
#X obj 478 396 model ../data/venus.obj;
#X obj 208 339 scaleXYZ;
#X obj 327 149 loadbang;
#X msg 271 187 -10;
#X msg 325 246 0.1;
#X obj 333 278 t b b;
#X text 224 34 notice that the 'rescale 0' message is sent;
#X text 227 90 notice the size difference due to the scale and;
#X text 229 109 translate objects on the left chain;
#N canvas 22 20 213 300 Gem.init 0;
#X obj 71 191 outlet;
#X obj 71 81 loadbang;
#X msg 101 134 reset;
#X obj 71 109 t b b;
#X msg 71 164 lighting 1;
#X connect 1 0 3 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 3 1 2 0;
#X connect 4 0 0 0;
#X restore 34 98 pd Gem.init;
#X msg 289 347 rescale 0;
#X obj 208 389 model;
#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 34 124 pd gemwin;
#X text 228 51 before the 'open' occurs;
#X connect 0 0 1 1;
#X connect 1 0 16 0;
#X connect 2 0 1 2;
#X connect 3 0 1 0;
#X connect 4 0 16 1;
#X connect 4 0 16 2;
#X connect 4 0 16 3;
#X connect 5 0 6 0;
#X connect 7 0 26 0;
#X connect 8 0 9 1;
#X connect 9 0 13 0;
#X connect 10 0 9 2;
#X connect 11 0 9 0;
#X connect 12 0 13 2;
#X connect 13 0 15 0;
#X connect 14 0 13 1;
#X connect 16 0 26 0;
#X connect 17 0 2 0;
#X connect 17 0 18 0;
#X connect 17 0 19 0;
#X connect 17 0 20 0;
#X connect 18 0 0 0;
#X connect 19 0 4 0;
#X connect 20 0 7 0;
#X connect 20 1 25 0;
#X connect 24 0 27 0;
#X connect 25 0 26 0;

View file

@ -0,0 +1,149 @@
#N canvas 0 0 986 385 10;
#X text 276 35 Blue Sphere;
#N canvas 95 194 290 179 Gem.init 0;
#X obj 118 18 loadbang;
#X msg 201 78 reset;
#X obj 118 113 outlet;
#X obj 118 45 t b b;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 1 1 0;
#X restore 72 145 pd Gem.init;
#X obj 265 98 color 0 0 1 0.5;
#X obj 265 229 pix_texture;
#X obj 265 182 pix_image ../data/dancer.JPG;
#X obj 265 251 alpha;
#X obj 265 207 pix_alpha;
#X obj 265 68 gemhead 50;
#X obj 681 244 alpha;
#X obj 681 173 gemhead 50;
#X obj 681 197 color 0 1 0 0.5;
#X obj 681 222 translateXYZ 0 -0.5 -1;
#X obj 849 123 int 0;
#X obj 891 123 + 1;
#X obj 849 100 metro 50;
#X obj 923 122 % 50;
#X obj 849 81 tgl 15 0 empty render_onoff empty 0 -6 0 8 -262144 -1
-1 0 1;
#X obj 849 146 / 25;
#X obj 849 168 - 1;
#X msg 681 124 set \$1;
#X floatatom 681 101 5 0 0 0 - - -;
#X msg 679 9 40;
#X msg 696 32 60;
#X obj 849 191 t f f;
#X msg 709 54 auto;
#N canvas 189 208 450 300 set-priority 0;
#X obj 103 59 inlet;
#X obj 94 277 outlet;
#X obj 103 96 route auto;
#X obj 352 59 inlet;
#X obj 352 88 < 0;
#X obj 352 112 change;
#X obj 352 135 select 1 0;
#X msg 327 169 40;
#X msg 363 170 60;
#X obj 94 247 spigot;
#X obj 168 120 t f b;
#X msg 198 145 0;
#X msg 103 117 10;
#X obj 103 138 t f f;
#X connect 0 0 2 0;
#X connect 2 0 12 0;
#X connect 2 1 10 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 6 1 8 0;
#X connect 7 0 9 0;
#X connect 8 0 9 0;
#X connect 9 0 1 0;
#X connect 10 0 1 0;
#X connect 10 1 11 0;
#X connect 11 0 9 1;
#X connect 12 0 13 0;
#X connect 13 0 9 1;
#X connect 13 1 5 0;
#X restore 693 76 pd set-priority;
#X obj 265 272 square 3;
#X obj 681 266 square 3;
#X text 866 81 movement on/off;
#X text 736 9 priority 40 (<50);
#X text 735 28 priority 60 (>50);
#X text 748 51 dynamic ordering;
#X text 218 299 the rendering order does matter \, when doing things
like alpha-blending: alpha-blending only works if the semi-transparent
(alpha<1) object is rendered AFTER the objects that shine through;
#X text 596 291 this turns out to be a problem in dynamic scenes (eg:
with moving objects/viewpoint):: if a semi-transparent object used
to be "in front" of another semi-transparent object \, but suddenly
becomes "behind" \, the rendering order has to be changed. do this
\, by giving the [gemhead] a "set" message;
#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 72 168 pd gemwin;
#X connect 1 0 34 0;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 26 0;
#X connect 6 0 3 0;
#X connect 7 0 2 0;
#X connect 8 0 27 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 8 0;
#X connect 12 0 13 0;
#X connect 12 0 17 0;
#X connect 13 0 15 0;
#X connect 14 0 12 0;
#X connect 15 0 12 1;
#X connect 16 0 14 0;
#X connect 17 0 18 0;
#X connect 18 0 23 0;
#X connect 19 0 9 0;
#X connect 20 0 19 0;
#X connect 21 0 25 0;
#X connect 22 0 25 0;
#X connect 23 0 11 3;
#X connect 23 1 25 1;
#X connect 24 0 25 0;
#X connect 25 0 20 0;

View file

@ -0,0 +1,73 @@
#N canvas 51 56 650 553 10;
#X obj 53 224 gemwin;
#X obj 38 397 gemmouse;
#X obj 109 206 r gemwin_mess;
#X obj 63 459 s gemwin_mess;
#X obj 63 418 del 100;
#X msg 63 439 destroy;
#X obj 15 86 cnv 15 100 100 empty empty empty 20 12 0 14 -24198 -66577
0;
#X msg 53 105 create;
#X msg 26 143 destroy;
#X obj 238 3 cnv 15 400 480 empty empty empty 20 12 0 14 -195568 -66577
0;
#X obj 14 296 cnv 15 180 80 empty empty cursor 20 0 0 14 -195568 -66577
0;
#X msg 20 327 \; gemwin_mess cursor \$1;
#X obj 20 308 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X text 39 306 show/hide cursor;
#X text 32 484 press the left-mouse-button to kill the gem-window;
#X obj 247 36 cnv 15 380 120 empty empty title-bar 20 0 0 14 -233017
-66577 0;
#X msg 253 49 title Graphic's_Environment_for_Multimedia;
#X msg 286 94 title \$1;
#X symbolatom 286 72 10 0 0;
#X text 359 94 type your own title;
#X obj 253 125 s gemwin_mess;
#X obj 247 259 cnv 15 380 120 empty empty dimensions+positioning 20
0 0 14 -233017 -66577 0;
#X obj 253 348 s gemwin_mess;
#X obj 248 167 cnv 15 380 80 empty empty window-decorations 20 0 0
14 -233017 -66577 0;
#X obj 258 185 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
1;
#X msg 258 204 \; gemwin_mess border \$1;
#X msg 253 285 dimen 500 500;
#X msg 273 315 dimen 200 421;
#X obj 417 347 s gemwin_mess;
#X msg 417 284 offset 0 0;
#X msg 437 314 offset 500 70;
#X text 277 183 with/out borders;
#X text 534 282 offset might;
#X text 540 298 work only;
#X text 552 315 without;
#X text 548 330 borders !;
#X obj 247 391 cnv 15 380 80 empty empty full-screen 20 0 0 14 -233017
-66577 0;
#X obj 257 409 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
1;
#X msg 257 428 \; gemwin_mess fullscreen \$1;
#X text 276 407 fullscreen/windowed;
#X text 11 14 how to control the GEM-window;
#X text 291 7 use these BEFORE creating the window!;
#X text 466 398 titles \, borders \,;
#X text 458 415 dimensions & offsets;
#X text 468 432 mean nothing in;
#X text 463 448 fullscreen mode !;
#X connect 1 2 4 0;
#X connect 2 0 0 0;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X connect 12 0 11 0;
#X connect 16 0 20 0;
#X connect 17 0 20 0;
#X connect 18 0 17 0;
#X connect 24 0 25 0;
#X connect 26 0 22 0;
#X connect 27 0 22 0;
#X connect 29 0 28 0;
#X connect 30 0 28 0;
#X connect 37 0 38 0;

View file

@ -0,0 +1,189 @@
#N canvas 27 90 540 557 10;
#X obj 404 142 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 235 42 gemhead;
#X obj 235 111 pix_texture;
#X obj 235 497 rotateXYZ;
#X obj 106 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
-262144 -1 -1 0 256;
#X obj 167 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
-262144 -1 -1 0 256;
#X obj 395 250 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
-262144 -1 -1 -0.25 256;
#X obj 425 267 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
-262144 -1 -1 0.5 256;
#X obj 458 285 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
-262144 -1 -1 0.2 256;
#X obj 425 304 t b f;
#X obj 462 304 t b f;
#X obj 303 413 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
-262144 -1 -1 34336 256;
#X obj 371 355 nbx 5 14 -1e+37 1e+37 0 0 empty empty parameter# 0 -6
0 10 -262144 -1 -1 0 256;
#X obj 440 324 pack 0 0 0 0;
#X obj 235 431 GEMglProgramEnvParameter4fvARB;
#X obj 242 358 loadbang;
#X obj 242 390 GLdefine GL_VERTEX_PROGRAM_ARB;
#X text 253 374 GL_VERTEX_PROGRAM_ARB = 34336;
#X msg 188 136 print;
#X text 382 23 open a texture;
#X text 343 123 open a vertex-program;
#X text 420 469 open a model;
#N canvas 0 0 450 300 defaults 0;
#X obj 112 43 loadbang;
#X msg 102 121 0;
#X obj 102 186 outlet;
#X obj 102 84 t b b;
#X obj 164 156 unpack 0 0 0;
#X obj 168 188 outlet;
#X obj 217 189 outlet;
#X obj 263 189 outlet;
#X text 101 208 param#;
#X text 205 216 param-values;
#X obj 179 44 inlet;
#X msg 161 122 -0.25 0.5 0.2;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 1 0;
#X connect 3 1 11 0;
#X connect 4 0 5 0;
#X connect 4 1 6 0;
#X connect 4 2 7 0;
#X connect 10 0 3 0;
#X connect 11 0 4 0;
#X restore 371 228 pd defaults;
#X msg 371 211 default;
#X obj 235 531 model ../data/venus.obj;
#X obj 235 82 pix_image ../data/64shade.tif;
#N canvas 0 0 450 300 open 0;
#X obj 75 103 openpanel;
#X obj 75 173 outlet;
#X obj 75 127 t b s;
#X msg 105 152 set open \$1;
#X obj 75 80 inlet;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 2 1 3 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X restore 347 141 pd open;
#X obj 418 46 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 0 0 450 300 open 0;
#X obj 75 103 openpanel;
#X obj 75 173 outlet;
#X obj 75 127 t b s;
#X msg 105 152 set open \$1;
#X obj 75 80 inlet;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 2 1 3 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X restore 361 45 pd open;
#X msg 361 65 open ../data/64shade.tif;
#X obj 434 495 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 0 0 450 300 open 0;
#X obj 75 103 openpanel;
#X obj 75 173 outlet;
#X obj 75 127 t b s;
#X msg 105 152 set open \$1;
#X obj 75 80 inlet;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 2 1 3 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X restore 377 494 pd open;
#X msg 377 514 open ../data/venus.obj;
#X obj 44 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
-262144 -1 -1 0 256;
#X msg 66 313 bang;
#X text 60 294 2nd click me;
#X obj 143 330 t b b b;
#X text 54 448 3rd play me;
#X text 79 18 1st click me;
#X text 295 275 4th play me;
#X msg 347 161 open ../data/toon.vp;
#X obj 235 178 vertex_program ../data/toon.vp;
#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 54 83 pd gemwin;
#X connect 0 0 26 0;
#X connect 1 0 25 0;
#X connect 2 0 41 0;
#X connect 3 0 24 0;
#X connect 4 0 3 2;
#X connect 5 0 3 3;
#X connect 6 0 13 0;
#X connect 7 0 9 0;
#X connect 8 0 10 0;
#X connect 9 0 13 0;
#X connect 9 1 13 1;
#X connect 10 0 13 0;
#X connect 10 1 13 2;
#X connect 11 0 14 1;
#X connect 12 0 14 2;
#X connect 13 0 14 3;
#X connect 14 0 3 0;
#X connect 15 0 16 0;
#X connect 16 0 11 0;
#X connect 18 0 41 0;
#X connect 22 0 12 0;
#X connect 22 1 6 0;
#X connect 22 2 7 0;
#X connect 22 3 8 0;
#X connect 23 0 22 0;
#X connect 25 0 2 0;
#X connect 26 0 40 0;
#X connect 27 0 28 0;
#X connect 28 0 29 0;
#X connect 29 0 25 0;
#X connect 30 0 31 0;
#X connect 31 0 32 0;
#X connect 32 0 24 0;
#X connect 33 0 3 1;
#X connect 34 0 36 0;
#X connect 36 0 32 0;
#X connect 36 1 40 0;
#X connect 36 2 29 0;
#X connect 40 0 41 0;
#X connect 41 0 14 0;

View file

@ -0,0 +1,126 @@
#N canvas 27 90 540 557 10;
#X obj 404 142 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 235 42 gemhead;
#X obj 235 497 rotateXYZ;
#X obj 106 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
-262144 -1 -1 0 256;
#X obj 167 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
-262144 -1 -1 0 256;
#X msg 188 136 print;
#X text 343 123 open a vertex-program;
#X text 420 469 open a model;
#X obj 235 531 model ../data/venus.obj;
#N canvas 0 0 450 300 open 0;
#X obj 75 103 openpanel;
#X obj 75 173 outlet;
#X obj 75 127 t b s;
#X msg 105 152 set open \$1;
#X obj 75 80 inlet;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 2 1 3 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X restore 347 141 pd open;
#X obj 434 495 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 0 0 450 300 open 0;
#X obj 75 103 openpanel;
#X obj 75 173 outlet;
#X obj 75 127 t b s;
#X msg 105 152 set open \$1;
#X obj 75 80 inlet;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 2 1 3 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X restore 377 494 pd open;
#X msg 377 514 open ../data/venus.obj;
#X obj 44 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
-262144 -1 -1 0 256;
#X msg 66 313 bang;
#X text 60 294 2nd click me;
#X obj 143 330 t b b b;
#X text 54 448 3rd play me;
#X msg 347 161 open ../data/random.fp;
#X floatatom 318 49 5 0 0 0 - - -;
#X obj 235 85 colorRGB 1 1 1;
#X obj 66 247 world_light;
#X obj 60 214 gemhead 1;
#X obj 235 178 fragment_program ../data/random.fp;
#X text 362 48 play me;
#X obj 380 390 gemhead;
#X obj 380 412 translateXYZ -2 0 0;
#X obj 235 416 translateXYZ 2 0 0;
#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 70 126 pd gemwin;
#N canvas 0 0 450 300 Gem.init 0;
#X obj 85 239 outlet;
#X msg 85 215 reset \, lighting 1;
#X obj 85 192 loadbang;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X restore 70 104 pd Gem.init;
#X connect 0 0 9 0;
#X connect 1 0 20 0;
#X connect 2 0 8 0;
#X connect 3 0 2 2;
#X connect 4 0 2 3;
#X connect 5 0 23 0;
#X connect 9 0 18 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 8 0;
#X connect 13 0 2 1;
#X connect 14 0 16 0;
#X connect 16 0 12 0;
#X connect 16 1 18 0;
#X connect 18 0 23 0;
#X connect 19 0 20 2;
#X connect 20 0 23 0;
#X connect 22 0 21 0;
#X connect 23 0 27 0;
#X connect 25 0 26 0;
#X connect 26 0 2 0;
#X connect 27 0 2 0;
#X connect 29 0 28 0;

View file

@ -0,0 +1,182 @@
#N canvas 54 22 842 789 10;
#X obj 225 24 gemhead 1;
#X obj 225 47 world_light;
#X obj 77 112 gemhead;
#X obj 77 171 glsl_vertex;
#X obj 148 131 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 170 129 open a vertex-program;
#N canvas 0 22 450 300 open 0;
#X obj 75 103 openpanel;
#X obj 75 173 outlet;
#X obj 75 127 t b s;
#X msg 105 152 set open \$1;
#X obj 75 80 inlet;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 2 1 3 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X restore 91 130 pd open;
#X msg 35 142 print;
#X obj 77 733 rotateXYZ;
#X obj 126 714 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
-262144 -1 -1 0 256;
#X obj 126 697 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
-262144 -1 -1 0 256;
#X obj 126 680 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
-262144 -1 -1 0 256;
#X obj 206 25 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 77 576 glsl_program;
#X obj 150 393 pack 0 0;
#X obj 143 246 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 0 22 450 300 open 0;
#X obj 75 103 openpanel;
#X obj 75 173 outlet;
#X obj 75 127 t b s;
#X msg 105 152 set open \$1;
#X obj 75 80 inlet;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 2 1 3 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X restore 86 245 pd open;
#X text 164 244 open a fragment-program;
#X msg 34 266 print;
#X obj 171 373 t b f;
#X msg 335 92 bang;
#X obj 77 753 teapot;
#X obj 171 328 change;
#X obj 149 190 change;
#X msg 150 433 link \$1 \$2;
#X msg 33 486 print;
#X msg 266 546 Phong \$1;
#X obj 269 508 hsl 128 15 -1 1 0 0 empty empty empty -2 -6 0 8 -262144
-1 -1 0 1;
#X floatatom 266 528 5 0 0 0 - - -;
#X obj 77 612 t a b;
#X obj 107 632 spigot;
#X obj 144 614 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 107 652 i;
#X obj 135 652 + 1;
#X obj 163 652 % 360;
#X text 435 96 click here to load both the vertex- and the fragment-shader
;
#X text 165 172 the vertex shader;
#X obj 77 308 glsl_fragment;
#X text 191 311 the fragment shader;
#X text 222 395 whenever either the fragment-shader ID or the vertex-shader
ID has changed \, we trigger the linking of the 2 modules;
#X floatatom 171 354 2 0 0 0 ID - -;
#X floatatom 149 213 2 0 0 0 ID - -;
#X obj 168 454 print linking;
#X text 264 441 order of module IDs does not matter...;
#X text 96 487 after linking \, click "print" to get some info about
the compiled shader program;
#X text 330 550 the Toon-shader has a unifom variable "Phong" (see
"print") \, which we can change to modify the effect.;
#X text 213 264 pd's search path is searched for the given filename
\; just add the examples/data folder to your path options and this
example should work;
#X obj 335 133 t s s;
#X msg 91 150 open \$1.vert;
#X msg 86 265 open \$1.frag;
#X symbolatom 381 93 0 0 0 0 - - -;
#X obj 335 114 symbol ../data/Toon;
#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 1 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 39 51 pd gemwin;
#X msg 39 29 lighting \$1;
#X obj 39 10 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#X connect 0 0 1 0;
#X connect 2 0 3 0;
#X connect 3 0 37 0;
#X connect 3 1 23 0;
#X connect 4 0 6 0;
#X connect 6 0 48 0;
#X connect 7 0 3 0;
#X connect 8 0 21 0;
#X connect 9 0 8 3;
#X connect 10 0 8 2;
#X connect 11 0 8 1;
#X connect 12 0 0 0;
#X connect 13 0 29 0;
#X connect 14 0 24 0;
#X connect 15 0 16 0;
#X connect 16 0 49 0;
#X connect 18 0 37 0;
#X connect 19 0 14 0;
#X connect 19 1 14 1;
#X connect 20 0 51 0;
#X connect 22 0 40 0;
#X connect 23 0 41 0;
#X connect 24 0 13 0;
#X connect 24 0 42 0;
#X connect 25 0 13 0;
#X connect 26 0 13 0;
#X connect 27 0 28 0;
#X connect 28 0 26 0;
#X connect 29 0 8 0;
#X connect 29 1 30 0;
#X connect 30 0 32 0;
#X connect 31 0 30 1;
#X connect 32 0 33 0;
#X connect 32 0 11 0;
#X connect 32 0 10 0;
#X connect 32 0 9 0;
#X connect 33 0 34 0;
#X connect 34 0 32 1;
#X connect 37 0 13 0;
#X connect 37 1 22 0;
#X connect 40 0 19 0;
#X connect 41 0 14 0;
#X connect 47 0 48 0;
#X connect 47 1 49 0;
#X connect 48 0 3 0;
#X connect 49 0 37 0;
#X connect 50 0 51 0;
#X connect 51 0 47 0;
#X connect 53 0 52 0;
#X connect 54 0 53 0;

View file

@ -0,0 +1,217 @@
#N canvas 102 54 864 638 10;
#X obj 209 223 gemhead;
#X obj 241 277 t a a a;
#X obj 264 320 cube 1;
#X obj 238 66 world_light;
#X obj 238 41 gemhead;
#X obj 37 226 gemhead;
#X obj 37 321 sphere 1.3 33;
#X obj 287 300 rotateXYZ 60 30 0;
#X obj 37 300 rotateXYZ 60 30 0;
#X text 36 184 #1:;
#X text 209 181 #2:;
#X obj 37 428 sphere 1.3 33;
#X obj 37 407 rotateXYZ 60 30 0;
#X obj 209 248 t a a;
#X obj 595 288 gemlist;
#X obj 595 223 gemhead;
#X obj 595 250 t b b a;
#X obj 37 202 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 209 198 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 595 198 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 37 342 translateXYZ 2 0 0;
#X obj 37 449 translateXYZ 2 0 0;
#X obj 241 341 translateXYZ 2 0 0;
#X obj 209 386 t a a a;
#X obj 232 429 cube 1;
#X obj 255 409 rotateXYZ 60 30 0;
#X obj 209 450 translateXYZ 2 0 0;
#X obj 595 410 rotateXYZ 60 30 0;
#X obj 595 452 translateXYZ 2 0 0;
#X obj 595 431 sphere 1.6 4;
#X text 29 498 example #1 is the usual way to use Gem \, but the technique
shown in example #2 can be more flexible...;
#N canvas 186 321 446 463 more_interating_1 0;
#X obj 22 64 gemhead;
#X obj 22 351 rotateXYZ 0 0 12;
#X obj 22 274 scaleXYZ 0.97 0.9 1;
#X obj 22 296 translateXYZ 0.5 0 0;
#X obj 22 376 circle 0.2;
#X floatatom 131 331 5 0 0 0 - - -;
#X obj 22 226 gemlist;
#X obj 22 204 until;
#X msg 22 180 100;
#X obj 22 158 t b a;
#X obj 22 111 translateXYZ -3 0 0;
#X obj 22 43 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#X text 85 198 "repeat" 100 times the same "gemlist";
#X connect 0 0 10 0;
#X connect 1 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 5 0 1 3;
#X connect 6 0 2 0;
#X connect 7 0 6 0;
#X connect 8 0 7 0;
#X connect 9 0 8 0;
#X connect 9 1 6 1;
#X connect 10 0 9 0;
#X connect 11 0 0 0;
#X restore 32 561 pd more_interating_1;
#N canvas 178 159 464 582 more_interating_2 0;
#X obj 22 69 gemhead;
#X obj 22 377 scaleXYZ 0.97 0.9 1;
#X obj 22 505 circle 0.2;
#X obj 22 235 gemlist;
#X obj 22 213 until;
#X msg 22 189 100;
#X obj 22 167 t b a;
#X obj 185 322 f;
#X obj 277 309 random 1000;
#X obj 22 480 rotateXYZ 0 0 0;
#X obj 185 420 *;
#X obj 22 132 t a b;
#X obj 22 264 t a b b;
#X msg 277 283 seed \$1;
#X obj 277 256 f;
#X floatatom 295 234 5 0 0 0 - - -;
#X obj 277 334 - 500;
#X obj 185 441 / 1000;
#X obj 22 400 translateXYZ -0.5 0 0;
#X obj 22 103 translateXYZ 3 0 0;
#X obj 22 42 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#X text 343 233 <- change random;
#X text 276 356 rotation angle is random;
#X text 200 390 amplitude decrease;
#X msg 203 296 100;
#X obj 222 351 - 1;
#X connect 0 0 19 0;
#X connect 1 0 18 0;
#X connect 3 0 12 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 6 0 5 0;
#X connect 6 1 3 1;
#X connect 7 0 25 0;
#X connect 7 0 10 0;
#X connect 8 0 16 0;
#X connect 9 0 2 0;
#X connect 10 0 17 0;
#X connect 11 0 6 0;
#X connect 11 1 24 0;
#X connect 11 1 14 0;
#X connect 12 0 1 0;
#X connect 12 1 7 0;
#X connect 12 2 8 0;
#X connect 13 0 8 0;
#X connect 14 0 13 0;
#X connect 15 0 14 1;
#X connect 16 0 10 1;
#X connect 17 0 9 3;
#X connect 18 0 9 0;
#X connect 19 0 11 0;
#X connect 20 0 0 0;
#X connect 24 0 7 1;
#X connect 25 0 7 1;
#X restore 32 581 pd more_interating_2;
#X obj 445 223 gemhead;
#X obj 445 198 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 443 178 #3:;
#X obj 445 410 rotateXYZ 60 30 0;
#X obj 445 452 translateXYZ 2 0 0;
#X obj 445 271 t a a;
#X text 593 178 #4:;
#X text 611 314 [gemlist] stores the current state;
#X text 613 330 and outputs it when banged;
#X text 30 528 The example #4 can easily be extended to use many primitives.
;
#X text 31 122 [gemhead]'s output is a special message describing the
"state" of the system. This state is changed by the GEM objects. This
means that the examples below are equivalent:;
#X obj 445 431 teapot 1;
#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 44 55 pd gemwin;
#N canvas 0 0 450 300 Gem.init 0;
#X obj 94 232 outlet;
#X obj 94 183 loadbang;
#X msg 94 208 lighting 1;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X restore 44 36 pd Gem.init;
#X connect 0 0 13 0;
#X connect 1 0 22 0;
#X connect 1 1 2 0;
#X connect 1 2 7 0;
#X connect 4 0 3 0;
#X connect 5 0 8 0;
#X connect 6 0 20 0;
#X connect 8 0 6 0;
#X connect 11 0 21 0;
#X connect 12 0 11 0;
#X connect 13 0 23 0;
#X connect 13 1 1 0;
#X connect 14 0 27 0;
#X connect 15 0 16 0;
#X connect 16 0 14 0;
#X connect 16 1 14 0;
#X connect 16 2 14 1;
#X connect 17 0 5 0;
#X connect 18 0 0 0;
#X connect 19 0 15 0;
#X connect 20 0 12 0;
#X connect 23 0 26 0;
#X connect 23 1 24 0;
#X connect 23 2 25 0;
#X connect 27 0 29 0;
#X connect 29 0 28 0;
#X connect 33 0 38 0;
#X connect 34 0 33 0;
#X connect 36 0 44 0;
#X connect 38 0 36 0;
#X connect 38 1 36 0;
#X connect 44 0 37 0;
#X connect 46 0 45 0;

View file

@ -0,0 +1,184 @@
#N canvas 265 100 742 519 10;
#X obj 93 144 gemhead;
#X obj 93 205 b;
#X obj 93 124 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 93 336 gemhead;
#X msg 25 305 0;
#X obj 25 285 loadbang;
#X obj 93 260 t b a;
#X obj 156 336 unpack 0 0 0;
#X obj 93 385 translateXYZ 0 -2 0;
#X msg 93 225 0 -2 0 \, 0 2 0;
#X text 203 225 two messages in one;
#X text 151 144 [gemhead]-"metro";
#X obj 93 426 circle 0.2;
#X text 40 25 the "double [gemhead] idiom" vs. [repeat];
#X obj 438 146 gemhead;
#X obj 438 128 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 479 375 unpack 0 0 0;
#X text 525 206 two messages in one;
#X obj 438 425 square 0.2;
#X obj 479 307 select 0 1;
#X obj 479 284 f;
#X obj 438 404 translateXYZ 0 0 0;
#X obj 354 341 loadbang;
#X msg 354 368 draw line;
#X obj 438 206 t a a b;
#X obj 438 229 separator;
#X obj 438 257 t a b;
#X msg 497 259 0;
#X msg 479 328 0 -2 0;
#X msg 511 348 0 2 0;
#X obj 508 284 + 1;
#X text 258 65 The gemhead object resets the states for OpenGL and
also some pix_ settings. Anything after it is starts as a clean state
similar to combining [separator] and [pix_separator]. (cc);
#N canvas 220 0 701 555 more_on_the_"repeat"_technics 0;
#X obj 21 54 gemhead;
#X obj 21 281 separator;
#X obj 21 128 t a b;
#X msg 118 270 seed 1;
#X obj 21 445 translateXYZ;
#X obj 21 470 circle 0.1;
#X obj 118 354 random 200;
#X obj 199 354 random 200;
#X obj 118 376 - 100;
#X obj 199 377 - 100;
#X obj 199 398 / 30;
#X obj 118 397 / 30;
#X msg 199 270 seed 2;
#X obj 21 310 t a b b;
#X obj 118 313 spigot 0;
#X obj 199 312 spigot 0;
#X obj 278 276 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 311 274 <- if you reset the random at the begining of each
frame \, then all frames look the same.;
#X obj 21 101 scaleXYZ 1 1 1;
#X floatatom 52 80 5 0 0 0 - - -;
#X floatatom 95 80 5 0 0 0 - - -;
#X obj 21 230 gemlist;
#X obj 21 208 until;
#X msg 21 184 100;
#X obj 21 162 t b a;
#X text 23 504 This patch shows how to draw the same primitive with
the a single [gemhead] many times;
#X obj 21 35 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#X connect 0 0 18 0;
#X connect 1 0 13 0;
#X connect 2 0 24 0;
#X connect 2 1 3 0;
#X connect 2 1 12 0;
#X connect 3 0 14 0;
#X connect 4 0 5 0;
#X connect 6 0 8 0;
#X connect 7 0 9 0;
#X connect 8 0 11 0;
#X connect 9 0 10 0;
#X connect 10 0 4 2;
#X connect 11 0 4 1;
#X connect 12 0 15 0;
#X connect 13 0 4 0;
#X connect 13 1 6 0;
#X connect 13 1 7 0;
#X connect 14 0 6 0;
#X connect 15 0 7 0;
#X connect 16 0 14 1;
#X connect 16 0 15 1;
#X connect 18 0 2 0;
#X connect 19 0 18 1;
#X connect 20 0 18 2;
#X connect 21 0 1 0;
#X connect 22 0 21 0;
#X connect 23 0 22 0;
#X connect 24 0 23 0;
#X connect 24 1 21 1;
#X connect 26 0 0 0;
#X restore 370 469 pd more_on_the_"repeat"_technics;
#X obj 93 186 translateXYZ;
#X floatatom 120 168 5 0 0 0 - - -;
#X text 168 167 <- fun!;
#X obj 438 187 translateXYZ;
#X floatatom 465 169 5 0 0 0 - - -;
#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 53 69 pd gemwin;
#X connect 0 0 33 0;
#X connect 1 0 9 0;
#X connect 2 0 0 0;
#X connect 3 0 8 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 6 0 3 0;
#X connect 6 1 7 0;
#X connect 7 0 8 1;
#X connect 7 1 8 2;
#X connect 7 2 8 3;
#X connect 8 0 12 0;
#X connect 9 0 6 0;
#X connect 14 0 36 0;
#X connect 15 0 14 0;
#X connect 16 0 21 1;
#X connect 16 1 21 2;
#X connect 16 2 21 3;
#X connect 19 0 28 0;
#X connect 19 1 29 0;
#X connect 20 0 19 0;
#X connect 20 0 30 0;
#X connect 21 0 18 0;
#X connect 22 0 23 0;
#X connect 23 0 18 0;
#X connect 24 0 25 0;
#X connect 24 1 25 0;
#X connect 24 2 27 0;
#X connect 25 0 26 0;
#X connect 26 0 21 0;
#X connect 26 1 20 0;
#X connect 27 0 20 1;
#X connect 28 0 16 0;
#X connect 29 0 16 0;
#X connect 30 0 20 1;
#X connect 33 0 1 0;
#X connect 34 0 33 1;
#X connect 36 0 24 0;
#X connect 37 0 36 1;

View file

@ -0,0 +1,138 @@
#N canvas 515 27 647 743 10;
#X obj 15 16 gemhead;
#X obj 76 483 GEMglPushMatrix;
#X obj 96 462 GEMglPopMatrix;
#X floatatom 353 502 5 0 0 0 - - -;
#X obj 15 63 rotateXYZ 0 0 90;
#X floatatom 201 508 5 0 0 0 - - -;
#X floatatom 201 486 5 0 0 0 - - -;
#X obj 262 35 gemhead;
#X obj 262 61 world_light;
#X obj 15 607 translateXYZ 0.05 0 0;
#X obj 15 140 route F;
#X text 271 163 <- rule 1;
#X obj 15 187 route F;
#X msg 15 211 F \, [ \, - \, F \, F \, ] \, F \, [ \, + \, F \, ] \,
F;
#X obj 15 235 route F;
#X text 272 209 <- rule 2;
#X text 271 257 <- rule 3;
#X msg 15 110 F;
#X obj 15 85 t b a;
#X obj 15 558 translateXYZ 0.05 0 0;
#X obj 15 583 rectangle 0.1 0.01;
#X obj 15 41 translateXYZ 0 -3 0;
#X obj 35 530 rotateXYZ 0 0 50;
#X obj 54 506 rotateXYZ 0 0 -40;
#X obj 353 521 / 100;
#X msg 353 479 10;
#X obj 353 456 loadbang;
#X text 243 485 <- try this;
#X text 125 310 <- create the primitive according to the Lsystem;
#X text 270 276 These rules create an Lsystem;
#X text 152 381 <- Store the current state sent by [gemhead] and distribute
it to the corresponding primitives;
#X text 397 502 <- size of the system;
#X msg 15 164 F \, [ \, - \, F \, ] \, F \, [ \, + \, F \, ] \, F;
#X text 12 640 This is a basic implementation of Lindenmayer System
(LSystem) in GEM. Wikipedia is a good place for informations about
Lsystems;
#X obj 15 351 gemlist;
#X obj 47 110 s \$0-gemlist;
#X obj 35 372 gemlist;
#X obj 54 395 gemlist;
#X obj 76 417 gemlist;
#X obj 96 438 gemlist;
#X obj 142 330 r \$0-gemlist;
#X obj 15 309 route F + - [ ];
#X msg 15 259 F \, [ \, - \, F \, F \, ] \, F \, [ \, + \, F \, ] \,
F;
#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 377 62 pd gemwin;
#N canvas 0 0 450 300 Gem.init 0;
#X obj 67 72 loadbang;
#X msg 67 93 lighting 1;
#X obj 67 114 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 377 40 pd Gem.init;
#X connect 0 0 21 0;
#X connect 3 0 24 0;
#X connect 4 0 18 0;
#X connect 5 0 22 3;
#X connect 6 0 23 3;
#X connect 7 0 8 0;
#X connect 10 0 32 0;
#X connect 10 1 12 0;
#X connect 12 0 13 0;
#X connect 12 1 14 0;
#X connect 13 0 14 0;
#X connect 14 0 42 0;
#X connect 14 1 41 0;
#X connect 17 0 10 0;
#X connect 18 0 17 0;
#X connect 18 1 35 0;
#X connect 19 0 20 0;
#X connect 20 0 9 0;
#X connect 21 0 4 0;
#X connect 24 0 9 1;
#X connect 24 0 19 1;
#X connect 24 0 20 1;
#X connect 25 0 3 0;
#X connect 26 0 25 0;
#X connect 32 0 12 0;
#X connect 34 0 19 0;
#X connect 36 0 22 0;
#X connect 37 0 23 0;
#X connect 38 0 1 0;
#X connect 39 0 2 0;
#X connect 40 0 34 1;
#X connect 40 0 36 1;
#X connect 40 0 37 1;
#X connect 40 0 38 1;
#X connect 40 0 39 1;
#X connect 41 0 34 0;
#X connect 41 1 36 0;
#X connect 41 2 37 0;
#X connect 41 3 38 0;
#X connect 41 4 39 0;
#X connect 42 0 41 0;
#X connect 44 0 43 0;

View file

@ -0,0 +1,118 @@
#N canvas 0 0 473 588 10;
#X obj 32 103 gemhead;
#X obj 106 235 gemlist;
#X msg 106 192 20;
#X obj 106 213 until;
#X obj 32 149 route gem_state;
#X obj 32 171 route float;
#X obj 32 127 t a a;
#X obj 106 259 rotateXYZ 10 20 30;
#X obj 180 413 gemlist;
#X msg 180 370 20;
#X obj 180 391 until;
#X obj 106 327 route gem_state;
#X obj 106 349 route float;
#X obj 106 305 t a a;
#X obj 180 437 rotateXYZ 10 20 30;
#X obj 180 497 cube 0.1;
#X obj 106 280 separator;
#N canvas 0 0 450 300 light 0;
#X obj 225 45 gemhead 10;
#X floatatom 258 78 5 0 0 0 - - -;
#X floatatom 299 77 5 0 0 0 - - -;
#X floatatom 341 78 5 0 0 0 - - -;
#X msg 319 150 1 0 0;
#X obj 225 227 world_light;
#X msg 333 173 0.4 0.4 0.4;
#X msg 309 127 0 0 0;
#X obj 228 160 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X msg 228 181 debug \$1;
#X obj 225 103 rotateXYZ 0 30 0;
#X obj 27 51 gemhead 10;
#X floatatom 60 84 5 0 0 0 - - -;
#X floatatom 101 83 5 0 0 0 - - -;
#X floatatom 143 84 5 0 0 0 - - -;
#X msg 121 156 1 0 0;
#X obj 27 233 world_light;
#X msg 130 173 0.4 0.4 0.4;
#X msg 111 133 0 0 0;
#X obj 30 166 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X msg 30 187 debug \$1;
#X obj 27 109 rotateXYZ 0 -90 0;
#X msg 362 225 0.8 0.8 0.8;
#X msg 144 199 0.7 0.7 0.7;
#X msg 346 198 0.6 0.6 0.6;
#X obj 408 87 loadbang;
#X connect 0 0 10 0;
#X connect 1 0 10 1;
#X connect 2 0 10 2;
#X connect 3 0 10 3;
#X connect 4 0 5 1;
#X connect 6 0 5 1;
#X connect 7 0 5 1;
#X connect 8 0 9 0;
#X connect 9 0 5 0;
#X connect 10 0 5 0;
#X connect 11 0 21 0;
#X connect 12 0 21 1;
#X connect 13 0 21 2;
#X connect 14 0 21 3;
#X connect 15 0 16 1;
#X connect 17 0 16 1;
#X connect 18 0 16 1;
#X connect 19 0 20 0;
#X connect 20 0 16 0;
#X connect 21 0 16 0;
#X connect 22 0 5 1;
#X connect 23 0 16 1;
#X connect 24 0 5 1;
#X connect 25 0 23 0;
#X connect 25 0 24 0;
#X restore 300 152 pd light;
#X obj 300 131 gemwin;
#X msg 300 104 lighting 1 \, create \, 1;
#X obj 180 477 translateXYZ 0.3 0 0;
#X floatatom 252 414 5 0 0 0 - - -;
#X floatatom 292 415 5 0 0 0 - - -;
#X floatatom 334 415 5 0 0 0 - - -;
#X floatatom 254 456 5 0 0 0 - - -;
#X floatatom 300 456 5 0 0 0 - - -;
#X floatatom 342 457 5 0 0 0 - - -;
#X floatatom 176 236 5 0 0 0 - - -;
#X floatatom 216 237 5 0 0 0 - - -;
#X floatatom 258 237 5 0 0 0 - - -;
#X text 309 238 <- fun 1;
#X text 386 416 <- fun 2;
#X text 389 457 <- fun 3;
#X text 136 30 double iterative process;
#X connect 0 0 6 0;
#X connect 1 0 7 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 5 0;
#X connect 5 1 2 0;
#X connect 6 0 4 0;
#X connect 6 1 1 1;
#X connect 7 0 16 0;
#X connect 8 0 14 0;
#X connect 9 0 10 0;
#X connect 10 0 8 0;
#X connect 11 0 12 0;
#X connect 12 1 9 0;
#X connect 13 0 11 0;
#X connect 13 1 8 1;
#X connect 14 0 20 0;
#X connect 16 0 13 0;
#X connect 19 0 18 0;
#X connect 20 0 15 0;
#X connect 21 0 14 1;
#X connect 22 0 14 2;
#X connect 23 0 14 3;
#X connect 24 0 20 1;
#X connect 25 0 20 2;
#X connect 26 0 20 3;
#X connect 27 0 7 1;
#X connect 28 0 7 2;
#X connect 29 0 7 3;

View file

@ -0,0 +1,114 @@
#N canvas 143 49 609 575 10;
#X obj 152 105 gemframebuffer;
#X obj 179 148 translateXYZ 0 0 -4;
#X obj 152 126 t a a;
#X obj 242 181 inlet;
#X msg 224 84 dimen \$1 \$2;
#X obj 179 169 outlet;
#X obj 224 64 t l l;
#X obj 317 41 /;
#X obj 317 62 t f f;
#X obj 317 82 * -1;
#X obj 317 103 pack f f;
#X msg 317 126 perspec \$1 \$2 -1 1 1 20;
#X obj 374 352 pix_texture;
#X obj 70 16 loadbang;
#X obj 365 181 * 4;
#X msg 365 202 \$1 4;
#X obj 435 181 /;
#X msg 435 161 4 \$1;
#X msg 435 202 4 \$1;
#X obj 365 225 spigot;
#X obj 435 225 spigot;
#X obj 402 263 unpack f f;
#X obj 374 373 rectangle 4 4;
#X obj 347 394 rectangle 4 4;
#X obj 295 342 loadbang;
#X msg 295 363 draw line;
#X obj 401 202 < 1;
#X obj 477 202 >= 1;
#X obj 347 321 t a a;
#X obj 152 84 inlet;
#X obj 347 300 gemhead 100000;
#X msg 225 13 bang;
#X obj 152 548 pix_buffer \$0-buf 1;
#X obj 167 432 pix_buffer_write \$0-buf;
#X msg 313 392 0;
#X msg 152 521 save \$1 0;
#X msg 152 474 bang;
#X obj 152 323 spigot;
#X msg 185 303 1;
#X msg 200 323 0;
#X obj 242 201 route symbol;
#X obj 242 219 symbol;
#X obj 242 239 t s b;
#X obj 294 237 t b;
#X obj 224 43 pack \$1 \$2;
#X obj 167 410 pix_snap 0 0 \$1 \$2;
#X obj 152 501 symbol \$3;
#X obj 152 343 t b a b b b;
#X obj 167 374 t a b a;
#X text 453 523 (c) Jack/RYBN 2011;
#X connect 0 0 2 0;
#X connect 0 1 12 1;
#X connect 1 0 5 0;
#X connect 2 0 37 0;
#X connect 2 1 1 0;
#X connect 3 0 40 0;
#X connect 4 0 0 0;
#X connect 6 0 4 0;
#X connect 6 1 7 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 8 0 14 0;
#X connect 8 0 17 0;
#X connect 8 1 10 1;
#X connect 8 1 26 0;
#X connect 8 1 27 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 0 0;
#X connect 12 0 22 0;
#X connect 13 0 44 0;
#X connect 14 0 15 0;
#X connect 15 0 19 0;
#X connect 16 0 18 0;
#X connect 17 0 16 0;
#X connect 18 0 20 0;
#X connect 19 0 21 0;
#X connect 20 0 21 0;
#X connect 21 0 22 1;
#X connect 21 0 23 1;
#X connect 21 1 22 2;
#X connect 21 1 23 2;
#X connect 24 0 25 0;
#X connect 25 0 23 0;
#X connect 26 0 19 1;
#X connect 27 0 20 1;
#X connect 28 0 23 0;
#X connect 28 1 12 0;
#X connect 29 0 0 0;
#X connect 30 0 28 0;
#X connect 31 0 44 0;
#X connect 34 0 33 1;
#X connect 35 0 32 0;
#X connect 36 0 46 0;
#X connect 37 0 47 0;
#X connect 38 0 37 1;
#X connect 39 0 37 1;
#X connect 40 0 41 0;
#X connect 40 1 43 0;
#X connect 41 0 42 0;
#X connect 42 0 46 1;
#X connect 42 1 43 0;
#X connect 43 0 38 0;
#X connect 44 0 6 0;
#X connect 45 0 33 0;
#X connect 46 0 35 0;
#X connect 47 0 36 0;
#X connect 47 1 48 0;
#X connect 47 3 34 0;
#X connect 47 4 39 0;
#X connect 48 0 45 0;
#X connect 48 1 45 0;
#X connect 48 2 45 0;

View file

@ -0,0 +1,84 @@
#N canvas 139 90 771 570 10;
#X obj 518 59 gemhead;
#X msg 86 180 lighting 1;
#X obj 518 170 rotate;
#X floatatom 563 132 0 0 0 0 - - -;
#X obj 318 508 world_light;
#X obj 318 394 gemhead 1;
#X msg 86 149 lighting 0;
#X obj 518 194 sphere;
#X text 150 38 create a sphere with and without lighting;
#X text 533 105 rotate the sphere;
#X text 139 545 creates a light an infinite distance away.;
#X text 314 341 gemhead has a value of 1 so that it is rendered before
the sphere is;
#X text 52 124 you can turn lighting on and off while it is running
;
#X msg 457 466 1 1 1;
#X msg 404 464 1 0 1;
#X text 508 460 change the lights color;
#X obj 318 456 rotateXYZ;
#X floatatom 409 399 0 0 0 0 - - -;
#X msg 185 424 debug 0;
#X msg 186 455 debug 1;
#X text 96 400 figure out where the light is;
#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 64 238 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 34 255 pd gemwin;
#X connect 0 0 2 0;
#X connect 1 0 22 0;
#X connect 2 0 7 0;
#X connect 3 0 2 1;
#X connect 5 0 16 0;
#X connect 6 0 22 0;
#X connect 13 0 4 1;
#X connect 14 0 4 1;
#X connect 16 0 4 0;
#X connect 17 0 16 2;
#X connect 18 0 4 0;
#X connect 19 0 4 0;
#X connect 21 0 22 0;

View file

@ -0,0 +1,96 @@
#N canvas 253 63 751 605 10;
#X obj 532 45 gemhead;
#X msg 107 177 lighting 1;
#X obj 532 156 rotate;
#X floatatom 580 137 4 0 0 0 - - -;
#X obj 313 354 gemhead 1;
#X msg 107 146 lighting 0;
#X obj 532 177 sphere;
#X text 150 38 create a sphere with and without lighting;
#X text 547 91 rotate the sphere;
#X text 313 314 gemhead has a value of 1 so that it is rendered before
the sphere is;
#X text 46 125 you can turn lighting on and off while it is running
;
#X msg 398 507 1 1 1;
#X msg 345 505 1 0 1;
#X text 449 501 change the lights color;
#X floatatom 389 355 0 0 0 0 - - -;
#X msg 185 424 debug 0;
#X msg 186 455 debug 1;
#X text 96 400 figure out where the light is;
#X obj 313 535 light;
#X text 240 558 creates a local light;
#X msg 434 436 2;
#X msg 477 436 3;
#X msg 390 438 1.1;
#X text 389 417 change the position of the light;
#X obj 313 395 rotateXYZ 0 -60 0;
#X obj 313 475 translateXYZ 2 0 0;
#X obj 566 118 hsl 128 15 0 360 0 0 empty empty empty -2 -6 0 10 -233472
-1 -1 0 1;
#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 62 264 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 32 281 pd gemwin;
#X connect 0 0 2 0;
#X connect 1 0 28 0;
#X connect 2 0 6 0;
#X connect 4 0 24 0;
#X connect 5 0 28 0;
#X connect 11 0 18 1;
#X connect 12 0 18 1;
#X connect 14 0 24 2;
#X connect 15 0 18 0;
#X connect 16 0 18 0;
#X connect 20 0 25 1;
#X connect 21 0 25 1;
#X connect 22 0 25 1;
#X connect 24 0 25 0;
#X connect 25 0 18 0;
#X connect 26 0 2 1;
#X connect 26 0 3 0;
#X connect 27 0 28 0;

View file

@ -0,0 +1,97 @@
#N canvas 396 160 600 500 10;
#X obj 373 75 gemhead;
#X msg 128 75 lighting 1;
#X msg 128 107 lighting 0;
#X obj 373 115 sphere;
#X obj 148 268 gemhead;
#X obj 148 424 light;
#X obj 148 308 rotateXYZ;
#X floatatom 238 274 0 0 0 0 - - -;
#X msg 55 355 debug 1;
#X msg 56 388 debug 0;
#X msg 178 399 1 0 0;
#X obj 148 346 translateXYZ 3 0 0;
#X obj 399 256 gemhead;
#X obj 399 296 rotateXYZ;
#X floatatom 489 262 0 0 0 0 - - -;
#X msg 305 352 debug 1;
#X msg 306 385 debug 0;
#X msg 471 396 0 1 0;
#X obj 399 426 world_light;
#X obj 471 364 loadbang;
#X obj 178 370 loadbang;
#X floatatom 246 305 0 0 0 0 - - -;
#X text 263 177 notice that translation affects the;
#X text 261 190 light object \, but not the world_light;
#X obj 399 336 translateXYZ 3 0 0;
#X floatatom 476 312 0 0 0 0 - - -;
#X text 504 311 quite useless;
#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 64 148 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 34 165 pd gemwin;
#X connect 0 0 3 0;
#X connect 1 0 28 0;
#X connect 2 0 28 0;
#X connect 4 0 6 0;
#X connect 6 0 11 0;
#X connect 7 0 6 2;
#X connect 8 0 5 0;
#X connect 9 0 5 0;
#X connect 10 0 5 1;
#X connect 11 0 5 0;
#X connect 12 0 13 0;
#X connect 13 0 24 0;
#X connect 14 0 13 1;
#X connect 15 0 18 0;
#X connect 16 0 18 0;
#X connect 17 0 18 1;
#X connect 19 0 17 0;
#X connect 20 0 10 0;
#X connect 21 0 11 1;
#X connect 24 0 18 0;
#X connect 25 0 24 1;
#X connect 27 0 28 0;

View file

@ -0,0 +1,128 @@
#N canvas 172 20 824 640 10;
#X text 745 116 on;
#X text 782 114 off;
#X text 557 122 on;
#X text 594 120 off;
#X msg 742 143 1;
#X msg 779 142 0;
#X text 303 503 on;
#X text 340 501 off;
#X msg 116 527 1;
#X msg 152 529 0;
#X msg 297 529 1;
#X msg 335 529 0;
#X obj 373 547 gemhead 1;
#X obj 483 231 int 0;
#X obj 532 231 + 2;
#X obj 634 118 gemhead;
#X floatatom 673 252 0 0 0 0 - - -;
#X obj 444 115 gemhead;
#X msg 34 171 dimen 300 300;
#X msg 64 102 lighting 1;
#X floatatom 483 264 0 0 0 0 - - -;
#X obj 194 573 world_light;
#X obj 194 534 gemhead 1;
#X msg 63 74 lighting 0;
#X obj 673 225 int 0;
#X obj 373 584 light;
#X text 125 480 global light;
#X text 303 483 local light;
#X text 122 505 on;
#X text 152 506 off;
#X text 13 133 set the window size to 300 x 300;
#X text 28 48 you can turn lighting on and off while it is running
;
#X obj 483 197 metro 50;
#X msg 555 145 1;
#X msg 591 146 0;
#X obj 673 191 metro 100;
#X obj 735 223 + 1;
#X obj 444 147 colorRGB 1 0 1;
#X obj 634 146 colorRGB 0 1 0;
#X obj 444 301 rotate 0 1 0;
#X obj 444 342 translate 2 1 0 0;
#X obj 634 329 translate 2 0 1 0;
#X obj 634 287 rotate 1 0 0;
#X text 446 69 Purple sphere;
#X text 636 74 Green sphere;
#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 64 238 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 34 255 pd gemwin;
#X obj 444 424 sphere 1 5;
#X obj 634 416 sphere 1 20;
#X connect 4 0 35 0;
#X connect 5 0 35 0;
#X connect 8 0 21 0;
#X connect 9 0 21 0;
#X connect 10 0 25 0;
#X connect 11 0 25 0;
#X connect 12 0 25 0;
#X connect 13 0 14 0;
#X connect 13 0 20 0;
#X connect 14 0 13 1;
#X connect 15 0 38 0;
#X connect 16 0 42 1;
#X connect 17 0 37 0;
#X connect 18 0 46 0;
#X connect 19 0 46 0;
#X connect 20 0 39 1;
#X connect 22 0 21 0;
#X connect 23 0 46 0;
#X connect 24 0 16 0;
#X connect 24 0 36 0;
#X connect 32 0 13 0;
#X connect 33 0 32 0;
#X connect 34 0 32 0;
#X connect 35 0 24 0;
#X connect 36 0 24 1;
#X connect 37 0 39 0;
#X connect 38 0 42 0;
#X connect 39 0 40 0;
#X connect 40 0 47 0;
#X connect 41 0 48 0;
#X connect 42 0 41 0;
#X connect 45 0 46 0;

View file

@ -0,0 +1,86 @@
#N canvas 253 63 743 597 10;
#X obj 349 34 gemhead;
#X obj 349 307 rotate;
#X floatatom 367 272 0 0 0 0 - - -;
#X obj 220 436 gemhead 1;
#X text 83 397 gemhead has a value of 1 so that it is rendered before
the sphere is;
#X obj 220 539 light;
#X text 271 543 creates a local light;
#X obj 220 507 translateXYZ 3 0 0;
#X text 150 38 apply materials to a sphere;
#X obj 349 122 diffuse 0.2 0 0;
#X obj 349 224 ambientRGB 0 0 0;
#X obj 349 163 specular 0 0 0.9;
#X obj 349 78 shininess 128;
#X obj 349 361 sphere 2;
#X msg 428 322 50;
#X msg 469 32 10;
#X msg 506 32 100;
#X obj 220 477 rotateXYZ 0 -90 0;
#N canvas 91 174 290 179 Gem.init 0;
#X obj 118 18 loadbang;
#X msg 201 78 reset;
#X obj 118 113 outlet;
#X obj 118 45 t b b;
#X msg 118 79 lighting 1;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 3 1 1 0;
#X connect 4 0 2 0;
#X restore 34 138 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 34 155 pd gemwin;
#X connect 0 0 12 0;
#X connect 1 0 13 0;
#X connect 2 0 1 1;
#X connect 3 0 17 0;
#X connect 7 0 5 0;
#X connect 9 0 11 0;
#X connect 10 0 1 0;
#X connect 11 0 10 0;
#X connect 12 0 9 0;
#X connect 14 0 13 2;
#X connect 15 0 12 1;
#X connect 16 0 12 1;
#X connect 17 0 7 0;
#X connect 18 0 19 0;

View file

@ -0,0 +1,60 @@
#N canvas 452 108 681 502 12;
#X text 172 376 click on the pix_image object to display the loaded
image with imgview;
#X obj 179 199 gemhead;
#X obj 179 351 pix_draw;
#X text 196 18 display an image using pix_draw;
#X obj 179 227 pix_image ../data/dancer.JPG;
#X obj 179 309 translateXYZ;
#X floatatom 315 261 0 0 0 0 - - -;
#X text 176 177 notice that Z doesn't change the size of the image
;
#X text 62 442 On most machines \, pix_draw is MUCH slower than pix_texture.
However \, pix_draw is easier to use in an example patch.;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X obj 315 284 / 100;
#X floatatom 264 261 0 0 0 0 - - -;
#X obj 264 284 / 100;
#X floatatom 213 261 0 0 0 0 - - -;
#X obj 213 284 / 100;
#X connect 1 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 6 0 13 0;
#X connect 10 0 11 0;
#X connect 11 0 10 0;
#X connect 13 0 5 3;
#X connect 14 0 15 0;
#X connect 15 0 5 2;
#X connect 16 0 17 0;
#X connect 17 0 5 1;

View file

@ -0,0 +1,49 @@
#N canvas 411 137 739 504 12;
#X msg 345 170 1;
#X msg 345 202 0;
#X obj 278 200 gemhead;
#X msg 344 133 2;
#X text 206 104 select one of the three images to display;
#X text 154 29 display images use pix_multiimage;
#X obj 278 255 pix_multiimage ../data/temp*.JPG 2;
#X obj 20 209 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 253 pd gemwin;
#X msg 25 229 create;
#X text 21 209 Create window and render;
#X obj 278 313 pix_texture;
#X obj 278 335 square 3;
#X connect 0 0 6 1;
#X connect 1 0 6 1;
#X connect 2 0 6 0;
#X connect 3 0 6 1;
#X connect 6 0 11 0;
#X connect 8 0 9 0;
#X connect 9 0 8 0;
#X connect 11 0 12 0;

View file

@ -0,0 +1,64 @@
#N canvas 314 61 654 599 12;
#X msg 489 227 1;
#X msg 489 259 0;
#X obj 375 254 gemhead;
#X msg 488 190 2;
#X text 254 156 select one of the three images to display;
#X obj 375 308 pix_imageInPlace;
#X msg 121 288 download;
#X msg 124 318 purge;
#X obj 375 367 square;
#X text 206 20 display images use pix_imageInPlace;
#X text 64 389 pix_imageInPlace is slightly different than pix_multiimage.
When you select an image to display with pix_multiimage \, it copies
over the image data to the pix_buffer \, which is then used by pix_texture.
;
#X text 62 451 This is potentially slow if you are trying to change
between a lot of images \, but it doesn't use a lot of texture ram.
;
#X text 62 503 pix_imageInPlace sends all of the image data to texture
RAM when the preload message is received. This means that you cannot
process any of the pixel data \, but it is extremely quick to change
between the various images.;
#X msg 119 255 preload ../data/temp*.JPG 2;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X connect 0 0 5 1;
#X connect 1 0 5 1;
#X connect 2 0 5 0;
#X connect 3 0 5 1;
#X connect 5 0 8 0;
#X connect 6 0 5 0;
#X connect 7 0 5 0;
#X connect 13 0 5 0;
#X connect 15 0 16 0;
#X connect 16 0 15 0;

View file

@ -0,0 +1,121 @@
#N canvas 61 44 827 553 12;
#X obj 90 186 gemhead;
#X floatatom 220 155 5 0 0 0 - - -;
#X msg 150 156 auto \$1;
#X obj 150 137 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
1;
#X floatatom 124 261 5 0 0 0 - - -;
#X msg 197 392 -1 -2 -1 -2 8 -2 1 -2 1;
#X obj 90 467 pix_convolve 3 3;
#X text 472 233 load and play-back a movie;
#X text 368 28 win32:;
#X text 212 134 frame;
#N canvas 243 65 604 505 README 0;
#X text 49 38 the pix_film is the same as pix_movie but does not texture
the movie immediately onto a Geo.;
#X text 50 77 therefore it is possible to manipulate the frames;
#X text 48 106 the pix_film object will return the movie in it's (more
or less) native color-space. most of the times \, this will probably
be not RGBA but RGB or BGR (on windows machines).;
#X text 48 153 do not worry about this. however \, most of the pix-manips
will only work correctly on RGBA-pixes. if this is the case and you
send it a non-RGBA pixture it will say something like "pix_object cannot
handle gray image".;
#X text 49 226 to avoid this \, you can convert your pix-buff to RGBA
using "pix_rgba". this will be a no-cost operation if the pix_buf already
is in RGBA.;
#X text 36 334 you might notice a significant performance-enhancement
by just turning the [pix_rgba] off (via the toggle). however \, not
[pix_rgba] is expensive but actually the [pix_convolve] (which appears to do
nothing when initialized with "0 0 0 0 1 0 0 0 0". When [pix_rgba]
is "off" \, the [pix_convolve] will be bypassed \, and therefore be
very fast.;
#X restore 635 187 pd README;
#X obj 90 573 square 4;
#X obj 90 233 pix_film;
#X floatatom 149 547 5 0 0 0 - - -;
#X msg 393 48 open ../data/homer.avi;
#X msg 386 111 open ../data/anim-1.mov;
#X msg 391 156 open ../data/alea.mpg;
#X text 247 502 you have to texture the movie by hand;
#X text 256 466 manipulate the movie (expensive!);
#X text 26 10 load \, play and manipulate digital videos;
#X text 423 397 edge detection;
#X msg 230 424 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125
;
#X text 715 422 smoothing;
#X obj 289 252 t f;
#X obj 197 368 loadbang;
#X obj 110 439 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
1;
#X obj 90 500 pix_texture;
#X obj 20 49 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 93 pd gemwin;
#X msg 25 69 create;
#X text 21 49 Create window and render;
#X text 358 91 linux \, os-X:;
#X text 363 140 linux \, ??:;
#X obj 345 181 t a;
#X msg 410 207 open \$1;
#X obj 410 185 symbol;
#X obj 471 185 openpanel;
#X obj 563 185 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 90 309 pix_rgba;
#X text 178 289 transform the movie into RGBA-space (if the image is
not RGBA \, [pix_convolve] might not be able to process the image and
therefore will do nothing \, which will dramatically "increase" performance)
;
#X connect 0 0 12 0;
#X connect 1 0 12 1;
#X connect 2 0 12 0;
#X connect 3 0 2 0;
#X connect 5 0 6 2;
#X connect 6 0 26 0;
#X connect 12 0 38 0;
#X connect 12 1 4 0;
#X connect 12 2 23 0;
#X connect 13 0 11 1;
#X connect 14 0 33 0;
#X connect 15 0 33 0;
#X connect 16 0 33 0;
#X connect 21 0 6 2;
#X connect 23 0 12 1;
#X connect 24 0 5 0;
#X connect 25 0 6 0;
#X connect 26 0 11 0;
#X connect 28 0 29 0;
#X connect 29 0 28 0;
#X connect 33 0 12 0;
#X connect 34 0 33 0;
#X connect 35 0 34 0;
#X connect 36 0 35 0;
#X connect 37 0 36 0;
#X connect 38 0 6 0;

View file

@ -0,0 +1,89 @@
#N canvas 133 25 637 554 12;
#X obj 157 59 gemhead;
#X floatatom 336 167 0 0 0 0 - - -;
#X obj 157 385 rotateXYZ;
#X obj 157 437 cube;
#X floatatom 224 359 0 0 0 0 - - -;
#X obj 224 310 metro 50;
#X obj 203 412 translateXYZ 2 1 0;
#X obj 203 438 cube;
#X obj 157 201 pix_movie;
#X text 377 167 control which frame;
#X text 256 436 automatically textures;
#X obj 177 238 print frames;
#X msg 287 25 open ../data/homer.avi;
#X obj 224 290 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
1;
#X obj 325 282 print done;
#X msg 336 135 auto \$1;
#X obj 336 116 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
1;
#X text 43 486 the texturing is done automatically: there is no need
to care for the image-size (it doesn't have to be a power of 2). on
the other hand \, you cannot do image-processing !! use [pix_film]
for this;
#X msg 325 259 reached the end !!!;
#X obj 293 235 t f b;
#X text 449 13 Win32;
#X text 461 73 linux;
#X msg 297 56 open ../data/anim-1.mov;
#X msg 307 87 open ../data/alea.mpg;
#X text 8 264 notice: you don't need pix_texture;
#X text 406 131 play the movie !;
#X obj 224 335 i;
#X obj 259 335 + 1;
#X obj 295 335 % 360;
#X text 471 42 apple;
#X obj 505 415 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 142 68 set create;
#X msg 132 112 create \, 1;
#X msg 198 112 destroy;
#X msg 234 221 dimen 500 500;
#X msg 279 189 dimen 1024 768;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X connect 9 0 0 0;
#X restore 510 453 pd gemwin;
#X msg 510 430 create;
#X text 506 413 Create window:;
#X connect 0 0 8 0;
#X connect 1 0 8 1;
#X connect 2 0 3 0;
#X connect 2 0 6 0;
#X connect 4 0 2 2;
#X connect 4 0 2 3;
#X connect 5 0 26 0;
#X connect 6 0 7 0;
#X connect 8 0 2 0;
#X connect 8 1 11 0;
#X connect 8 2 19 0;
#X connect 12 0 8 0;
#X connect 13 0 5 0;
#X connect 15 0 8 0;
#X connect 16 0 15 0;
#X connect 18 0 14 0;
#X connect 19 0 8 1;
#X connect 19 1 18 0;
#X connect 22 0 8 0;
#X connect 23 0 8 0;
#X connect 26 0 27 0;
#X connect 26 0 4 0;
#X connect 27 0 28 0;
#X connect 28 0 26 1;
#X connect 31 0 32 0;
#X connect 32 0 31 0;

View file

@ -0,0 +1,88 @@
#N canvas 183 99 635 638 12;
#X obj 179 176 gemhead;
#X obj 179 587 pix_texture;
#X msg 291 536 1 0 0;
#X obj 179 612 square 3;
#X floatatom 329 238 0 -10 250 0 - - -;
#X obj 420 434 t b f;
#X obj 420 408 + 40;
#X obj 342 420 + 40;
#X text 372 182 the position;
#X text 433 539 the color;
#X obj 291 513 loadbang;
#X obj 179 204 pix_image ../data/fractal.JPG;
#X obj 329 308 t f f;
#X obj 380 308 t f f;
#X text 375 241 x-pos;
#X text 423 269 y-pos;
#X floatatom 466 304 0 -50 250 0 - - -;
#X text 512 307 width;
#X text 560 335 height;
#X obj 466 374 t b f;
#X obj 517 374 t b f;
#X obj 342 443 t b f;
#X floatatom 380 271 0 -10 250 0 - - -;
#X floatatom 517 333 0 -50 250 0 - - -;
#X msg 373 538 0 1 0;
#X obj 235 488 pack 0 0 40 40;
#X obj 179 561 pix_rectangle;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X text 118 26 draw a rectangle onto an image;
#X connect 0 0 11 0;
#X connect 1 0 3 0;
#X connect 2 0 26 2;
#X connect 4 0 12 0;
#X connect 5 0 25 0;
#X connect 5 1 25 3;
#X connect 6 0 5 0;
#X connect 7 0 21 0;
#X connect 10 0 2 0;
#X connect 11 0 26 0;
#X connect 12 0 25 0;
#X connect 12 1 7 0;
#X connect 13 0 6 0;
#X connect 13 1 25 1;
#X connect 16 0 19 0;
#X connect 19 0 7 0;
#X connect 19 1 7 1;
#X connect 20 0 6 0;
#X connect 20 1 6 1;
#X connect 21 0 25 0;
#X connect 21 1 25 2;
#X connect 22 0 13 0;
#X connect 23 0 20 0;
#X connect 24 0 26 2;
#X connect 25 0 26 1;
#X connect 26 0 1 0;
#X connect 28 0 29 0;
#X connect 29 0 28 0;

View file

@ -0,0 +1,69 @@
#N canvas 243 272 754 536 10;
#X obj 143 110 gemhead;
#X text 99 37 ========;
#X msg 149 366 quality 0;
#X obj 143 409 square 2;
#X obj 149 343 loadbang;
#X text 101 487 maybe have a look at;
#X text 101 24 pix_set;
#X text 246 23 set the pixles of the image;
#X msg 279 165 rgb;
#X msg 279 141 rgba;
#X msg 279 189 grey;
#X msg 229 108 0 0.8 0 0 0.9 0 0.1 0 1 1 1 10;
#X msg 268 227 set 2 4;
#X text 461 109 a list of pixel-values;
#X text 331 163 interpret the list as;
#X text 514 136 r1 g1 b1 a1 r2 g2 b2 a2 r3...;
#X text 512 165 r1 g1 b1 r2 g2 b2 r3...;
#X text 512 194 grey1 grey2 grey3...;
#X text 507 236 set the imagesize to "X Y";
#X text 306 317 creation arguments :: [X Y] of the image buffer;
#X msg 265 249 set 1 1;
#X text 253 487 [pix_dump];
#X obj 143 243 pix_set 64 64;
#X obj 143 387 pix_texture;
#X obj 450 389 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 455 433 pd gemwin;
#X msg 455 409 create;
#X text 451 389 Create window and render;
#X connect 0 0 22 0;
#X connect 2 0 23 0;
#X connect 4 0 2 0;
#X connect 8 0 22 0;
#X connect 9 0 22 0;
#X connect 10 0 22 0;
#X connect 11 0 22 1;
#X connect 12 0 22 0;
#X connect 20 0 22 0;
#X connect 22 0 23 0;
#X connect 23 0 3 0;
#X connect 25 0 26 0;
#X connect 26 0 25 0;

View file

@ -0,0 +1,64 @@
#N canvas 53 47 761 536 10;
#X obj 143 110 gemhead;
#X obj 143 203 pix_dump;
#X text 101 24 pix_dump;
#X text 99 37 ========;
#X msg 369 184 bang;
#X obj 143 387 pix_texture;
#X msg 149 366 quality 0;
#X obj 143 409 square 2;
#X obj 149 343 loadbang;
#X text 412 184 trigger the pix_dump;
#X text 246 24 dump the pixels of the image;
#X obj 194 254 print dump;
#X text 297 265 this produces an output like;
#X text 292 285 "r1 g1 b1 a1 r2 g2 b2 a2 r3 ...";
#X text 292 302 (r=red \; g=green \; b=blue \; a=alpha);
#X obj 474 371 repack;
#X text 278 369 maybe you would like to use;
#X text 525 373 (part of zexy);
#X text 275 389 to excerpt pixel information out of this;
#X text 101 487 maybe have a look at;
#X obj 250 487 pix_set;
#X obj 455 54 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 460 98 pd gemwin;
#X msg 460 74 create;
#X text 456 54 Create window and render;
#X obj 143 135 pix_image ../data/blob2.tif;
#X connect 0 0 25 0;
#X connect 1 0 5 0;
#X connect 1 1 11 0;
#X connect 4 0 1 0;
#X connect 5 0 7 0;
#X connect 6 0 5 0;
#X connect 8 0 6 0;
#X connect 22 0 23 0;
#X connect 23 0 22 0;
#X connect 25 0 1 0;

View file

@ -0,0 +1,89 @@
#N canvas 0 0 764 557 10;
#N canvas 412 247 681 394 tables 0;
#N canvas 0 0 450 300 (subpatch) 0;
#X array red 256 float 0;
#X coords 0 1 255 0 256 140 1;
#X restore 95 30 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array green 256 float 0;
#X coords 0 1 255 0 256 140 1;
#X restore 399 29 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array blue 256 float 0;
#X coords 0 1 255 0 256 140 1;
#X restore 98 214 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array alpha 64 float 0;
#X coords 0 1 63 0 256 140 1;
#X restore 396 212 graph;
#X restore 379 211 pd tables;
#X obj 34 192 gemhead;
#X obj 34 476 pix_texture;
#N canvas 0 0 450 300 (subpatch) 0;
#X array rgb 64 float 0;
#X coords 0 1 63 0 256 140 1;
#X restore 287 53 graph;
#X text 78 8 pix_curve: adjust the colour of an image;
#X text 451 213 separate tables for r \, g \, b and a;
#X msg 185 192 1;
#X msg 155 192 0;
#X msg 214 192 2;
#X obj 34 497 square 3;
#X msg 95 289 set red green blue alpha;
#X msg 99 325 set red green blue;
#X msg 99 365 set rgb;
#X obj 34 395 pix_histo rgb;
#X msg 564 57 \; rgb resize 32;
#X msg 565 93 \; rgb resize 64;
#X msg 564 135 \; rgb normalize 1;
#X obj 300 367 pix_histo rgb;
#X obj 303 328 pix_histo red green blue;
#X obj 302 288 pix_histo red green blue alpha;
#X text 313 388 one histogramm for all channels (making grey out of
rgb);
#X text 326 346 histograms for r \, g \, b;
#X text 337 306 histograms for r \, g \, b \, a;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X obj 34 217 pix_multiimage ../data/temp*.JPG 2;
#X connect 1 0 27 0;
#X connect 2 0 9 0;
#X connect 6 0 27 1;
#X connect 7 0 27 1;
#X connect 8 0 27 1;
#X connect 10 0 13 0;
#X connect 11 0 13 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 24 0 25 0;
#X connect 25 0 24 0;
#X connect 27 0 13 0;

View file

@ -0,0 +1,90 @@
#N canvas 284 93 594 539 10;
#X obj 46 186 gemwin;
#X obj 319 173 gemhead;
#X obj 258 329 pix_data;
#X msg 244 103 1;
#X msg 243 128 0;
#X msg 87 48 create;
#X msg 114 104 destroy;
#X msg 319 143 bang;
#X msg 205 103 bang;
#X obj 205 73 t b b;
#X msg 205 54 bang;
#X obj 233 422 translateXYZ;
#X obj 233 360 gemhead;
#X obj 233 449 color;
#X obj 233 200 t b b b b;
#X obj 369 328 * 6;
#X obj 444 328 * 6;
#X obj 444 348 - 3;
#X obj 369 348 - 3;
#X msg 348 42 1;
#X msg 391 42 0;
#X obj 84 302 world_light;
#X obj 84 274 gemhead;
#X obj 348 93 metro 5;
#X obj 233 478 sphere 0.1;
#X text 79 13 click here to begin;
#X text 320 18 turn on/off the metro;
#X obj 319 202 pix_image ../data/fractal.JPG;
#N canvas 95 194 290 179 Gem.init 0;
#X obj 118 18 loadbang;
#X msg 201 78 reset;
#X obj 118 113 outlet;
#X obj 118 45 t b b;
#X msg 118 79 lighting 1;
#X msg 22 77 buffer 1;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 3 0 5 0;
#X connect 3 1 1 0;
#X connect 4 0 2 0;
#X connect 5 0 2 0;
#X restore 25 153 pd Gem.init;
#X text 93 34 1;
#X text 209 38 2;
#X obj 337 253 random 1000;
#X obj 337 270 / 1000;
#X obj 337 288 t f f;
#X obj 419 253 random 1000;
#X obj 419 270 / 1000;
#X obj 419 288 t f f;
#X connect 1 0 27 0;
#X connect 2 1 13 1;
#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 1 0;
#X connect 8 0 0 0;
#X connect 9 0 7 0;
#X connect 9 0 8 0;
#X connect 9 1 3 0;
#X connect 10 0 9 0;
#X connect 11 0 13 0;
#X connect 12 0 11 0;
#X connect 13 0 24 0;
#X connect 14 0 12 0;
#X connect 14 1 2 0;
#X connect 14 1 22 0;
#X connect 14 2 31 0;
#X connect 14 3 34 0;
#X connect 15 0 18 0;
#X connect 16 0 17 0;
#X connect 17 0 11 2;
#X connect 18 0 11 1;
#X connect 19 0 23 0;
#X connect 20 0 23 0;
#X connect 22 0 21 0;
#X connect 23 0 14 0;
#X connect 27 0 2 1;
#X connect 28 0 0 0;
#X connect 31 0 32 0;
#X connect 32 0 33 0;
#X connect 33 0 2 2;
#X connect 33 1 15 0;
#X connect 34 0 35 0;
#X connect 35 0 36 0;
#X connect 36 0 2 3;
#X connect 36 1 16 0;

View file

@ -0,0 +1,117 @@
#N canvas 331 86 929 574 10;
#X obj 30 159 gemwin;
#X obj 372 135 gemhead;
#X obj 372 164 pix_image ../data/fractal.JPG;
#X obj 285 311 pix_data;
#X msg 183 110 1;
#X msg 218 110 0;
#X msg 48 37 create;
#X msg 49 87 destroy;
#X msg 372 105 bang;
#X msg 138 111 bang;
#X obj 214 61 t b b;
#X msg 214 36 bang;
#X obj 206 400 translateXYZ;
#X obj 206 338 gemhead;
#X obj 206 436 color;
#X obj 266 205 t b b b b;
#X obj 443 313 * 6;
#X obj 443 339 - 3;
#X obj 385 341 - 3;
#X msg 292 30 1;
#X msg 325 30 0;
#X obj 84 320 world_light;
#X obj 84 274 gemhead;
#X obj 206 471 rotate 1 1 1;
#X obj 337 397 * 90;
#X obj 292 114 metro 5;
#X obj 485 313 pix_data;
#X obj 501 237 gemhead;
#N canvas 99 214 290 179 Gem.init 0;
#X obj 118 18 loadbang;
#X msg 215 80 reset;
#X obj 118 113 outlet;
#X obj 118 45 t b b;
#X msg 118 79 lighting 1;
#X msg 34 80 buffer 1;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 3 0 5 0;
#X connect 3 1 1 0;
#X connect 4 0 2 0;
#X connect 5 0 2 0;
#X restore 30 125 pd Gem.init;
#X text 53 22 1;
#X text 217 19 2;
#X obj 336 236 random 1000;
#X obj 336 254 / 1000;
#X obj 336 272 t f f;
#X obj 418 236 random 1000;
#X obj 418 254 / 1000;
#X obj 418 272 t f f;
#X floatatom 385 366 5 0 0 0 - - -;
#X floatatom 443 366 5 0 0 0 - - -;
#X obj 385 314 * 6;
#X floatatom 341 429 5 0 0 0 - - -;
#X obj 206 506 cube 0;
#X msg 500 197 bang;
#X obj 501 272 pix_image ../data/dancer.JPG;
#X floatatom 537 423 5 0 0 0 - - -;
#X obj 537 473 * 0.2;
#X obj 537 369 f;
#X connect 1 0 2 0;
#X connect 2 0 3 1;
#X connect 3 1 14 1;
#X connect 3 2 24 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 8 0 27 0;
#X connect 9 0 0 0;
#X connect 10 0 8 0;
#X connect 10 0 9 0;
#X connect 10 1 4 0;
#X connect 11 0 10 0;
#X connect 12 0 14 0;
#X connect 13 0 12 0;
#X connect 14 0 23 0;
#X connect 15 0 13 0;
#X connect 15 1 3 0;
#X connect 15 1 22 0;
#X connect 15 1 26 0;
#X connect 15 2 31 0;
#X connect 15 3 34 0;
#X connect 16 0 17 0;
#X connect 17 0 12 2;
#X connect 17 0 38 0;
#X connect 18 0 12 1;
#X connect 18 0 37 0;
#X connect 19 0 25 0;
#X connect 20 0 25 0;
#X connect 22 0 21 0;
#X connect 23 0 41 0;
#X connect 24 0 23 1;
#X connect 24 0 40 0;
#X connect 25 0 15 0;
#X connect 26 1 46 0;
#X connect 27 0 43 0;
#X connect 28 0 0 0;
#X connect 31 0 32 0;
#X connect 32 0 33 0;
#X connect 33 0 3 2;
#X connect 33 0 26 2;
#X connect 33 1 39 0;
#X connect 34 0 35 0;
#X connect 35 0 36 0;
#X connect 36 0 3 3;
#X connect 36 0 26 3;
#X connect 36 1 16 0;
#X connect 39 0 18 0;
#X connect 42 0 27 0;
#X connect 43 0 26 1;
#X connect 44 0 45 0;
#X connect 45 0 41 1;
#X connect 46 0 44 0;

View file

@ -0,0 +1,52 @@
#N canvas 542 198 681 468 10;
#X obj 270 175 pix_image ../data/dancer.JPG;
#X obj 270 342 pix_texture;
#X obj 270 383 square;
#X msg 329 364 3;
#X obj 369 209 gemhead 20;
#X obj 270 142 gemhead;
#X msg 370 141 open ../data/dancer.JPG;
#X obj 369 232 pix_image ../data/fractal.JPG;
#X obj 270 282 pix_add;
#X obj 20 79 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 123 pd gemwin;
#X msg 25 106 create;
#X text 21 79 Create window and render;
#X text 135 60 blending \, using pixel addition;
#X connect 0 0 8 0;
#X connect 1 0 2 0;
#X connect 3 0 2 1;
#X connect 4 0 7 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 7 0 8 1;
#X connect 8 0 1 0;
#X connect 10 0 11 0;
#X connect 11 0 10 0;

View file

@ -0,0 +1,173 @@
#N canvas 138 0 775 371 10;
#X obj 254 305 pix_texture;
#X obj 290 112 gemhead 20;
#X obj 254 65 gemhead;
#X text 257 30 various methods for blending images;
#N canvas 165 295 561 386 blending 0;
#X obj 28 65 inlet;
#X obj 191 354 outlet;
#X obj 173 285 inlet;
#X obj 320 8 inlet;
#X obj 28 322 pix_composite;
#X obj 129 323 pix_add;
#X obj 285 322 pix_diff;
#X obj 191 322 pix_subtract;
#X obj 28 227 pix_alpha;
#N canvas 445 182 508 174 select 0;
#X obj 88 35 inlet;
#X msg 88 98 1;
#X msg 144 98 2;
#X msg 201 97 3;
#X msg 257 97 0;
#X obj 88 121 outlet;
#X msg 329 100 4;
#X obj 88 59 select pix_add pix_subtract pix_diff pix_composite pix_multiply
;
#X connect 0 0 7 0;
#X connect 1 0 5 0;
#X connect 2 0 5 0;
#X connect 3 0 5 0;
#X connect 4 0 5 0;
#X connect 6 0 5 0;
#X connect 7 0 1 0;
#X connect 7 1 2 0;
#X connect 7 2 3 0;
#X connect 7 3 4 0;
#X connect 7 4 6 0;
#X restore 350 82 pd select blending method;
#X obj 360 324 pix_multiply;
#N canvas 172 373 450 300 demux5 0;
#X obj 59 30 inlet;
#X obj 283 17 inlet;
#X obj 59 193 outlet;
#X obj 59 137 spigot;
#X obj 96 109 == 0;
#X obj 106 137 spigot;
#X obj 153 139 spigot;
#X obj 200 137 spigot;
#X obj 246 137 spigot;
#X obj 143 109 == 1;
#X obj 190 109 == 2;
#X obj 237 109 == 3;
#X obj 283 109 == 4;
#X obj 96 83 loadbang;
#X obj 59 52 t a a a a a;
#X obj 106 194 outlet;
#X obj 153 195 outlet;
#X obj 200 196 outlet;
#X obj 246 195 outlet;
#X obj 283 61 f;
#X connect 0 0 14 0;
#X connect 1 0 19 0;
#X connect 3 0 2 0;
#X connect 4 0 3 1;
#X connect 5 0 15 0;
#X connect 6 0 16 0;
#X connect 7 0 17 0;
#X connect 8 0 18 0;
#X connect 9 0 5 1;
#X connect 10 0 6 1;
#X connect 11 0 7 1;
#X connect 12 0 8 1;
#X connect 13 0 4 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 19 0 4 0;
#X connect 19 0 9 0;
#X connect 19 0 10 0;
#X connect 19 0 11 0;
#X connect 19 0 12 0;
#X restore 28 189 pd demux5;
#X obj 320 28 t b a;
#X obj 28 129 pix_buf;
#X text 26 39 pix1;
#X text 176 269 pix2;
#X obj 350 56 symbol;
#X text 99 232 we need an alpha componenct for 'composite';
#X text 85 115 [pix_add] and friends will overwrite the original (left)
image with the blend. [pix_buf] holds a local copy of the original
image and will refresh the output when banged.;
#X connect 0 0 13 0;
#X connect 2 0 5 1;
#X connect 2 0 4 1;
#X connect 2 0 7 1;
#X connect 2 0 6 1;
#X connect 2 0 10 1;
#X connect 3 0 12 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 1 0;
#X connect 7 0 1 0;
#X connect 8 0 4 0;
#X connect 9 0 11 1;
#X connect 10 0 1 0;
#X connect 11 0 8 0;
#X connect 11 1 5 0;
#X connect 11 2 7 0;
#X connect 11 3 6 0;
#X connect 11 4 10 0;
#X connect 12 0 13 0;
#X connect 12 1 16 0;
#X connect 13 0 11 0;
#X connect 16 0 9 0;
#X restore 254 250 pd blending;
#X obj 254 328 square 3;
#X text 461 210 additive blending (likely to get white);
#X text 461 231 subtractive blending (likely to get black);
#X text 467 184 alpha blending;
#X msg 367 281 pix_multiply;
#X msg 368 256 pix_diff;
#X msg 366 232 pix_subtract;
#X msg 366 207 pix_add;
#X msg 367 184 pix_composite;
#X text 469 281 multiply 2 images together;
#X obj 254 87 pix_image ../data/dancer.JPG;
#X obj 290 136 pix_image ../data/fractal.JPG;
#X text 465 259 difference;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X connect 0 0 5 0;
#X connect 1 0 16 0;
#X connect 2 0 15 0;
#X connect 4 0 0 0;
#X connect 9 0 4 2;
#X connect 10 0 4 2;
#X connect 11 0 4 2;
#X connect 12 0 4 2;
#X connect 13 0 4 2;
#X connect 15 0 4 0;
#X connect 16 0 4 1;
#X connect 19 0 20 0;
#X connect 20 0 19 0;

View file

@ -0,0 +1,54 @@
#N canvas 246 168 681 468 10;
#X obj 270 175 pix_image ../data/dancer.JPG;
#X obj 270 338 pix_texture;
#X obj 270 379 square;
#X msg 329 360 3;
#X obj 270 278 pix_composite;
#X obj 369 209 gemhead 20;
#X obj 270 142 gemhead;
#X obj 270 207 pix_alpha;
#X msg 370 141 open ../data/dancer.JPG;
#X obj 369 244 pix_image ../data/fractal.JPG;
#X text 135 60 blending \, using the alpha-mask;
#X obj 20 79 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 123 pd gemwin;
#X msg 25 105 create;
#X text 21 79 Create window and render;
#X connect 0 0 7 0;
#X connect 1 0 2 0;
#X connect 3 0 2 1;
#X connect 4 0 1 0;
#X connect 5 0 9 0;
#X connect 6 0 0 0;
#X connect 7 0 4 0;
#X connect 8 0 0 0;
#X connect 9 0 4 1;
#X connect 12 0 13 0;
#X connect 13 0 12 0;

View file

@ -0,0 +1,55 @@
#N canvas 58 175 600 500 10;
#X obj 288 247 pix_image ../data/dancer.JPG;
#X obj 270 153 gemhead;
#X obj 270 188 pix_image ../data/fractal.JPG;
#X obj 288 214 gemhead 20;
#X obj 270 278 pix_multiply;
#X text 296 84 multiply two images together;
#X text 270 116 the dancer image is just black and white;
#X text 104 25 blending \, using multiplication;
#X obj 270 318 pix_texture;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 689 152 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X msg 27 83 color 1 1 1 0;
#X obj 66 65 t b b;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 4 1 1 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X obj 270 379 square 3;
#X connect 0 0 4 1;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X connect 4 0 8 0;
#X connect 8 0 13 0;
#X connect 10 0 11 0;
#X connect 11 0 10 0;

View file

@ -0,0 +1,55 @@
#N canvas 4 20 600 500 10;
#X obj 270 278 pix_mask;
#X obj 288 247 pix_image ../data/dancer.JPG;
#X obj 270 153 gemhead;
#X obj 270 312 alpha;
#X obj 270 188 pix_image ../data/fractal.JPG;
#X obj 270 338 pix_texture;
#X obj 288 214 gemhead 20;
#X obj 270 379 square 3;
#X text 234 59 blending \, using mask;
#X obj 20 89 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 88 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X msg 25 82 color 1 1 1 0;
#X obj 88 64 t b b;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 4 1 1 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 133 pd gemwin;
#X msg 25 109 create;
#X text 21 89 Create window and render;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 0 0;
#X connect 5 0 7 0;
#X connect 6 0 1 0;
#X connect 10 0 11 0;
#X connect 11 0 10 0;

View file

@ -0,0 +1,64 @@
#N canvas 426 68 613 402 10;
#X obj 257 92 gemhead;
#X obj 343 168 gemhead;
#X obj 257 244 pix_takealpha;
#X text 18 24 takes the alpha-channel of another image;
#X obj 456 269 pix_texture;
#X obj 456 336 square;
#X obj 456 310 translateXYZ 2 0 0;
#X obj 257 314 translateXYZ -2 0 0;
#X obj 456 289 alpha;
#X obj 257 342 square 2;
#X obj 257 270 pix_texture;
#X obj 257 290 alpha;
#X text 403 173 load an image with an alpha-mask;
#X text 355 245 take the alpha-mask of img2;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X obj 343 210 t a a;
#X obj 257 125 pix_image ../data/temp2.JPG;
#X obj 343 190 pix_image ../data/fractalAlpha.TIF;
#X connect 0 0 19 0;
#X connect 1 0 20 0;
#X connect 2 0 10 0;
#X connect 4 0 8 0;
#X connect 6 0 5 0;
#X connect 7 0 9 0;
#X connect 8 0 6 0;
#X connect 10 0 11 0;
#X connect 11 0 7 0;
#X connect 15 0 16 0;
#X connect 16 0 15 0;
#X connect 18 0 2 1;
#X connect 18 1 4 0;
#X connect 19 0 2 0;
#X connect 20 0 18 0;

View file

@ -0,0 +1,82 @@
#N canvas 78 67 719 587 10;
#X obj 332 30 gemhead;
#X obj 332 371 pix_texture;
#X msg 375 394 4;
#X obj 332 76 pix_image ../data/fractal.JPG;
#X obj 332 302 pix_alpha;
#X obj 332 421 square;
#X obj 332 336 alpha;
#X msg 456 166 1 1 1;
#X msg 459 243 0 0 0;
#X msg 356 219 0.5;
#X msg 348 185 1;
#X msg 457 209 1 0.5 0.5;
#X msg 362 255 0;
#X text 212 222 set the alpha value;
#X text 394 138 set the high threshold;
#N canvas 12 0 271 246 cube 0;
#X obj 69 39 gemhead 20;
#X obj 69 71 translateXYZ 0 0 -4;
#X obj 69 205 cube;
#X obj 69 180 rotateXYZ;
#X obj 69 112 render_trigger;
#X obj 115 141 i;
#X obj 145 142 + 1;
#X obj 180 143 % 360;
#X connect 0 0 1 0;
#X connect 1 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 4 1 5 0;
#X connect 5 0 6 0;
#X connect 5 0 3 1;
#X connect 5 0 3 2;
#X connect 5 0 3 3;
#X connect 6 0 7 0;
#X connect 7 0 5 1;
#X restore 444 551 pd cube in the back;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X connect 0 0 3 0;
#X connect 1 0 5 0;
#X connect 2 0 5 1;
#X connect 3 0 4 0;
#X connect 4 0 6 0;
#X connect 6 0 1 0;
#X connect 7 0 4 3;
#X connect 8 0 4 3;
#X connect 9 0 4 1;
#X connect 10 0 4 1;
#X connect 11 0 4 3;
#X connect 12 0 4 1;
#X connect 17 0 18 0;
#X connect 18 0 17 0;

View file

@ -0,0 +1,78 @@
#N canvas 28 0 713 500 10;
#X obj 135 336 pix_texture;
#X obj 135 393 square 2;
#X obj 135 171 pix_image ../data/fractalAlpha.TIF;
#X obj 135 308 pix_a_2grey 0.5;
#X obj 135 215 translateXYZ -2 0 0;
#X obj 386 140 gemhead;
#X obj 386 309 pix_texture;
#X obj 386 402 square 2;
#X obj 386 171 pix_image ../data/fractalAlpha.TIF;
#X obj 386 348 alpha;
#X obj 386 209 translateXYZ 2 0 0;
#X obj 228 13 pix_a_2grey;
#X text 261 55 grey's out all pixels \, of which the alpha-channel
is above a certain threshold;
#X obj 240 269 hsl 128 15 -1 1 0 0 empty empty empty 20 8 0 8 -262144
-1 -1 3100 1;
#X msg 237 246 0;
#X msg 266 246 0.5;
#X obj 20 39 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 21 39 Create window and render;
#X obj 135 139 gemhead;
#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 1 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 28 61 pd gemwin;
#X floatatom 237 288 5 -1 1 0 - - -;
#X connect 0 0 1 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X connect 4 0 3 0;
#X connect 5 0 8 0;
#X connect 6 0 9 0;
#X connect 8 0 10 0;
#X connect 9 0 7 0;
#X connect 10 0 6 0;
#X connect 13 0 20 0;
#X connect 14 0 13 0;
#X connect 15 0 13 0;
#X connect 18 0 2 0;
#X connect 20 0 3 1;

View file

@ -0,0 +1,45 @@
#N canvas 204 170 691 547 10;
#X obj 308 140 gemhead;
#X obj 308 374 pix_texture;
#X obj 308 402 square 2;
#X obj 308 171 pix_image ../data/fractalAlpha.TIF;
#X obj 308 297 pix_2grey;
#X obj 20 159 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 203 pd gemwin;
#X msg 25 179 create;
#X text 21 159 Create window and render;
#X text 64 81 greys out all pixels (but pixel-values are still in RGBA)
;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 4 0 1 0;
#X connect 6 0 7 0;
#X connect 7 0 6 0;

View file

@ -0,0 +1,72 @@
#N canvas 111 106 885 510 10;
#X floatatom 664 182 0 0 0 0 - - -;
#X obj 664 210 / 100;
#X floatatom 610 163 0 0 0 0 - - -;
#X obj 610 192 / 100;
#X obj 343 56 gemhead;
#X obj 343 319 pix_texture;
#X msg 394 359 4;
#X floatatom 556 121 0 0 0 0 - - -;
#X obj 556 149 / 100;
#X obj 343 268 pix_gain;
#X obj 556 241 pack 0 0 0;
#X obj 343 387 triangle;
#X text 356 341 click here to change the size of the triangle;
#X msg 570 213 bang;
#X obj 343 82 pix_image ../data/fractal.JPG;
#X obj 364 134 vsl 15 128 0 1 0 0 empty empty empty 20 8 0 8 -262144
-1 -1 0 1;
#X text 382 141 overall factor;
#X text 632 121 color-wise factor;
#X text 103 453 using [pix_gain] is probably very expensive (since
it does operations on your CPU). Try using [color] if your card has
openGL-hw-accleration...;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X connect 0 0 1 0;
#X connect 1 0 10 2;
#X connect 1 0 13 0;
#X connect 2 0 3 0;
#X connect 3 0 10 1;
#X connect 3 0 13 0;
#X connect 4 0 14 0;
#X connect 5 0 11 0;
#X connect 6 0 11 1;
#X connect 7 0 8 0;
#X connect 8 0 10 0;
#X connect 9 0 5 0;
#X connect 10 0 9 2;
#X connect 13 0 10 0;
#X connect 14 0 9 0;
#X connect 15 0 9 1;
#X connect 20 0 21 0;
#X connect 21 0 20 0;

View file

@ -0,0 +1,180 @@
#N canvas 119 33 764 634 10;
#N canvas 285 0 681 629 tables 0;
#N canvas 0 0 450 300 (subpatch) 0;
#X array red 256 float 0;
#X coords 0 255 255 0 256 140 1;
#X restore 95 30 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array green 256 float 0;
#X coords 0 255 255 0 256 140 1;
#X restore 399 29 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array blue 256 float 0;
#X coords 0 255 255 0 256 140 1;
#X restore 98 214 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array alpha 64 float 0;
#X coords 0 255 63 0 256 140 1;
#X restore 396 212 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array edge 8 float 0;
#X coords 0 255 7 0 256 140 1;
#X restore 49 440 graph;
#X text 319 459 set all black and white pixels to black.;
#X text 318 477 set all "grey" pixels (the transients) to white.;
#X restore 219 225 pd tables;
#X obj 30 272 gemhead;
#X obj 30 468 pix_texture;
#N canvas 0 0 450 300 (subpatch) 0;
#X array rgba 67 float 0;
#X coords 0 256 66 0 256 140 1;
#X restore 217 70 graph;
#X text 78 8 pix_curve: adjust the colour of an image;
#X text 291 227 separate tables for r \, g \, b and a;
#X obj 466 274 pix_curve rgba;
#X obj 469 324 pix_curve red green blue;
#X obj 470 373 pix_curve red green blue alpha;
#X text 504 291 one curve for all channels;
#X text 505 391 curves for r \, g \, b \, a;
#X text 500 341 curves for r \, g \, b \; leave a unchanged;
#X msg 507 127 \; rgba cosinesum 64 128 128;
#X obj 30 393 pix_curve rgba;
#N canvas 328 58 600 502 init 0;
#X obj 93 39 loadbang;
#X msg 115 87 \; rgba resize 256 \; red resize 256 green resize 256
\; blue resize 256 \; alpha resize 64 \; alpha const 128;
#X obj 93 197 t b b;
#X msg 93 219 256;
#X msg 125 218 0;
#X obj 93 241 until;
#X obj 93 262 i;
#X obj 123 261 + 1;
#X msg 93 177 bang;
#X obj 93 283 t f f f;
#X obj 93 370 tabwrite rgba;
#X msg 93 348 \$1 \$1;
#X obj 210 304 / 255;
#X obj 210 326 sqrt;
#X obj 210 347 * 255;
#X obj 210 395 tabwrite red;
#X obj 210 373 pack 0 0;
#X obj 319 456 tabwrite green;
#X obj 104 395 tabwrite blue;
#X obj 93 63 t b b b;
#X msg 364 83 \; edge resize 8 \; edge const 255 \; edge 0 0 \; edge
7 0;
#X obj 319 393 unpack;
#X obj 319 413 - 255;
#X obj 319 432 * -1;
#X obj 362 413 - 255;
#X obj 362 432 * -1;
#X connect 0 0 19 0;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 3 0 5 0;
#X connect 4 0 6 1;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 6 0 9 0;
#X connect 7 0 6 1;
#X connect 8 0 2 0;
#X connect 9 0 11 0;
#X connect 9 1 12 0;
#X connect 9 2 16 1;
#X connect 11 0 10 0;
#X connect 11 0 18 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 16 0;
#X connect 16 0 15 0;
#X connect 16 0 21 0;
#X connect 19 0 8 0;
#X connect 19 1 1 0;
#X connect 19 2 20 0;
#X connect 21 0 22 0;
#X connect 21 1 24 0;
#X connect 22 0 23 0;
#X connect 23 0 17 0;
#X connect 24 0 25 0;
#X connect 25 0 17 1;
#X restore 604 470 pd init;
#X msg 284 275 set rgba;
#X msg 282 325 set red green blue;
#X msg 278 375 set red green blue alpha;
#X text 505 110 an alternative colour-curve;
#X text 228 56 paint your own curve;
#X obj 30 509 square 2;
#X obj 30 488 translateXYZ -2 0 0;
#X obj 244 486 gemhead;
#X obj 244 548 pix_texture;
#X obj 244 569 translateXYZ 2 0 0;
#X obj 244 527 pix_curve edge;
#N canvas 80 38 600 318 pix_update 0;
#X obj 59 115 inlet;
#X obj 59 227 outlet;
#X text 61 19 this is quite a dummy-routine:;
#X text 78 47 just multiply the pix-buffer with 1 (do nothing !) \,
and make it thereby dirty \, so that the pix_curve routines are going
to be called....;
#X text 56 272 maybe this could be done more easily..?;
#X obj 59 202 pix_buf;
#X obj 59 156 t a b;
#X connect 0 0 6 0;
#X connect 5 0 1 0;
#X connect 6 0 5 0;
#X connect 6 1 5 0;
#X restore 30 331 pd pix_update;
#X obj 244 592 square 2;
#X obj 30 435 alpha;
#X obj 30 303 pix_image ../data/fractal.JPG;
#X obj 244 506 pix_image ../data/dancer.JPG;
#X obj 11 151 cnv 15 200 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X obj 132 193 gemwin;
#X obj 132 135 t a;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 0 5 0;
#X connect 2 1 4 0;
#X connect 2 1 6 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 9 0;
#X connect 6 0 9 0;
#X connect 7 0 9 0;
#X connect 9 0 8 0;
#X restore 16 195 pd gemwin;
#X msg 16 171 create;
#X text 12 151 Create window and render;
#X connect 1 0 29 0;
#X connect 2 0 21 0;
#X connect 13 0 28 0;
#X connect 15 0 13 0;
#X connect 16 0 13 0;
#X connect 17 0 13 0;
#X connect 21 0 20 0;
#X connect 22 0 30 0;
#X connect 23 0 24 0;
#X connect 24 0 27 0;
#X connect 25 0 23 0;
#X connect 26 0 13 0;
#X connect 28 0 2 0;
#X connect 29 0 26 0;
#X connect 30 0 25 0;
#X connect 32 0 33 0;
#X connect 33 0 32 0;

View file

@ -0,0 +1,60 @@
#N canvas 10 20 769 486 10;
#X obj 252 258 gemhead;
#X obj 252 313 pix_image ../data/fractal.JPG;
#X obj 252 343 pix_colormatrix;
#X msg 351 223 0 1 0 0 0 1 1 0 0;
#X msg 321 157 0 0 1 1 0 0 0 1 0;
#X msg 284 61 1 0 0 0 0 1 0 1 0;
#X obj 252 371 pix_texture;
#X obj 252 411 square;
#X msg 312 110 1 0 0 0 1 0 0 0 1;
#X text 460 156 shift colors: red->[0 \, 0 \, 1]=blue \; green->[1
\, 0 \, 0]=red \; blue->[0 \, 1 \, 0]=green;
#X text 469 97 unity matrix: [1 \, 0 \, 0 \; 0 \, 1 \, 0 \; 0 \, 0
\, 1];
#X text 446 47 swap green and blue: [1 \, 0 \, 0 \; 0 \, 0 \, 1 \;
0 \, 1 \, 0];
#X text 480 210 shift colors: red->[0 \, 1 \, 0]=green \; green->[0
\, 0 \, 1]=blue \; blue->[1 \, 0 \, 0]=red;
#X text 26 23 matrix-multiply the RGB-vector;
#X obj 41 142 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 46 186 pd gemwin;
#X msg 46 162 create;
#X text 42 142 Create window and render;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 6 0;
#X connect 3 0 2 1;
#X connect 4 0 2 1;
#X connect 5 0 2 1;
#X connect 6 0 7 0;
#X connect 8 0 2 1;
#X connect 15 0 16 0;
#X connect 16 0 15 0;

View file

@ -0,0 +1,106 @@
#N canvas 150 20 846 728 12;
#X obj 575 515 s matrix;
#X obj 502 516 s scale;
#X msg 502 483 1;
#X obj 575 404 s matrix;
#X obj 502 405 s scale;
#X msg 502 372 1;
#X obj 572 311 s matrix;
#X obj 499 312 s scale;
#X msg 499 279 1;
#X obj 572 206 s matrix;
#X obj 499 207 s scale;
#X msg 499 174 1;
#X obj 576 106 s matrix;
#X obj 503 107 s scale;
#X msg 503 74 1;
#X obj 320 153 s matrix;
#X obj 247 154 s scale;
#X msg 247 121 1;
#X msg 576 47 -1 -1 -1 -1 8 -1 -1 -1 -1;
#X msg 572 146 -1 -4 -1 -4 20 -4 -1 -4 -1;
#X msg 314 517 1 2 1 2 4 2 1 2 1;
#X text 506 10 edge detection matrices;
#X text 506 26 scale = 1;
#X text 234 497 scale = 16;
#X text 234 482 smoothing matrix;
#X obj 14 330 gemhead;
#X obj 14 522 pix_texture;
#X obj 14 356 pix_image ../data/fractal.JPG;
#X obj 14 455 pix_convolve 3 3;
#X msg 320 92 0 0 0 0 1 0 0 0 0;
#X msg 572 248 0 -1 0 0 2 0 0 -1 0;
#X msg 575 450 -1 0 -1 0 4 0 -1 0 -1;
#X msg 575 343 0 0 0 -1 2 -1 0 0 0;
#X obj 314 596 s matrix;
#X obj 153 423 r matrix;
#X obj 241 596 s scale;
#X obj 83 422 r scale;
#X text 241 72 scale = 1;
#X text 241 55 identity matrix;
#X obj 14 547 square 4;
#X obj 20 219 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 263 pd gemwin;
#X msg 25 239 create;
#X text 21 219 Create window and render;
#X msg 241 545 1 16;
#X obj 241 571 /;
#X text 43 650 a good start for the scale is the sum of all the elements
;
#X connect 2 0 1 0;
#X connect 5 0 4 0;
#X connect 8 0 7 0;
#X connect 11 0 10 0;
#X connect 14 0 13 0;
#X connect 17 0 16 0;
#X connect 18 0 14 0;
#X connect 18 0 12 0;
#X connect 19 0 11 0;
#X connect 19 0 9 0;
#X connect 20 0 44 0;
#X connect 20 0 33 0;
#X connect 25 0 27 0;
#X connect 26 0 39 0;
#X connect 27 0 28 0;
#X connect 28 0 26 0;
#X connect 29 0 17 0;
#X connect 29 0 15 0;
#X connect 30 0 8 0;
#X connect 30 0 6 0;
#X connect 31 0 2 0;
#X connect 31 0 0 0;
#X connect 32 0 5 0;
#X connect 32 0 3 0;
#X connect 34 0 28 2;
#X connect 36 0 28 1;
#X connect 41 0 42 0;
#X connect 42 0 41 0;
#X connect 44 0 45 0;
#X connect 45 0 35 0;

View file

@ -0,0 +1,108 @@
#N canvas 269 10 753 499 10;
#X msg 360 312 set;
#X floatatom 401 209 4 0 0 0 - - -;
#X floatatom 442 209 4 0 0 0 - - -;
#X obj 441 229 t b f;
#X floatatom 491 209 4 0 0 0 - - -;
#X obj 490 229 t b f;
#X floatatom 532 208 4 0 0 0 - - -;
#X obj 531 228 t b f;
#X floatatom 576 210 4 0 0 0 - - -;
#X obj 575 230 t b f;
#X text 257 23 calculates the following difference equation:;
#X text 261 38 y(n) = ff1 * w(n) + ff2 * w(n-1) + ff3 * w(n-2);
#X floatatom 621 210 4 0 0 0 - - -;
#X obj 620 230 t b f;
#X obj 407 260 pack 0 0 0 0 0 0;
#X text 265 55 w(n) = fb0 * x(n) + fb1 * w(n-1) + fb2 * w(n-2);
#X msg 403 98 1 0 0 1 0 0;
#X msg 403 121 1 0 0 0.2 0.2 0.6;
#X obj 35 224 gemhead;
#X obj 35 300 pix_texture;
#X obj 35 324 square 3;
#X text 403 190 fb0;
#X text 443 190 fb1;
#X text 494 189 fb2;
#X text 533 186 ff1;
#X text 582 187 ff2;
#X text 623 186 ff3;
#X obj 355 257 t l;
#X msg 175 218 0;
#X msg 202 218 1;
#X msg 231 218 2;
#X text 551 94 route through;
#X text 553 120 a low-pass;
#X text 34 391 pix_biquad: fb0 fb1 fb2 ff1 ff2 ff3;
#X text 338 377 very(*) similar to the pd-object;
#X obj 572 375 biquad~;
#X text 336 406 *: but not exactly the same;
#X text 390 312 set w(n-1) and w(n-2) to the next(!) x(n);
#X obj 35 274 pix_biquad;
#X msg 404 150 0.05 0.8 0.15 0.2 0.2 0.6;
#X text 587 148 a LOW-pass;
#X text 397 331 (important for hard feedback-loops);
#X text 98 455 no sanity check is done for the coefficients !;
#X text 151 200 click these OFTEN !;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X obj 35 247 pix_multiimage ../data/temp*.JPG 2;
#X connect 0 0 38 0;
#X connect 1 0 14 0;
#X connect 2 0 3 0;
#X connect 3 0 14 0;
#X connect 3 1 14 1;
#X connect 4 0 5 0;
#X connect 5 0 14 0;
#X connect 5 1 14 2;
#X connect 6 0 7 0;
#X connect 7 0 14 0;
#X connect 7 1 14 3;
#X connect 8 0 9 0;
#X connect 9 0 14 0;
#X connect 9 1 14 4;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 13 1 14 5;
#X connect 14 0 27 0;
#X connect 16 0 27 0;
#X connect 17 0 27 0;
#X connect 18 0 48 0;
#X connect 19 0 20 0;
#X connect 27 0 38 0;
#X connect 28 0 48 1;
#X connect 29 0 48 1;
#X connect 30 0 48 1;
#X connect 38 0 19 0;
#X connect 39 0 27 0;
#X connect 45 0 46 0;
#X connect 46 0 45 0;
#X connect 48 0 38 0;

View file

@ -0,0 +1,108 @@
#N canvas 0 0 626 514 10;
#X floatatom 107 437 5 0 0 0 - - -;
#X floatatom 160 436 5 0 0 0 - - -;
#X floatatom 219 435 5 0 0 0 - - -;
#X obj 54 338 pix_blob 1;
#X msg 86 227 0;
#X msg 94 250 1;
#X msg 101 271 2;
#X msg 107 292 3;
#X msg 110 313 4;
#X text 119 456 X;
#X text 173 456 Y;
#X text 230 455 size;
#X text 135 228 grey (default);
#X text 136 250 red;
#X text 136 269 green;
#X text 137 291 blue;
#X text 137 313 alpha;
#X text 327 20 pix_blob;
#X text 324 32 =========;
#X text 276 48 get the center of gravity in a picture;
#X msg 288 298 1 0.5 0.5 1;
#X msg 284 274 0.33;
#X msg 276 252 1 1 2;
#X text 328 252 ==;
#X msg 355 251 1 1 2 0;
#X msg 356 274 0.33 0.33 0.33 0;
#X text 326 275 ==;
#X msg 363 112 bang;
#X obj 363 134 t b b;
#X msg 428 114 bang;
#X obj 428 136 t b b;
#X text 341 454 size = 0..1;
#X text 341 425 x/y-coordinates from lower-left \; 0..1;
#X text 329 96 upper-left;
#X text 428 93 lower-right;
#X obj 54 176 pix_multiimage ../data/blob*.tif 2;
#X obj 54 148 gemhead;
#X msg 154 116 0;
#X msg 154 136 1;
#X msg 154 154 2;
#X obj 54 469 pix_texture;
#X obj 54 492 square 4;
#X msg 139 496 quality 0;
#X obj 139 475 loadbang;
#X text 307 233 rgb(a)-color;
#X obj 276 320 t b l;
#X obj 20 19 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 63 pd gemwin;
#X msg 25 39 create;
#X text 21 19 Create window and render;
#X connect 3 0 40 0;
#X connect 3 1 0 0;
#X connect 3 2 1 0;
#X connect 3 3 2 0;
#X connect 4 0 3 1;
#X connect 5 0 3 1;
#X connect 6 0 3 1;
#X connect 7 0 3 1;
#X connect 8 0 3 1;
#X connect 20 0 45 0;
#X connect 21 0 45 0;
#X connect 22 0 45 0;
#X connect 27 0 28 0;
#X connect 28 0 39 0;
#X connect 28 1 5 0;
#X connect 29 0 30 0;
#X connect 30 0 39 0;
#X connect 30 1 7 0;
#X connect 35 0 3 0;
#X connect 36 0 35 0;
#X connect 37 0 35 1;
#X connect 38 0 35 1;
#X connect 39 0 35 1;
#X connect 40 0 41 0;
#X connect 42 0 40 0;
#X connect 43 0 42 0;
#X connect 45 0 39 0;
#X connect 45 1 3 2;
#X connect 47 0 48 0;
#X connect 48 0 47 0;

View file

@ -0,0 +1,102 @@
#N canvas 228 84 794 352 10;
#X floatatom 279 191 5 0 0 0 - - -;
#X obj 266 241 pix_tIIR 2 2;
#X obj 279 211 * 0.01;
#X obj 279 146 unpack 30 60 10 50 50 -20;
#X floatatom 328 191 5 0 0 0 - - -;
#X obj 328 211 * 0.01;
#X floatatom 375 191 5 0 0 0 - - -;
#X obj 375 211 * 0.01;
#X floatatom 424 191 5 0 0 0 - - -;
#X obj 424 211 * 0.01;
#X floatatom 471 191 5 0 0 0 - - -;
#X obj 471 211 * 0.01;
#X floatatom 520 191 5 0 0 0 - - -;
#X obj 520 211 * 0.01;
#X msg 279 100 bang;
#X obj 266 38 gemhead;
#X msg 601 44 auto \$1;
#X obj 601 25 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 279 122 pack 30 60 10 50 50 -20;
#X floatatom 461 64 5 0 0 0 - - -;
#X floatatom 351 86 5 0 0 0 - - -;
#X obj 266 262 pix_texture;
#X msg 421 27 open ../data/alea.mpg;
#X msg 421 7 open \$1;
#X obj 483 7 openpanel;
#X obj 573 5 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 446 63 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 266 61 pix_film ../data/alea.mpg;
#X obj 266 309 square 3;
#X obj 266 286 rotateXYZ 0 -30 0;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X connect 0 0 2 0;
#X connect 1 0 21 0;
#X connect 2 0 1 1;
#X connect 3 0 0 0;
#X connect 3 1 4 0;
#X connect 3 2 6 0;
#X connect 3 3 8 0;
#X connect 3 4 10 0;
#X connect 3 5 12 0;
#X connect 4 0 5 0;
#X connect 5 0 1 2;
#X connect 6 0 7 0;
#X connect 7 0 1 3;
#X connect 8 0 9 0;
#X connect 9 0 1 4;
#X connect 10 0 11 0;
#X connect 11 0 1 5;
#X connect 12 0 13 0;
#X connect 13 0 1 6;
#X connect 14 0 18 0;
#X connect 15 0 27 0;
#X connect 16 0 27 0;
#X connect 17 0 16 0;
#X connect 18 0 3 0;
#X connect 19 0 27 1;
#X connect 21 0 29 0;
#X connect 22 0 27 0;
#X connect 23 0 27 0;
#X connect 24 0 23 0;
#X connect 25 0 24 0;
#X connect 26 0 19 0;
#X connect 27 0 1 0;
#X connect 27 1 20 0;
#X connect 27 2 26 0;
#X connect 29 0 28 0;
#X connect 31 0 32 0;
#X connect 32 0 31 0;

View file

@ -0,0 +1,137 @@
#N canvas 0 0 832 589 10;
#X obj 62 327 gemhead;
#X obj 62 369 pix_texture;
#X obj 62 392 square 4;
#X obj 316 316 gemhead;
#X obj 316 342 pix_film;
#X obj 316 387 t a b;
#X obj 361 430 i;
#X obj 388 430 + 1;
#X obj 361 408 spigot;
#X obj 398 364 t b b;
#X msg 398 387 1;
#X msg 455 388 0;
#X obj 398 339 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 419 339 start recording into the buffer;
#X msg 398 296 open \$1;
#X obj 398 275 openpanel;
#X obj 398 257 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 477 240 ../data/anim-1.mov;
#X msg 477 260 ../data/alea.mpg;
#X msg 478 216 ../data/homer.avi;
#X obj 477 282 symbol;
#X floatatom 155 321 5 0 0 0 - - -;
#X text 195 320 index;
#X msg 408 408 0;
#X obj 571 401 gemhead;
#X obj 571 427 pix_image ../data/fractal.JPG;
#X floatatom 423 497 5 0 0 0 - - -;
#X msg 405 318 auto 1;
#X msg 457 319 0;
#X obj 361 456 moses 10;
#X floatatom 663 406 5 0 0 0 - - -;
#X msg 663 386 5;
#X text 467 493 put the next image into "myImages" @ index;
#X msg 140 390 set yourImages;
#X msg 212 490 set yourImages;
#X text 213 473 set the storage-name;
#X obj 62 349 pix_buffer_read myImages;
#X obj 316 515 pix_buffer_write myImages;
#X obj 571 453 pix_buffer_write myImages;
#X text 291 539 write an image into a certain storage-buffer;
#X text 15 422 read an image from a certain storage-buffer;
#X text 17 302 get an image from the pix_buffer;
#X obj 33 227 pix_buffer yourImages 10;
#X obj 20 69 cnv 15 200 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#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 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X text 284 32 ============;
#X text 236 48 store/get images into/from a buffer;
#X msg 226 77 bang;
#X floatatom 226 174 5 0 0 0 - - -;
#X text 265 77 get the size of the depot;
#X msg 237 116 allocate 128 64 4;
#X text 371 104 pre-allocate each image-buffer to hold at east 128*64*4
pixels;
#X text 388 155 a storage-place for "10" pix-images called "myImages"
;
#X obj 226 153 pix_buffer myImages 10;
#X text 287 20 [pix_buffer];
#X msg 353 181 open ../data/fractal.JPG 5;
#X text 524 182 load an image into a certain storage-buffer;
#X connect 0 0 36 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 37 0;
#X connect 5 1 8 0;
#X connect 6 0 7 0;
#X connect 6 0 29 0;
#X connect 7 0 6 1;
#X connect 8 0 6 0;
#X connect 9 0 10 0;
#X connect 9 1 23 0;
#X connect 10 0 8 1;
#X connect 11 0 8 1;
#X connect 11 0 31 0;
#X connect 12 0 9 0;
#X connect 14 0 4 0;
#X connect 14 0 12 0;
#X connect 14 0 27 0;
#X connect 14 0 28 0;
#X connect 15 0 14 0;
#X connect 16 0 15 0;
#X connect 17 0 20 0;
#X connect 18 0 20 0;
#X connect 19 0 20 0;
#X connect 20 0 14 0;
#X connect 21 0 36 1;
#X connect 23 0 6 1;
#X connect 24 0 25 0;
#X connect 25 0 38 0;
#X connect 26 0 37 1;
#X connect 27 0 4 0;
#X connect 28 0 4 1;
#X connect 29 0 26 0;
#X connect 29 1 11 0;
#X connect 30 0 38 1;
#X connect 31 0 30 0;
#X connect 33 0 36 0;
#X connect 34 0 37 0;
#X connect 36 0 1 0;
#X connect 44 0 45 0;
#X connect 45 0 44 0;
#X connect 49 0 55 0;
#X connect 52 0 55 0;
#X connect 55 0 50 0;
#X connect 57 0 55 0;

View file

@ -0,0 +1,88 @@
#N canvas 0 0 826 651 10;
#X msg 112 86 create \, 1;
#X obj 112 131 gemwin;
#X obj 311 112 pix_buffer \$0-framebuffer 2;
#X obj 620 108 gemhead 5;
#X obj 620 129 world_light;
#X msg 129 108 lighting 1;
#X text 44 5 you can render a scene into a framebuffer \, then take
a snapshot of the framebuffer with [pix_snap] and use this as an ordinary
pix (where you can apply effects and all kind of weird things);
#X obj 75 439 cnv 15 250 130 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 161 269 cnv 15 150 150 empty empty scene 20 12 0 14 -233017
-66577 0;
#X obj 82 196 gemhead 20;
#X obj 82 220 gemframebuffer;
#X msg 163 195 dimen 256 256;
#X obj 167 331 rotateXYZ;
#X obj 167 376 teapot;
#X obj 82 266 t a a b;
#X obj 187 293 i;
#X obj 220 292 + 1;
#X obj 250 291 % 360;
#X obj 82 453 t a b;
#X msg 114 474 snap;
#X obj 82 522 t a b;
#X msg 296 527 1;
#X obj 82 547 pix_buffer_write \$0-framebuffer;
#X obj 410 262 gemhead 30;
#X obj 410 306 t a b;
#X msg 465 307 1;
#X obj 410 331 pix_buffer_read \$0-framebuffer;
#X obj 410 411 pix_texture;
#X obj 410 476 square 3;
#X obj 82 243 translateXYZ 0 0 -4;
#X obj 82 498 pix_snap 0 0 256 256;
#X obj 167 353 color 1 0 1;
#X floatatom 226 313 5 0 0 0 - - -;
#X obj 410 453 rotateXYZ;
#X floatatom 445 433 5 0 0 0 - - -;
#X text 318 130 temporary storage;
#X obj 163 175 loadbang;
#X text 130 451 later usage;
#X text 129 436 snapshot and store image for;
#X text 562 308 fetch framebuffer-pix;
#X text 535 379 apply some nifty FX;
#X text 73 597 note \, that there are more efficient ways to apply
FX to framebuffers (noteably openGL-shaders: see examples/10.glsl/
for more information);
#X obj 425 358 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 410 380 pix_kaleidoscope;
#X connect 0 0 1 0;
#X connect 3 0 4 0;
#X connect 5 0 1 0;
#X connect 9 0 10 0;
#X connect 10 0 29 0;
#X connect 11 0 10 0;
#X connect 12 0 31 0;
#X connect 14 0 18 0;
#X connect 14 1 12 0;
#X connect 14 2 15 0;
#X connect 15 0 16 0;
#X connect 15 0 12 1;
#X connect 15 0 12 2;
#X connect 16 0 17 0;
#X connect 17 0 15 1;
#X connect 18 0 30 0;
#X connect 18 1 19 0;
#X connect 19 0 30 0;
#X connect 20 0 22 0;
#X connect 20 1 21 0;
#X connect 21 0 22 1;
#X connect 23 0 24 0;
#X connect 24 0 26 0;
#X connect 24 1 25 0;
#X connect 25 0 26 1;
#X connect 26 0 43 0;
#X connect 27 0 33 0;
#X connect 29 0 14 0;
#X connect 30 0 20 0;
#X connect 31 0 13 0;
#X connect 32 0 12 3;
#X connect 33 0 28 0;
#X connect 34 0 33 2;
#X connect 36 0 11 0;
#X connect 42 0 43 0;
#X connect 43 0 27 0;

View file

@ -0,0 +1,147 @@
#N canvas 306 348 825 508 10;
#X obj 191 393 pix_texture;
#X obj 463 158 gemwin;
#X msg 506 135 0 \, destroy;
#X msg 55 316 quality 0;
#X obj 31 200 pix_crop 0 0 6 8;
#X obj 31 363 pix_texture;
#X obj 31 403 rectangle 1 1;
#X obj 55 296 loadbang;
#X obj 31 10 gemhead 10;
#X msg 463 117 dimen 1024 256 \, color 1 1 1 1 \, create \, 1;
#X obj 31 383 translateXYZ 0 2.25 0;
#N canvas 8 120 750 300 grab-ascii 0;
#X obj 76 13 key;
#X obj 76 34 moses 65;
#X obj 121 54 moses 91;
#X obj 166 84 moses 97;
#X obj 211 104 moses 123;
#X obj 153 198 outlet;
#X obj 211 124 - 97;
#X text 174 54 from A to Z (65 to 90);
#X text 276 102 from a to z (97 to 122);
#X text 137 221 remap from 0 to 25;
#X obj 121 75 - 65;
#X obj 334 232 outlet;
#X text 326 249 bang on <ENTER>;
#X obj 455 232 outlet;
#X floatatom 41 74 5 0 0 0 - - -;
#X obj 334 179 sel 10 32 8;
#X obj 565 232 outlet;
#X text 556 249 bang on <DEL>;
#X text 446 249 bang on <SPACE>;
#X obj 303 209 loadbang;
#X connect 0 0 1 0;
#X connect 0 0 14 0;
#X connect 1 0 15 0;
#X connect 1 1 2 0;
#X connect 2 0 10 0;
#X connect 2 1 3 0;
#X connect 3 1 4 0;
#X connect 4 0 6 0;
#X connect 6 0 5 0;
#X connect 10 0 5 0;
#X connect 15 0 11 0;
#X connect 15 1 13 0;
#X connect 15 2 16 0;
#X connect 19 0 11 0;
#X restore 73 51 pd grab-ascii;
#X obj 100 132 f;
#X obj 413 248 loadbang;
#X obj 280 149 * 6;
#X obj 73 158 * 6;
#X msg 135 92 0;
#X obj 191 413 translateXYZ 0 -2.25 0;
#X obj 191 433 rectangle 16 -1;
#X obj 191 263 gemhead 9;
#X obj 135 72 t b b;
#X obj 73 178 t b b f;
#X obj 31 29 pix_image ../data/bitmap_font_6x8.bmp;
#X obj 463 64 bng 15 250 50 0 empty empty empty 17 7 0 10 -4034 -1
-1;
#X text 499 85 2 type something with your keyboard;
#X text 310 22 <- this is the bitmap font;
#X obj 31 138 pix_grey;
#X obj 73 92 t f b;
#X obj 127 132 + 1;
#X text 485 231 - key in range A-Z and a-z;
#X text 510 212 features :;
#X text 485 241 - space bar add a space...;
#X text 485 251 - enter reset all;
#X text 520 283 purpose :;
#X text 495 299 - orginally design to drive a LED matrix;
#X msg 280 258 roi \$1 \$2 \$3 \$4;
#X obj 280 171 t f f;
#X obj 280 213 pack 0 0 0 8;
#X obj 334 192 + 6;
#N canvas 12 49 450 300 normalize 0;
#X obj 84 70 inlet x1 y1 x2 y2;
#X obj 84 92 unpack 0 0 0 0;
#X obj 84 184 pack 0 0 0 0;
#X obj 84 206 outlet X1 Y1 X2 Y2;
#X obj 84 144 / 120;
#X obj 134 144 / 8;
#X obj 184 144 / 120;
#X obj 234 144 / 8;
#X text 288 112 adding 0.5 to make;
#X text 288 125 rounding easier...;
#X connect 0 0 1 0;
#X connect 1 0 4 0;
#X connect 1 1 5 0;
#X connect 1 2 6 0;
#X connect 1 3 7 0;
#X connect 2 0 3 0;
#X connect 4 0 2 0;
#X connect 5 0 2 1;
#X connect 6 0 2 2;
#X connect 7 0 2 3;
#X restore 280 237 pd normalize;
#X msg 413 268 grey \, fill 1 \, bang;
#X obj 31 250 pix_dump;
#X text 481 65 <- 1 click here to start rendering;
#X obj 191 334 pix_roi 0 0 0 0;
#X text 306 336 initialize to non-existent ROI;
#X obj 191 362 pix_set 120 8;
#X connect 0 0 17 0;
#X connect 2 0 1 0;
#X connect 3 0 0 0;
#X connect 3 0 5 0;
#X connect 4 0 41 0;
#X connect 5 0 10 0;
#X connect 7 0 3 0;
#X connect 8 0 22 0;
#X connect 9 0 1 0;
#X connect 10 0 6 0;
#X connect 11 0 27 0;
#X connect 11 1 20 0;
#X connect 11 2 12 0;
#X connect 12 0 28 0;
#X connect 12 0 14 0;
#X connect 13 0 40 0;
#X connect 14 0 36 0;
#X connect 15 0 21 0;
#X connect 16 0 12 0;
#X connect 17 0 18 0;
#X connect 19 0 43 0;
#X connect 20 0 16 0;
#X connect 20 1 40 0;
#X connect 21 0 41 0;
#X connect 21 1 8 0;
#X connect 21 2 4 3;
#X connect 22 0 26 0;
#X connect 23 0 9 0;
#X connect 26 0 4 0;
#X connect 27 0 15 0;
#X connect 27 1 12 0;
#X connect 28 0 12 1;
#X connect 35 0 43 0;
#X connect 36 0 37 0;
#X connect 36 1 38 0;
#X connect 37 0 39 0;
#X connect 38 0 37 2;
#X connect 39 0 35 0;
#X connect 40 0 45 0;
#X connect 41 0 5 0;
#X connect 41 1 45 1;
#X connect 43 0 45 0;
#X connect 45 0 0 0;

View file

@ -0,0 +1,87 @@
#N canvas 147 59 659 387 12;
#X obj 134 180 cnv 15 500 40 empty empty empty 20 12 0 14 -245500 -66577
0;
#X obj 55 78 gemhead;
#X obj 55 299 rectangle 4 3;
#X obj 55 265 pix_texture;
#X obj 55 229 pix_video;
#X msg 142 190 dialog;
#X text 49 16 Click on the [create( message to see live video in Gem.
(You must have a camera attached before loading this patch).;
#X text 199 188 pop-up dialog to configure the camera (Windows and
Mac OS X);
#X msg 98 139 device 0;
#N canvas 162 133 570 420 serin 0;
#X obj 205 60 cnv 20 20 20 empty \$0-open-canvas 0 4 10 0 16 -233017
-1 0;
#X obj 60 61 hradio 18 1 1 8 empty empty empty 0 -6 0 8 -225271 -1
-1 0;
#X obj 60 13 inlet;
#X msg 200 202 label \$1;
#X obj 200 180 makefilename %d;
#X obj 59 108 int;
#X obj 59 337 outlet;
#X msg 201 306 set \$1 \$2;
#X obj 59 266 trigger bang anything;
#X obj 201 286 list;
#X obj 200 225 send \$0-open-canvas;
#X msg 60 210 device \$1;
#X connect 1 0 5 0;
#X connect 2 0 1 0;
#X connect 3 0 10 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 5 0 11 0;
#X connect 7 0 6 0;
#X connect 8 0 6 0;
#X connect 8 1 9 0;
#X connect 9 0 7 0;
#X connect 11 0 8 0;
#X coords 0 -1 1 1 165 20 1 60 60;
#X restore 98 115 pd serin;
#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 502 304 pd gemwin;
#X connect 1 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 8 0 4 0;
#X connect 9 0 8 0;

View file

@ -0,0 +1,123 @@
#N canvas 38 374 800 574 10;
#X obj 50 130 gemhead;
#X obj 50 493 square;
#X obj 50 371 alpha;
#X obj 50 174 pix_video;
#X obj 50 267 pix_texture;
#X msg 136 456 4;
#X msg 167 456 2;
#X obj 50 392 depth;
#X obj 50 243 pix_threshold;
#X text 375 217 click on bang to;
#X text 187 90 click on these for fun;
#X text 388 69 turn on rendering before turning on the metro.;
#X text 437 86 If you don't \, it may crash/not work;
#X text 375 229 clear the screen;
#X obj 50 447 rotate;
#X obj 50 89 t b b;
#X floatatom 192 179 5 0 100 2 threshold - -;
#X obj 50 9 tgl 15 0 empty empty run 0 -6 0 10 -4034 -1 -1 0 1;
#X obj 195 144 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -228856
-1 -1 0 1;
#X obj 176 230 hsl 128 15 0 1 0 1 empty empty R 12 8 1 12 -261689 -1
-1 12700 1;
#X obj 176 250 hsl 128 15 0 1 0 1 empty empty G 12 8 1 12 -225271 -1
-1 12700 1;
#X obj 176 270 hsl 128 15 0 1 0 1 empty empty B 12 8 1 12 -228992 -1
-1 12700 1;
#X obj 218 458 hsl 128 15 0.5 5 0 0 empty empty empty -2 -6 0 10 -232576
-1 -1 0 1;
#X floatatom 219 481 5 0 0 0 - - -;
#X obj 83 40 hsl 128 15 10 127 0 1 empty empty empty -2 -6 0 10 -204786
-1 -1 9900 1;
#X floatatom 93 63 5 0 0 0 - - -;
#X obj 50 62 metro;
#X obj 207 354 + 1;
#X obj 482 243 bng 15 250 50 0 empty empty empty 0 -6 0 10 -128992
-1 -1;
#X msg 80 18 100;
#X obj 176 290 hsl 128 15 0 1 0 1 empty empty A 12 8 1 12 -195568 -1
-1 12700 1;
#X obj 50 319 colorRGB 1 1 1 0.15;
#X obj 233 354 % 360;
#X obj 180 354 i;
#X floatatom 180 375 5 0 0 0 - - -;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X obj 118 113 outlet;
#X msg 118 81 reset \, buffer 1;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 533 345 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 503 362 pd gemwin;
#X connect 0 0 3 0;
#X connect 2 0 7 0;
#X connect 3 0 8 0;
#X connect 4 0 31 0;
#X connect 5 0 1 1;
#X connect 6 0 1 1;
#X connect 7 0 14 0;
#X connect 8 0 4 0;
#X connect 14 0 1 0;
#X connect 15 0 0 0;
#X connect 15 1 33 0;
#X connect 16 0 8 1;
#X connect 17 0 26 0;
#X connect 18 0 16 0;
#X connect 19 0 31 1;
#X connect 20 0 31 2;
#X connect 21 0 31 3;
#X connect 22 0 1 1;
#X connect 22 0 23 0;
#X connect 24 0 25 0;
#X connect 24 0 26 1;
#X connect 26 0 15 0;
#X connect 27 0 32 0;
#X connect 28 0 36 0;
#X connect 29 0 24 0;
#X connect 30 0 31 4;
#X connect 31 0 2 0;
#X connect 32 0 33 1;
#X connect 33 0 27 0;
#X connect 33 0 34 0;
#X connect 34 0 14 1;
#X connect 35 0 36 0;

View file

@ -0,0 +1,99 @@
#N canvas 84 483 743 466 10;
#X obj 57 215 pix_texture;
#X text 187 75 click on any of these;
#X text 40 25 texture live video onto a sphere;
#X obj 183 196 hsl 128 15 0 360 0 0 empty empty X 12 8 1 12 -233017
-1 -1 0 1;
#X obj 183 216 hsl 128 15 0 360 0 0 empty empty Y 12 8 1 12 -233017
-1 -1 0 1;
#X obj 183 236 hsl 128 15 0 360 0 0 empty empty Z 12 8 1 12 -233017
-1 -1 0 1;
#X obj 57 255 rotateXYZ 0 0 0;
#X obj 183 266 hsl 128 15 0 1 0 1 empty empty R 12 8 1 12 -261689 -1
-1 12700 1;
#X obj 183 286 hsl 128 15 0 1 0 1 empty empty G 12 8 1 12 -225271 -1
-1 12700 1;
#X obj 183 306 hsl 128 15 0 1 0 1 empty empty B 12 8 1 12 -228992 -1
-1 12700 1;
#X obj 57 325 colorRGB 1 1 1;
#X obj 57 70 gemhead;
#X obj 57 114 pix_video;
#X obj 57 163 pix_threshold;
#X floatatom 185 122 5 0 100 1 threshold - -;
#X obj 184 103 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -228856
-1 -1 0 1;
#X obj 183 348 hsl 128 15 0.5 5 0 1 empty empty empty -2 -6 0 10 -232576
-1 -1 4233 1;
#X floatatom 185 367 5 0 0 1 size - -;
#X obj 183 388 hsl 128 15 5 50 0 1 empty empty empty -2 -6 0 10 -204800
-1 -1 12700 1;
#X floatatom 185 407 5 0 0 1 segments - -;
#X obj 57 410 sphere;
#X msg 182 143 0.1 0.1 0.1;
#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 488 249 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 458 266 pd gemwin;
#X connect 0 0 6 0;
#X connect 3 0 6 1;
#X connect 4 0 6 2;
#X connect 5 0 6 3;
#X connect 6 0 10 0;
#X connect 7 0 10 1;
#X connect 8 0 10 2;
#X connect 9 0 10 3;
#X connect 10 0 20 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 0 0;
#X connect 15 0 14 0;
#X connect 15 0 13 1;
#X connect 16 0 17 0;
#X connect 16 0 20 1;
#X connect 18 0 19 0;
#X connect 18 0 20 2;
#X connect 21 0 13 2;
#X connect 22 0 23 0;

View file

@ -0,0 +1,87 @@
#N canvas 378 405 793 522 10;
#X floatatom 227 258 6 0 0 0 - - -;
#X floatatom 280 258 6 0 0 0 - - -;
#X floatatom 339 258 6 0 0 0 - - -;
#X obj 44 222 pix_blob 4;
#X obj 44 91 gemhead;
#X obj 44 150 pix_movement;
#X obj 44 364 pix_texture;
#X obj 44 401 square 4;
#X obj 201 383 gemhead;
#X obj 201 407 translateXYZ;
#X obj 201 434 cube 0.5;
#X obj 227 304 * 8;
#X obj 227 326 - 4;
#X obj 280 304 * 8;
#X obj 280 326 - 4;
#X obj 339 325 * 2;
#X obj 44 117 pix_video;
#X text 57 40 a very simple movement detector;
#X text 388 255 <<- calculate world-coordinates from normalized pix-coordinates
;
#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 511 359 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 481 376 pd gemwin;
#X connect 0 0 11 0;
#X connect 1 0 13 0;
#X connect 2 0 15 0;
#X connect 3 0 6 0;
#X connect 3 1 0 0;
#X connect 3 2 1 0;
#X connect 3 3 2 0;
#X connect 4 0 16 0;
#X connect 5 0 3 0;
#X connect 6 0 7 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 11 0 12 0;
#X connect 12 0 9 1;
#X connect 13 0 14 0;
#X connect 14 0 9 2;
#X connect 15 0 9 3;
#X connect 16 0 5 0;
#X connect 19 0 20 0;

View file

@ -0,0 +1,101 @@
#N canvas 67 70 636 509 10;
#X obj 43 89 gemhead;
#X obj 190 380 pix_texture;
#X obj 43 380 pix_texture;
#X obj 190 298 pix_rtx;
#X msg 328 180 clear;
#X msg 327 270 mode 1;
#X msg 327 247 mode 0;
#X text 380 179 clear the buffer;
#X text 47 14 pix_rtx;
#X text 188 14 transform the x-axis into the t-axis and vice-versa
on the fly;
#X text 42 447 upper-picture;
#X text 198 448 lower-picture;
#X text 38 465 NO transformation;
#X text 198 467 RTX-tranformed;
#X text 46 24 =======;
#X text 380 248 lock time on x-axis;
#X text 376 272 lock x on x-axis;
#X text 495 272 (default);
#X msg 329 211 set;
#X text 363 213 fill the buffer with current frame;
#X obj 43 113 pix_video;
#X obj 190 401 translateXYZ 0 -2 0;
#X obj 43 184 separator;
#X obj 190 185 separator;
#X obj 43 401 translateXYZ 0 2 0;
#X obj 190 208 pix_separator;
#X obj 190 422 rectangle 3 1.5;
#X obj 43 422 rectangle 3 1.5;
#X msg 177 96 dimen 256 128;
#X msg 177 117 dimen 64 64;
#X text 281 101 pix-streams to be rtx-transformed must have the same
properties (width \, height \, colorspace) \;;
#X obj 43 149 trigger anything anything;
#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 454 405 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 424 422 pd gemwin;
#X connect 0 0 20 0;
#X connect 1 0 21 0;
#X connect 2 0 24 0;
#X connect 3 0 1 0;
#X connect 4 0 3 0;
#X connect 5 0 3 0;
#X connect 6 0 3 0;
#X connect 18 0 3 0;
#X connect 20 0 31 0;
#X connect 21 0 26 0;
#X connect 22 0 2 0;
#X connect 23 0 25 0;
#X connect 24 0 27 0;
#X connect 25 0 3 0;
#X connect 28 0 20 0;
#X connect 29 0 20 0;
#X connect 31 0 22 0;
#X connect 31 1 23 0;
#X connect 32 0 33 0;

View file

@ -0,0 +1,109 @@
#N canvas 109 48 758 483 10;
#X obj 29 30 gemhead;
#X obj 29 163 pix_video;
#X obj 29 100 gemframebuffer;
#X obj 29 122 translateXYZ 0 0 -4;
#X obj 559 342 pix_texture;
#X obj 559 410 rectangle 4 3;
#X obj 559 315 pix_rtx;
#X obj 29 185 pix_texture;
#X obj 29 245 square 4;
#X obj 159 365 pix_snap;
#X obj 204 322 loadbang;
#X msg 69 325 snap;
#X obj 159 434 pix_buffer_write \$0-depot;
#X obj 43 56 loadbang;
#X obj 559 262 pix_buffer_read \$0-depot;
#X obj 559 172 gemhead 51;
#X floatatom 116 193 5 0 0 0 - - -;
#X obj 29 215 rotateXYZ 0 0 0;
#X msg 306 413 0;
#X obj 362 420 pix_buffer \$0-depot 1;
#X msg 700 241 0;
#X text 43 11 render rotated video into buffer;
#X text 528 148 feed the buffer into pix_rtx;
#X obj 119 171 hsl 128 15 0 360 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X obj 159 387 trigger anything bang;
#X text 117 155 rotate the video image;
#X text 111 280 this is how you write to a framebuffer (pix_buffer)
;
#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 547 62 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 546 79 pd gemwin;
#X msg 204 344 256 256;
#X msg 43 76 dimen 256 256;
#X obj 69 305 t b a;
#X obj 559 212 t a b;
#X connect 0 0 2 0;
#X connect 1 0 7 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 5 0;
#X connect 6 0 4 0;
#X connect 7 0 17 0;
#X connect 8 0 31 0;
#X connect 9 0 24 0;
#X connect 10 0 29 0;
#X connect 11 0 9 0;
#X connect 13 0 30 0;
#X connect 14 0 6 0;
#X connect 15 0 32 0;
#X connect 16 0 17 3;
#X connect 17 0 8 0;
#X connect 18 0 12 1;
#X connect 20 0 14 1;
#X connect 23 0 16 0;
#X connect 24 0 12 0;
#X connect 24 1 18 0;
#X connect 27 0 28 0;
#X connect 29 0 9 2;
#X connect 30 0 2 0;
#X connect 31 0 11 0;
#X connect 31 1 9 0;
#X connect 32 0 14 0;
#X connect 32 1 20 0;

View file

@ -0,0 +1,184 @@
#N canvas 42 41 639 499 10;
#X obj 140 80 gemhead;
#X obj 140 271 pix_diff;
#X obj 23 397 pix_texture;
#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 534 15 pd gemwin;
#X obj 23 442 rectangle 4 3;
#X obj 140 198 pix_separator;
#X obj 229 198 pix_separator;
#X obj 140 134 pix_grey;
#X obj 140 109 pix_video;
#X obj 140 346 pix_blob;
#N canvas 10 40 620 460 cursor 0;
#X obj 17 14 inlet;
#X obj 89 18 inlet;
#X obj 101 346 translateXYZ;
#X text 63 148 0.64;
#X text 37 151 1;
#X obj 23 63 t f f;
#X obj 37 176 -;
#X text 62 177 X-Range;
#X text 196 176 Y-Range;
#X obj 63 240 expr (8/$f1);
#X obj 33 241 -;
#X obj 51 267 *;
#X obj 29 95 max 0;
#X obj 71 95 min 10;
#X obj 59 132 f;
#X obj 33 131 f;
#X obj 52 293 - 4;
#X text 193 146 0.64;
#X text 167 149 1;
#X obj 153 61 t f f;
#X obj 167 174 -;
#X obj 193 238 expr (8/$f1);
#X obj 163 239 -;
#X obj 181 265 *;
#X obj 159 93 max 0;
#X obj 201 93 min 10;
#X obj 189 130 f;
#X obj 163 129 f;
#X text 188 171 comment;
#X obj 154 298 expr (-1*$f1)+4;
#X obj 293 27 inlet;
#X obj 94 320 gemhead 15;
#X obj 157 509 circle 0.1;
#X obj 17 423 separator;
#X obj 87 423 separator;
#X obj 17 484 rectangle 0.2 0.01;
#X obj 157 423 separator;
#X msg 185 478 draw line;
#X obj 185 457 loadbang;
#X obj 77 386 colorRGB 1 0 0 1;
#X obj 17 462 rectangle 0.01 0.2;
#X msg 256 478 width \$1;
#X obj 296 342 int;
#X obj 275 413 + 1;
#X obj 283 63 * 100;
#X connect 0 0 5 0;
#X connect 1 0 19 0;
#X connect 2 0 39 0;
#X connect 5 0 10 0;
#X connect 5 0 12 0;
#X connect 5 1 13 0;
#X connect 6 0 9 0;
#X connect 9 0 11 1;
#X connect 10 0 11 0;
#X connect 11 0 16 0;
#X connect 12 0 15 0;
#X connect 13 0 14 0;
#X connect 14 0 6 1;
#X connect 14 0 10 1;
#X connect 14 0 13 1;
#X connect 15 0 6 0;
#X connect 15 0 12 1;
#X connect 16 0 2 1;
#X connect 19 0 22 0;
#X connect 19 0 24 0;
#X connect 19 1 25 0;
#X connect 20 0 21 0;
#X connect 21 0 23 1;
#X connect 22 0 23 0;
#X connect 23 0 29 0;
#X connect 24 0 27 0;
#X connect 25 0 26 0;
#X connect 26 0 20 1;
#X connect 26 0 22 1;
#X connect 26 0 25 1;
#X connect 27 0 20 0;
#X connect 27 0 24 1;
#X connect 29 0 2 2;
#X connect 30 0 44 0;
#X connect 31 0 2 0;
#X connect 33 0 40 0;
#X connect 34 0 35 0;
#X connect 36 0 32 0;
#X connect 37 0 32 0;
#X connect 38 0 37 0;
#X connect 39 0 33 0;
#X connect 39 0 34 0;
#X connect 39 0 36 0;
#X connect 41 0 32 0;
#X connect 42 0 43 0;
#X connect 43 0 41 0;
#X connect 44 0 32 1;
#X connect 44 0 42 0;
#X restore 154 388 pd cursor;
#X obj 23 420 translateXYZ 0 0 -0.1;
#X obj 140 316 pix_threshold;
#X obj 180 294 hsl 128 15 0 1 0 1 empty empty threshold 8 8 0 10 -262130
-1 -1 900 0;
#X obj 229 230 pix_delay 1;
#X text 28 12 This is an example of simple video tracking using the
difference between the current frame and the previous frame \, then
using blob detection.;
#X text 356 108 <-- get the video camera;
#X text 356 133 <-- convert to grey for easier tracking;
#X text 356 196 <-- make two copies of the frame;
#X obj 140 165 trigger anything anything;
#X text 356 229 <-- delay one copy by one frame;
#X text 356 305 <-- set the threshold to filter out;
#X text 381 281 difference between the two frames;
#X text 356 270 <-- find the absolute value of the;
#X text 381 316 small changes;
#X text 356 344 <-- track the (x \, y) coordinates and size;
#X text 380 357 of the "blob" of the difference;
#X text 356 384 <-- render a cursor using the (x \, y) and size;
#X text 6 460 render the video of the;
#X text 6 472 frame difference;
#X connect 0 0 8 0;
#X connect 1 0 12 0;
#X connect 2 0 11 0;
#X connect 5 0 1 0;
#X connect 6 0 14 0;
#X connect 7 0 19 0;
#X connect 8 0 7 0;
#X connect 9 1 10 0;
#X connect 9 2 10 1;
#X connect 9 3 10 2;
#X connect 11 0 4 0;
#X connect 12 0 9 0;
#X connect 12 0 2 0;
#X connect 13 0 12 1;
#X connect 14 0 1 1;
#X connect 19 0 6 0;
#X connect 19 1 5 0;

View file

@ -0,0 +1,184 @@
#N canvas 22 22 620 460 10;
#X obj 8 10 cnv 15 400 40 empty empty tracking_using_background_subtraction
20 12 0 16 -228992 -66577 0;
#X obj 179 223 pix_grey;
#X msg 204 251 reset;
#X obj 179 280 pix_background;
#X msg 272 259 \$1 \$1 \$1;
#X obj 123 316 pix_blob;
#N canvas 10 40 620 460 cursor 0;
#X obj 17 14 inlet;
#X obj 89 18 inlet;
#X obj 101 346 translateXYZ;
#X text 63 148 0.64;
#X text 37 151 1;
#X obj 23 63 t f f;
#X obj 37 176 -;
#X text 62 177 X-Range;
#X text 196 176 Y-Range;
#X obj 63 240 expr (8/$f1);
#X obj 33 241 -;
#X obj 51 267 *;
#X obj 29 95 max 0;
#X obj 71 95 min 10;
#X obj 59 132 f;
#X obj 33 131 f;
#X obj 52 293 - 4;
#X text 193 146 0.64;
#X text 167 149 1;
#X obj 153 61 t f f;
#X obj 167 174 -;
#X obj 193 238 expr (8/$f1);
#X obj 163 239 -;
#X obj 181 265 *;
#X obj 159 93 max 0;
#X obj 201 93 min 10;
#X obj 189 130 f;
#X obj 163 129 f;
#X text 188 171 comment;
#X obj 154 298 expr (-1*$f1)+4;
#X obj 293 27 inlet;
#X obj 283 63 * 10;
#X obj 94 320 gemhead 15;
#X obj 157 509 circle 0.1;
#X obj 17 423 separator;
#X obj 87 423 separator;
#X obj 17 484 rectangle 0.2 0.01;
#X obj 157 423 separator;
#X msg 185 478 draw line;
#X obj 185 457 loadbang;
#X obj 77 386 colorRGB 1 0 0 1;
#X obj 17 462 rectangle 0.01 0.2;
#X msg 256 478 width \$1;
#X obj 296 342 int;
#X obj 275 413 + 1;
#X connect 0 0 5 0;
#X connect 1 0 19 0;
#X connect 2 0 40 0;
#X connect 5 0 10 0;
#X connect 5 0 12 0;
#X connect 5 1 13 0;
#X connect 6 0 9 0;
#X connect 9 0 11 1;
#X connect 10 0 11 0;
#X connect 11 0 16 0;
#X connect 12 0 15 0;
#X connect 13 0 14 0;
#X connect 14 0 6 1;
#X connect 14 0 10 1;
#X connect 14 0 13 1;
#X connect 15 0 6 0;
#X connect 15 0 12 1;
#X connect 16 0 2 1;
#X connect 19 0 22 0;
#X connect 19 0 24 0;
#X connect 19 1 25 0;
#X connect 20 0 21 0;
#X connect 21 0 23 1;
#X connect 22 0 23 0;
#X connect 23 0 29 0;
#X connect 24 0 27 0;
#X connect 25 0 26 0;
#X connect 26 0 20 1;
#X connect 26 0 22 1;
#X connect 26 0 25 1;
#X connect 27 0 20 0;
#X connect 27 0 24 1;
#X connect 29 0 2 2;
#X connect 30 0 31 0;
#X connect 31 0 33 1;
#X connect 31 0 43 0;
#X connect 32 0 2 0;
#X connect 34 0 41 0;
#X connect 35 0 36 0;
#X connect 37 0 33 0;
#X connect 38 0 33 0;
#X connect 39 0 38 0;
#X connect 40 0 34 0;
#X connect 40 0 35 0;
#X connect 40 0 37 0;
#X connect 42 0 33 0;
#X connect 43 0 44 0;
#X connect 44 0 42 0;
#X restore 137 348 pd cursor;
#X obj 392 163 separator;
#X obj 392 184 pix_texture;
#X obj 392 205 square 4;
#X obj 378 368 pix_texture;
#X obj 179 200 separator;
#X obj 378 348 alpha;
#X obj 378 328 colourRGB 1 1 1 0.65;
#X obj 378 388 translateXYZ -2.4 -2.4 0;
#X obj 378 408 square 1.5;
#X obj 337 98 gemhead 10;
#X obj 337 119 pix_video;
#X text 376 309 Show pix_background output;
#X text 136 369 Show centroid/size;
#X text 368 257 Set noise threshold;
#X text 391 145 Render source video;
#X obj 275 237 hsl 128 15 0 1 0 1 empty empty empty -2 -8 0 10 -262130
-1 -1 1200 1;
#X floatatom 331 259 5 0 0 0 - - -;
#X text 21 64 1) make sure no one is in the camera picture;
#X text 21 84 2) click the [reset( message;
#X text 21 104 3) set the noise threshold for best results;
#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 483 25 pd gemwin;
#X connect 1 0 3 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 3 0 13 0;
#X connect 4 0 3 1;
#X connect 5 1 6 0;
#X connect 5 2 6 1;
#X connect 5 3 6 2;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 10 0 14 0;
#X connect 11 0 1 0;
#X connect 12 0 10 0;
#X connect 13 0 12 0;
#X connect 14 0 15 0;
#X connect 16 0 17 0;
#X connect 17 0 7 0;
#X connect 17 0 11 0;
#X connect 22 0 23 0;
#X connect 22 0 4 0;

View file

@ -0,0 +1,109 @@
#N canvas 55 233 930 428 10;
#X obj 297 283 separator;
#X obj 297 304 pix_texture;
#X obj 96 130 gemhead 10;
#X obj 96 190 pix_video;
#X text 298 264 Render source video;
#X obj 297 344 square 4;
#X msg 166 153 device 2;
#N canvas 162 133 570 420 serin 0;
#X obj 205 60 cnv 20 20 20 empty \$0-open-canvas 2 4 10 0 16 -233017
-1 0;
#X obj 60 61 hradio 18 1 1 8 empty empty empty 0 -6 0 8 -225271 -1
-1 2;
#X obj 60 13 inlet;
#X msg 200 202 label \$1;
#X obj 200 180 makefilename %d;
#X obj 59 108 int;
#X obj 59 337 outlet;
#X msg 201 306 set \$1 \$2;
#X obj 59 266 trigger bang anything;
#X obj 201 286 list;
#X obj 200 225 send \$0-open-canvas;
#X msg 60 210 device \$1;
#X connect 1 0 5 0;
#X connect 2 0 1 0;
#X connect 3 0 10 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 5 0 11 0;
#X connect 7 0 6 0;
#X connect 8 0 6 0;
#X connect 8 1 9 0;
#X connect 9 0 7 0;
#X connect 11 0 8 0;
#X coords 0 -1 1 1 165 20 1 60 60;
#X restore 166 129 pd serin;
#X msg 321 153 colorspace RGBA;
#X msg 430 152 dialog;
#X obj 297 324 rotateXYZ 0 180 0;
#X obj 65 285 pix_texture;
#X obj 65 347 square 1.5;
#X obj 65 326 rotateXYZ 0 180 0;
#X obj 65 305 translateXYZ -2.4 -2.4 0.1;
#X text 72 264 Show color detection output;
#N canvas 249 346 1447 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 388 14 pd gemwin;
#X text 6 21 Reliable colors are detected in an incoming video \, each
pixel being classified into 6 classes: Red \, Green \, Blue \, Yellow
\, Black \, and White. A light brown color is used to visualize the
pixels whose color could not be reliably classified. The detector is
high precision with moderate recall \, meaning it avoids false positives
at the expense of a smaller number of classified pixels.;
#X msg 228 153 dimen 320 240;
#X obj 65 240 pix_colorclassify;
#X text 7 385 Author: Ricardo Fabbri labmacambira.sf.net rfabbri at
gmail;
#X connect 0 0 1 0;
#X connect 1 0 10 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X connect 3 0 19 0;
#X connect 6 0 3 0;
#X connect 7 0 6 0;
#X connect 8 0 3 0;
#X connect 9 0 3 0;
#X connect 10 0 5 0;
#X connect 11 0 14 0;
#X connect 13 0 12 0;
#X connect 14 0 13 0;
#X connect 18 0 3 0;
#X connect 19 0 11 0;

View file

@ -0,0 +1,120 @@
#N canvas 262 20 734 641 10;
#X floatatom 623 223 0 0 0 0 - - -;
#X floatatom 322 240 0 0 0 0 - - -;
#X msg 490 144 1;
#X msg 494 168 0;
#X floatatom 694 403 0 0 0 0 - - -;
#X floatatom 529 284 3 0 0 0 - - -;
#X floatatom 578 222 0 0 0 0 - - -;
#X obj 479 194 gemhead;
#X floatatom 533 223 0 0 0 0 - - -;
#X msg 213 155 1;
#X msg 217 179 0;
#X floatatom 395 478 0 0 0 0 - - -;
#X floatatom 226 305 4 0 0 0 - - -;
#X floatatom 279 240 0 0 0 0 - - -;
#X obj 209 207 gemhead;
#X floatatom 235 240 0 0 0 0 - - -;
#X obj 208 496 text3d hello world;
#X obj 209 386 rotate;
#X obj 479 421 textoutline hello world;
#X msg 279 320 0 1 0;
#X msg 283 344 1 0 0;
#X msg 5 449 justify right top;
#X obj 209 281 translateXYZ;
#X msg 532 334 justify left bottom;
#X msg 4 422 justify center center;
#X text 205 111 3-D polygonal text;
#X text 480 99 3-D outline text;
#X obj 479 308 rotateXYZ;
#X text 401 496 size;
#X obj 479 257 translateXYZ 0 2 0;
#X msg 218 433 font ../data/vera.ttf;
#X msg 515 364 font ../data/vera.ttf;
#X msg 225 463 font \$1;
#X msg 511 390 font \$1;
#X obj 297 462 openpanel;
#X msg 377 461 bang;
#X obj 577 390 openpanel;
#X msg 657 389 bang;
#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 64 238 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 34 255 pd gemwin;
#X connect 0 0 29 3;
#X connect 1 0 22 3;
#X connect 2 0 7 0;
#X connect 3 0 7 0;
#X connect 4 0 18 1;
#X connect 5 0 27 2;
#X connect 6 0 29 2;
#X connect 7 0 29 0;
#X connect 8 0 29 1;
#X connect 9 0 14 0;
#X connect 10 0 14 0;
#X connect 11 0 16 1;
#X connect 12 0 17 1;
#X connect 13 0 22 2;
#X connect 14 0 22 0;
#X connect 15 0 22 1;
#X connect 17 0 16 0;
#X connect 19 0 17 2;
#X connect 20 0 17 2;
#X connect 21 0 16 0;
#X connect 22 0 17 0;
#X connect 23 0 18 0;
#X connect 24 0 16 0;
#X connect 27 0 18 0;
#X connect 29 0 27 0;
#X connect 30 0 16 0;
#X connect 31 0 18 0;
#X connect 32 0 16 0;
#X connect 33 0 18 0;
#X connect 34 0 32 0;
#X connect 35 0 34 0;
#X connect 36 0 33 0;
#X connect 37 0 36 0;
#X connect 38 0 39 0;

View file

@ -0,0 +1,112 @@
#N canvas 262 20 734 641 10;
#X floatatom 623 223 0 0 0 0 - - -;
#X floatatom 322 240 0 0 0 0 - - -;
#X msg 490 144 1;
#X msg 494 168 0;
#X floatatom 694 403 0 0 0 0 - - -;
#X floatatom 529 284 3 0 0 0 - - -;
#X floatatom 578 222 0 0 0 0 - - -;
#X obj 479 194 gemhead;
#X floatatom 533 223 0 0 0 0 - - -;
#X msg 213 155 1;
#X msg 217 179 0;
#X floatatom 395 478 0 0 0 0 - - -;
#X floatatom 226 305 4 0 0 0 - - -;
#X floatatom 279 240 0 0 0 0 - - -;
#X obj 209 207 gemhead;
#X floatatom 235 240 0 0 0 0 - - -;
#X obj 208 496 text3d hello world;
#X obj 209 386 rotate;
#X obj 479 421 textoutline hello world;
#X msg 279 320 0 1 0;
#X msg 283 344 1 0 0;
#X msg 5 449 justify right top;
#X obj 209 281 translateXYZ;
#X msg 532 334 justify left bottom;
#X msg 4 422 justify center center;
#X text 205 111 3-D polygonal text;
#X text 480 99 3-D outline text;
#X obj 479 308 rotateXYZ;
#X text 401 496 size;
#X obj 479 257 translateXYZ 0 2 0;
#X msg 218 433 font ../data/vera.ttf;
#X msg 515 364 font ../data/vera.ttf;
#X msg 225 463 font \$1;
#X msg 511 390 font \$1;
#X obj 297 462 openpanel;
#X msg 377 461 bang;
#X obj 577 390 openpanel;
#X msg 657 389 bang;
#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 34 255 pd gemwin;
#X connect 0 0 29 3;
#X connect 1 0 22 3;
#X connect 2 0 7 0;
#X connect 3 0 7 0;
#X connect 4 0 18 1;
#X connect 5 0 27 2;
#X connect 6 0 29 2;
#X connect 7 0 29 0;
#X connect 8 0 29 1;
#X connect 9 0 14 0;
#X connect 10 0 14 0;
#X connect 11 0 16 1;
#X connect 12 0 17 1;
#X connect 13 0 22 2;
#X connect 14 0 22 0;
#X connect 15 0 22 1;
#X connect 17 0 16 0;
#X connect 19 0 17 2;
#X connect 20 0 17 2;
#X connect 21 0 16 0;
#X connect 22 0 17 0;
#X connect 23 0 18 0;
#X connect 24 0 16 0;
#X connect 27 0 18 0;
#X connect 29 0 27 0;
#X connect 30 0 16 0;
#X connect 31 0 18 0;
#X connect 32 0 16 0;
#X connect 33 0 18 0;
#X connect 34 0 32 0;
#X connect 35 0 34 0;
#X connect 36 0 33 0;
#X connect 37 0 36 0;

View file

@ -0,0 +1,102 @@
#N canvas 262 100 734 532 10;
#X floatatom 495 359 0 0 0 0 - - -;
#X obj 451 243 gemhead;
#X obj 451 484 text3d hello world;
#X text 354 25 3-D polygonal text;
#X msg 240 303 text something really cool;
#X msg 222 275 text bar;
#X msg 188 248 text foo;
#X msg 141 225 text and now with 1 4.5;
#X obj 201 180 sel 0 1 2 3 4;
#X msg 216 50 1;
#X msg 250 50 0;
#X obj 216 111 metro 250;
#X obj 216 142 random 7;
#X msg 262 342 text good bye again;
#X msg 324 267 text rand \$1;
#X obj 451 270 translateXYZ 0 0 -3.5;
#X obj 495 298 metro 20;
#X obj 451 397 rotateXYZ;
#X obj 497 439 loadbang;
#X obj 495 321 i;
#X obj 527 321 + 1;
#X obj 557 321 % 360;
#X obj 216 79 t f;
#X msg 497 461 font ../data/vera.ttf;
#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 64 345 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 34 362 pd gemwin;
#X connect 0 0 17 2;
#X connect 1 0 15 0;
#X connect 4 0 2 0;
#X connect 5 0 2 0;
#X connect 6 0 2 0;
#X connect 7 0 2 0;
#X connect 8 0 7 0;
#X connect 8 1 6 0;
#X connect 8 2 5 0;
#X connect 8 3 4 0;
#X connect 8 4 13 0;
#X connect 8 5 14 0;
#X connect 9 0 22 0;
#X connect 10 0 22 0;
#X connect 11 0 12 0;
#X connect 12 0 8 0;
#X connect 13 0 2 0;
#X connect 14 0 2 0;
#X connect 15 0 17 0;
#X connect 16 0 19 0;
#X connect 17 0 2 0;
#X connect 18 0 23 0;
#X connect 19 0 20 0;
#X connect 19 0 0 0;
#X connect 20 0 21 0;
#X connect 21 0 19 1;
#X connect 22 0 11 0;
#X connect 22 0 16 0;
#X connect 23 0 2 0;
#X connect 24 0 25 0;

View file

@ -0,0 +1,92 @@
#N canvas 262 100 734 532 10;
#X floatatom 495 359 0 0 0 0 - - -;
#X obj 451 243 gemhead;
#X obj 451 484 text3d hello world;
#X text 354 25 3-D polygonal text;
#X msg 240 303 text something really cool;
#X msg 222 275 text bar;
#X msg 188 248 text foo;
#X msg 141 225 text and now with 1 4.5;
#X obj 201 180 sel 0 1 2 3 4;
#X msg 179 44 1;
#X msg 216 43 0;
#X obj 216 107 metro 250;
#X obj 216 142 random 7;
#X msg 262 342 text good bye again;
#X msg 324 267 text rand \$1;
#X obj 451 270 translateXYZ 0 0 -3.5;
#X obj 495 298 metro 20;
#X obj 451 397 rotateXYZ;
#X msg 497 461 font ../data/vera.ttf;
#X obj 216 85 t f;
#X obj 495 327 i;
#X obj 526 327 + 1;
#X obj 556 327 % 360;
#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 34 255 pd gemwin;
#X connect 0 0 17 2;
#X connect 1 0 15 0;
#X connect 4 0 2 0;
#X connect 5 0 2 0;
#X connect 6 0 2 0;
#X connect 7 0 2 0;
#X connect 8 0 7 0;
#X connect 8 1 6 0;
#X connect 8 2 5 0;
#X connect 8 3 4 0;
#X connect 8 4 13 0;
#X connect 8 5 14 0;
#X connect 9 0 19 0;
#X connect 10 0 19 0;
#X connect 11 0 12 0;
#X connect 12 0 8 0;
#X connect 13 0 2 0;
#X connect 14 0 2 0;
#X connect 15 0 17 0;
#X connect 16 0 20 0;
#X connect 17 0 2 0;
#X connect 18 0 2 0;
#X connect 19 0 11 0;
#X connect 19 0 16 0;
#X connect 20 0 21 0;
#X connect 20 0 0 0;
#X connect 21 0 22 0;
#X connect 22 0 20 1;

Binary file not shown.

View file

@ -0,0 +1,69 @@
#N canvas 509 196 487 398 10;
#X obj 167 160 gemhead;
#X obj 167 192 part_head;
#X obj 167 328 part_draw;
#X text 277 258 set the number per frame;
#X text 291 290 set the age to kill at;
#X text 296 110 the velocity domain;
#X text 295 125 a sphere at 0 \, 0.2 \, 0;
#X text 296 144 radius = 0.3;
#X msg 271 170 0 0.2 0 0.3;
#X msg 358 169 0.2 0 0 0.3;
#X obj 167 228 part_velocity sphere 0 0.2 0 0.3;
#X obj 167 261 part_source 20;
#X obj 167 292 part_killold 50;
#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 67 48 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 37 65 pd gemwin;
#X connect 0 0 1 0;
#X connect 1 0 10 0;
#X connect 8 0 10 2;
#X connect 9 0 10 2;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 2 0;
#X connect 13 0 14 0;

View file

@ -0,0 +1,86 @@
#N canvas 396 160 600 500 10;
#X obj 198 50 gemhead;
#X obj 198 82 part_head;
#X obj 198 136 part_color;
#X obj 198 447 part_draw;
#X msg 335 69 0 1 0;
#X text 329 37 set the color range;
#X obj 198 174 part_size 1;
#X text 299 126 set the size;
#X obj 198 331 part_gravity 0 -0.01 0;
#X obj 198 206 part_velocity sphere 0 0.2 0 0.2;
#X text 310 269 set the number per frame;
#X text 310 378 set the age to kill at;
#X text 366 327 gravity to affect the particles;
#X text 428 174 the velocity domain;
#X text 426 191 a sphere at 0 \, 0.2 \, 0;
#X msg 219 413 draw line;
#X msg 298 413 draw point;
#X msg 309 151 2;
#X msg 393 69 1 0 0;
#X obj 198 270 part_source 25;
#X obj 198 381 part_killold 45;
#X text 426 208 radius = 0.2;
#X msg 126 51 speed 0.1;
#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 64 159 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 34 176 pd gemwin;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 6 0;
#X connect 4 0 2 1;
#X connect 6 0 9 0;
#X connect 8 0 20 0;
#X connect 9 0 19 0;
#X connect 15 0 3 0;
#X connect 16 0 3 0;
#X connect 17 0 6 1;
#X connect 18 0 2 2;
#X connect 19 0 8 0;
#X connect 20 0 3 0;
#X connect 22 0 1 0;
#X connect 23 0 24 0;

View file

@ -0,0 +1,88 @@
#N canvas 396 160 600 500 10;
#X obj 198 50 gemhead;
#X obj 198 82 part_head;
#X obj 198 136 part_color;
#X obj 198 447 part_draw;
#X text 329 37 set the color range;
#X text 299 174 set the size;
#X text 310 269 set the number per frame;
#X text 310 378 set the age to kill at;
#X text 414 196 the velocity domain;
#X msg 219 413 draw line;
#X msg 298 413 draw point;
#X obj 198 270 part_source 25;
#X obj 198 381 part_killold 45;
#X text 412 230 radius = 0.2;
#X msg 336 97 1 0 1;
#X msg 396 98 0 1 0;
#X obj 198 220 part_velocity sphere 0 0 0 0.2;
#X floatatom 375 301 0 0 0 0 - - -;
#X obj 198 334 part_orbitpoint 0 1 0 0.08;
#X text 390 333 orbit point and gravity;
#X obj 198 174 part_size 0.4;
#X obj 360 61 loadbang;
#X text 411 213 a sphere at 0 0 0;
#X text 415 299 keep the gravity low;
#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 64 238 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 34 255 pd gemwin;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 20 0;
#X connect 9 0 3 0;
#X connect 10 0 3 0;
#X connect 11 0 18 0;
#X connect 12 0 3 0;
#X connect 14 0 2 1;
#X connect 15 0 2 2;
#X connect 16 0 11 0;
#X connect 17 0 18 2;
#X connect 18 0 12 0;
#X connect 20 0 16 0;
#X connect 21 0 15 0;
#X connect 21 0 14 0;
#X connect 24 0 25 0;

View file

@ -0,0 +1,104 @@
#N canvas 125 39 600 634 10;
#X obj 41 197 gemwin;
#X msg 41 39 create;
#X msg 58 68 destroy;
#X obj 198 39 gemhead;
#X obj 198 136 part_color;
#X obj 198 615 part_draw;
#X text 391 35 set the color range;
#X text 309 174 set the size;
#X text 330 269 set the number per frame;
#X text 330 458 set the age to kill at;
#X text 464 196 the velocity domain;
#X text 462 230 radius = 0.2;
#X floatatom 382 383 0 0 0 0 - - -;
#X text 420 413 orbit point and gravity;
#X obj 422 59 loadbang;
#X text 426 384 keep the gravity low;
#X obj 198 461 part_killold 35;
#X msg 398 95 0 0 1;
#X obj 198 174 part_size 0.8;
#X text 461 214 a sphere at -1 0 0;
#X text 373 300 apply a gravity to the right;
#X msg 85 357 0 1 0;
#X msg 143 357 0 -1 0;
#X obj 198 305 part_gravity 0.07 0 0;
#X obj 198 579 translateXYZ -1 0.5 0;
#X obj 198 544 rotateXYZ 0 1 0;
#X floatatom 20 442 0 0 0 0 - - -;
#X obj 198 414 part_orbitpoint 0 -1 0 0.88;
#X obj 198 497 part_gravity 0 0 -0.05;
#X obj 198 220 part_velocity sphere -1 0 0 0.05;
#X msg 458 96 1 0 0;
#X text 390 498 apply a gravity in Z;
#X obj 85 290 metro 2000;
#X obj 20 290 metro 50;
#X obj 198 82 part_head 2000;
#X text 204 60 maximum of 2000 particles;
#X obj 198 276 part_source 10;
#N canvas 91 174 290 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 90 175 pd Gem.init;
#X obj 79 104 tgl 40 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 55 249 t f f;
#X obj 20 403 i;
#X obj 51 403 + 1;
#X obj 81 403 % 360;
#X obj 79 149 t f f;
#N canvas 0 0 450 300 alternate 0;
#X obj 82 126 inlet;
#X obj 82 239 outlet;
#X obj 82 192 select 0 1;
#X obj 145 239 outlet;
#X obj 82 147 i;
#X obj 117 146 == 0;
#X obj 82 167 t f f;
#X connect 0 0 4 0;
#X connect 2 0 1 0;
#X connect 2 1 3 0;
#X connect 4 0 6 0;
#X connect 5 0 4 1;
#X connect 6 0 2 0;
#X connect 6 1 5 0;
#X restore 85 327 pd alternate;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 34 0;
#X connect 4 0 18 0;
#X connect 12 0 27 2;
#X connect 14 0 30 0;
#X connect 14 0 17 0;
#X connect 16 0 28 0;
#X connect 17 0 4 1;
#X connect 18 0 29 0;
#X connect 21 0 27 1;
#X connect 22 0 27 1;
#X connect 23 0 27 0;
#X connect 24 0 5 0;
#X connect 25 0 24 0;
#X connect 26 0 25 2;
#X connect 27 0 16 0;
#X connect 28 0 25 0;
#X connect 29 0 36 0;
#X connect 30 0 4 2;
#X connect 32 0 44 0;
#X connect 33 0 40 0;
#X connect 34 0 4 0;
#X connect 36 0 23 0;
#X connect 37 0 0 0;
#X connect 38 0 43 0;
#X connect 39 0 33 0;
#X connect 39 1 32 0;
#X connect 40 0 41 0;
#X connect 40 0 26 0;
#X connect 41 0 42 0;
#X connect 42 0 40 1;
#X connect 43 0 0 0;
#X connect 43 1 39 0;
#X connect 44 0 21 0;
#X connect 44 1 22 0;

View file

@ -0,0 +1,173 @@
#N canvas 336 24 600 774 10;
#X obj 198 50 gemhead;
#X obj 198 82 part_head;
#X obj 198 136 part_color;
#X obj 198 620 part_draw;
#X text 329 37 set the color range;
#X text 299 174 set the size;
#X text 310 269 set the number per frame;
#X text 321 588 set the age to kill at;
#X text 444 196 the velocity domain;
#X text 442 230 radius = 0.2;
#X obj 360 61 loadbang;
#X obj 198 586 part_killold 35;
#X obj 198 174 part_size 0.8;
#X text 441 214 a sphere at -1 0 0;
#X text 361 318 apply a gravity to the right;
#X obj 198 317 part_gravity 0.07 0 0;
#X obj 198 461 part_color;
#X obj 251 383 loadbang;
#X msg 275 421 0.4 0.4 0.4;
#X msg 227 420 1 0 0;
#X obj 198 277 part_source 5;
#X obj 198 497 part_source 5;
#X obj 198 537 part_gravity -0.01 -0.02 0;
#X obj 198 352 part_velocity sphere 0 0.2 0 0.05;
#X msg 324 96 0.4 0.4 0.4;
#X msg 423 96 0 1 0;
#X obj 198 220 part_velocity sphere -0.2 0 0 0.1;
#X obj 375 419 metro 1000;
#N canvas 0 22 450 300 tripleRand 0;
#X obj 94 71 inlet;
#X obj 94 252 outlet;
#X obj 94 221 pack 0 0 0;
#X obj 94 104 t b b b;
#X obj 94 134 random 1000;
#X obj 94 154 / 1000;
#X obj 94 175 * 0.1;
#X obj 194 134 random 1000;
#X obj 194 154 / 1000;
#X obj 294 134 random 1000;
#X obj 294 154 / 1000;
#X obj 194 175 * 0.2;
#X obj 294 175 * 0;
#X connect 0 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 4 0;
#X connect 3 1 7 0;
#X connect 3 2 9 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 2 0;
#X connect 7 0 8 0;
#X connect 8 0 11 0;
#X connect 9 0 10 0;
#X connect 10 0 12 0;
#X connect 11 0 2 1;
#X connect 12 0 2 2;
#X restore 375 453 pd tripleRand (0.1 0.2 0);
#N canvas 0 22 450 300 v* 0;
#X obj 90 62 unpack 0 0 0;
#X obj 90 42 inlet;
#X obj 90 137 pack 0 0 0;
#X obj 90 156 outlet;
#X obj 90 90 * -1;
#X obj 127 110 * -1;
#X obj 165 90 * -1;
#X connect 0 0 4 0;
#X connect 0 1 5 0;
#X connect 0 2 6 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 4 0 2 0;
#X connect 5 0 2 1;
#X connect 6 0 2 2;
#X restore 375 483 pd v* (-1);
#N canvas 0 22 450 300 tripleLine 0;
#X obj 94 71 inlet;
#X obj 94 252 outlet;
#X obj 94 104 unpack 0 0 0;
#X obj 94 221 pack 0 0 0;
#X obj 94 176 line;
#X msg 94 153 \$1 1000;
#X obj 164 176 line;
#X msg 164 153 \$1 1000;
#X obj 234 176 line;
#X msg 234 153 \$1 1000;
#X connect 0 0 2 0;
#X connect 2 0 5 0;
#X connect 2 1 7 0;
#X connect 2 2 9 0;
#X connect 3 0 1 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 6 0 3 1;
#X connect 7 0 6 0;
#X connect 8 0 3 2;
#X connect 9 0 8 0;
#X restore 375 505 pd tripleLine (1000);
#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 64 238 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 34 255 pd gemwin;
#X obj 375 392 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 12 0;
#X connect 10 0 25 0;
#X connect 10 0 24 0;
#X connect 11 0 3 0;
#X connect 12 0 26 0;
#X connect 15 0 23 0;
#X connect 16 0 21 0;
#X connect 17 0 18 0;
#X connect 17 0 19 0;
#X connect 18 0 16 2;
#X connect 19 0 16 1;
#X connect 20 0 15 0;
#X connect 21 0 22 0;
#X connect 22 0 11 0;
#X connect 23 0 16 0;
#X connect 24 0 2 1;
#X connect 25 0 2 2;
#X connect 26 0 20 0;
#X connect 27 0 28 0;
#X connect 28 0 29 0;
#X connect 29 0 30 0;
#X connect 30 0 22 1;
#X connect 31 0 32 0;
#X connect 33 0 27 0;

View file

@ -0,0 +1,74 @@
#N canvas 396 160 600 500 10;
#X obj 198 50 gemhead;
#X obj 198 82 part_head;
#X obj 198 447 part_draw;
#X obj 198 331 part_gravity 0 -0.01 0;
#X obj 198 160 part_velocity sphere 0 0.2 0 0.2;
#X text 310 269 set the number per frame;
#X text 310 378 set the age to kill at;
#X text 366 327 gravity to affect the particles;
#X text 331 94 the velocity domain;
#X text 329 111 a sphere at 0 \, 0.2 \, 0;
#X obj 198 270 part_source 25;
#X obj 198 381 part_killold 45;
#X text 329 128 radius = 0.2;
#X obj 198 116 part_size 0.1;
#X obj 198 236 part_targetcolor 0 0 1;
#X obj 198 201 part_targetsize 3;
#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 64 238 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 34 255 pd gemwin;
#X connect 0 0 1 0;
#X connect 1 0 13 0;
#X connect 3 0 11 0;
#X connect 4 0 15 0;
#X connect 10 0 3 0;
#X connect 11 0 2 0;
#X connect 13 0 4 0;
#X connect 14 0 10 0;
#X connect 15 0 14 0;
#X connect 16 0 17 0;

View file

@ -0,0 +1,86 @@
#N canvas 136 52 487 571 10;
#X obj 167 53 gemhead;
#X obj 167 81 part_head;
#X text 293 262 set the number per frame;
#X text 291 290 set the age to kill at;
#X text 296 110 the velocity domain;
#X text 295 125 a sphere at 0 \, 0.2 \, 0;
#X text 296 144 radius = 0.3;
#X msg 271 170 0 0.2 0 0.3;
#X msg 358 169 0.2 0 0 0.3;
#X obj 167 231 part_velocity sphere 0 0.2 0 0.3;
#X obj 167 330 part_render;
#X obj 167 393 sphere 0.2;
#X obj 47 308 gemhead;
#X obj 47 331 world_light;
#X obj 167 128 part_size 1;
#X msg 257 105 2;
#X obj 167 204 part_color;
#X msg 190 150 1 0 0;
#X obj 167 261 part_source 5;
#X obj 167 292 part_killold 10;
#X msg 202 178 0 1 0;
#X msg 227 104 1;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X obj 118 113 outlet;
#X msg 118 81 reset \, lighting 1;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 66 131 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 36 148 pd gemwin;
#X connect 0 0 1 0;
#X connect 1 0 14 0;
#X connect 7 0 9 2;
#X connect 8 0 9 2;
#X connect 9 0 18 0;
#X connect 10 0 11 0;
#X connect 12 0 13 0;
#X connect 14 0 16 0;
#X connect 15 0 14 1;
#X connect 16 0 9 0;
#X connect 17 0 16 1;
#X connect 18 0 19 0;
#X connect 19 0 10 0;
#X connect 20 0 16 2;
#X connect 21 0 14 1;
#X connect 22 0 23 0;

View file

@ -0,0 +1,117 @@
#N canvas 22 71 611 571 10;
#X obj 169 18 gemhead;
#X obj 168 85 part_head;
#X text 278 259 set the number per frame;
#X text 292 291 set the age to kill at;
#X msg 290 201 0 0.2 0 0.3;
#X msg 377 200 0.2 0 0 0.3;
#X obj 168 229 part_velocity sphere 0 0.2 0 0.3;
#X obj 168 132 part_size 1;
#X obj 168 254 part_source 5;
#X obj 168 279 part_killold 10;
#X obj 169 300 part_info;
#X obj 169 382 separator;
#X obj 169 408 translate 1 0 0 0;
#X obj 169 431 color;
#X obj 169 471 scale;
#X msg 278 518 draw line;
#X msg 257 105 2;
#X obj 170 502 rotateXYZ;
#X obj 320 435 unpack 0 0 0;
#X text 375 400 this is rather velocity;
#X text 379 416 than rotation;
#X obj 279 498 loadbang;
#X obj 170 537 square 0.2;
#X msg 300 378 \$1 \$2 0;
#X obj 169 56 rotateXYZ;
#X floatatom 272 20 5 0 0 0 - - -;
#X obj 168 205 part_color;
#X msg 200 180 1 0 0;
#X msg 252 180 0 0 1;
#X text 254 362 we don't allow particles spread along the z-axis;
#X msg 257 76 1;
#X obj 255 463 * 360;
#X obj 315 461 * 360;
#X obj 382 460 * 360;
#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 64 238 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 34 255 pd gemwin;
#X connect 0 0 24 0;
#X connect 1 0 7 0;
#X connect 4 0 6 2;
#X connect 5 0 6 2;
#X connect 6 0 8 0;
#X connect 7 0 26 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 10 2 23 0;
#X connect 10 3 13 1;
#X connect 10 4 18 0;
#X connect 10 5 14 1;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 17 0;
#X connect 15 0 22 0;
#X connect 16 0 7 1;
#X connect 17 0 22 0;
#X connect 18 0 31 0;
#X connect 18 1 32 0;
#X connect 18 2 33 0;
#X connect 21 0 15 0;
#X connect 23 0 12 2;
#X connect 24 0 1 0;
#X connect 25 0 24 2;
#X connect 26 0 6 0;
#X connect 27 0 26 1;
#X connect 28 0 26 2;
#X connect 30 0 7 1;
#X connect 31 0 17 1;
#X connect 32 0 17 2;
#X connect 33 0 17 3;
#X connect 34 0 35 0;

View file

@ -0,0 +1,100 @@
#N canvas 424 93 600 500 10;
#X obj 198 50 gemhead;
#X obj 198 82 part_head;
#X obj 198 136 part_color;
#X obj 199 447 part_draw;
#X msg 335 69 0 1 0;
#X text 329 37 set the color range;
#X obj 198 174 part_size 1;
#X text 299 126 set the size;
#X obj 198 206 part_velocity sphere 0 0.2 0 0.2;
#X text 310 239 set the number per frame;
#X text 311 378 set the age to kill at;
#X text 309 255 gravity to affect the particles;
#X text 428 174 the velocity domain;
#X text 426 191 a sphere at 0 \, 0.2 \, 0;
#X msg 220 413 draw line;
#X msg 299 413 draw point;
#X msg 309 151 2;
#X msg 393 69 1 0 0;
#X obj 198 240 part_source 25;
#X obj 199 381 part_killold 45;
#X text 426 208 radius = 0.2;
#X msg 126 51 speed 0.1;
#X obj 245 303 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X floatatom 389 314 5 0 0 0 - - -;
#X msg 389 331 0 \$1 0 0 1 0;
#X obj 198 271 part_gravity 0 -0.1 0;
#X obj 198 355 part_sink plane 0 -1 0 0 1 0;
#X msg 245 322 kill \$1;
#X obj 392 293 hsl 128 15 -4 0.1 0 0 empty empty empty -2 -6 0 8 -262144
-1 -1 0 1;
#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 64 238 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 34 255 pd gemwin;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 6 0;
#X connect 4 0 2 1;
#X connect 6 0 8 0;
#X connect 8 0 18 0;
#X connect 14 0 3 0;
#X connect 15 0 3 0;
#X connect 16 0 6 1;
#X connect 17 0 2 2;
#X connect 18 0 25 0;
#X connect 19 0 3 0;
#X connect 21 0 1 0;
#X connect 22 0 27 0;
#X connect 23 0 24 0;
#X connect 24 0 26 2;
#X connect 25 0 26 0;
#X connect 26 0 19 0;
#X connect 27 0 26 0;
#X connect 28 0 23 0;
#X connect 29 0 30 0;

View file

@ -0,0 +1,60 @@
#N canvas 180 41 560 399 10;
#X floatatom 369 147 0 0 0 0 - - -;
#X obj 325 202 pix_image ../data/fractal.JPG;
#X obj 325 245 pix_texture;
#X obj 325 171 rotate 0 1 1;
#X obj 325 277 cube;
#X obj 325 124 gemhead;
#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 90 153 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 60 170 pd gemwin;
#X connect 0 0 3 1;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 1 0;
#X connect 5 0 3 0;
#X connect 6 0 7 0;

View file

@ -0,0 +1,70 @@
#N canvas 127 46 642 483 10;
#X obj 251 46 gemhead;
#X obj 251 424 square;
#X obj 251 369 pix_coordinate;
#X obj 251 118 pix_texture;
#X obj 251 87 pix_image ../data/fractal.JPG;
#X msg 363 227 0 0 1 0 1 1 0 1;
#X msg 349 203 0 0 2 0 2 2 0 2;
#X msg 369 253 0 0 0.5 0 0.5 0.5 0 0.5;
#X floatatom 400 285 5 0 0 0 - - -;
#X text 258 170 set the texture coordinates [x1 y1 x2 y2 x3 y3 x4 y4]
;
#X msg 400 308 0 0 \$1 0 \$1 \$1 0 \$1;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X obj 118 113 outlet;
#X msg 118 81 reset \, dimen 300 300;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 64 238 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 34 255 pd gemwin;
#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 connect 5 0 2 1;
#X connect 6 0 2 1;
#X connect 7 0 2 1;
#X connect 8 0 10 0;
#X connect 10 0 2 1;
#X connect 11 0 12 0;

View file

@ -0,0 +1,153 @@
#N canvas 180 41 816 619 10;
#X text 730 64 on;
#X text 767 62 off;
#X text 513 71 on;
#X text 578 69 off;
#X obj 633 450 pix_texture;
#X obj 670 477 r initstuff;
#X msg 724 86 1;
#X msg 761 85 0;
#X text 216 393 on;
#X text 255 391 off;
#X msg 29 417 1;
#X msg 65 419 0;
#X msg 210 419 1;
#X msg 248 419 0;
#X obj 286 437 gemhead 1;
#X obj 454 166 int 0;
#X obj 506 167 + 2;
#X floatatom 672 197 0 0 0 0 - - -;
#X obj 633 537 sphere;
#X floatatom 454 199 0 0 0 0 - - -;
#X obj 107 479 world_light;
#X obj 107 424 gemhead 1;
#X obj 415 445 sphere;
#X obj 672 170 int 0;
#X obj 286 493 light;
#X msg 670 507 20;
#X text 108 370 global light;
#X text 283 370 local light;
#X text 35 395 on;
#X text 65 396 off;
#X obj 454 132 metro 50;
#X msg 506 97 1;
#X msg 543 99 0;
#X obj 672 136 metro 100;
#X obj 734 168 + 1;
#X obj 66 580 send initstuff;
#X obj 452 383 r initstuff;
#X obj 415 311 pix_image ../data/fractal.JPG;
#X obj 415 354 pix_texture;
#X obj 633 314 pix_image ../data/dancer.JPG;
#X obj 633 377 alpha;
#X obj 633 414 pix_alpha;
#X obj 633 53 gemhead 60;
#X obj 415 228 rotate 0 1 1;
#X obj 633 227 rotate 1 0 1;
#X text 426 35 Blue Sphere;
#X text 641 18 Red Sphere;
#X obj 633 86 color 1 0 0;
#X obj 415 272 translateXYZ 2 0 0;
#X obj 633 274 translateXYZ 1 1 0;
#X msg 452 417 30;
#X obj 66 545 loadbang;
#X obj 415 68 gemhead 60;
#X obj 415 98 color 0 0 1;
#X msg 690 338 test 1;
#X msg 745 339 test 0;
#X msg 179 113 lighting \$1;
#X obj 179 93 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X obj 118 113 outlet;
#X msg 118 81 reset \, lighting 1;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 64 238 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 34 255 pd gemwin;
#X connect 4 0 18 0;
#X connect 5 0 25 0;
#X connect 6 0 33 0;
#X connect 7 0 33 0;
#X connect 7 0 34 0;
#X connect 10 0 20 0;
#X connect 11 0 20 0;
#X connect 12 0 24 0;
#X connect 13 0 24 0;
#X connect 14 0 24 0;
#X connect 15 0 16 0;
#X connect 15 0 19 0;
#X connect 16 0 15 1;
#X connect 17 0 44 1;
#X connect 19 0 43 1;
#X connect 21 0 20 0;
#X connect 23 0 17 0;
#X connect 23 0 34 0;
#X connect 25 0 18 2;
#X connect 30 0 15 0;
#X connect 31 0 30 0;
#X connect 32 0 30 0;
#X connect 32 0 16 0;
#X connect 33 0 23 0;
#X connect 34 0 23 1;
#X connect 36 0 50 0;
#X connect 37 0 38 0;
#X connect 38 0 22 0;
#X connect 39 0 40 0;
#X connect 40 0 41 0;
#X connect 41 0 4 0;
#X connect 42 0 47 0;
#X connect 43 0 48 0;
#X connect 44 0 49 0;
#X connect 47 0 44 0;
#X connect 48 0 37 0;
#X connect 49 0 39 0;
#X connect 50 0 22 2;
#X connect 51 0 35 0;
#X connect 52 0 53 0;
#X connect 53 0 43 0;
#X connect 54 0 40 0;
#X connect 55 0 40 0;
#X connect 56 0 59 0;
#X connect 57 0 56 0;
#X connect 58 0 59 0;

View file

@ -0,0 +1,201 @@
#N canvas 110 90 876 486 10;
#X text 653 313 Inlet 1: gemlist;
#X obj 209 277 gemhead;
#X floatatom 622 130 5 0 0 2 size - -;
#X floatatom 539 84 5 0 0 2 height - -;
#X floatatom 241 339 5 0 0 0 - - -;
#X msg 322 5 draw line;
#X msg 322 25 draw fill;
#X msg 322 45 draw point;
#X text 653 188 00..retrigger current action;
#X text 653 200 01..flat;
#X text 653 211 02..spike;
#X text 653 221 03..diagonal wall;
#X text 652 234 04..sidewall;
#X text 652 245 05..hole;
#X text 652 256 06..middleblock;
#X text 652 267 07..diagonalblock;
#X text 652 278 08..cornerblock;
#X text 652 288 09..hill;
#X obj 718 28 vradio 11 1 0 11 empty empty action -10 -6 0 8 -262144
-1 -1 0;
#X text 651 299 10..hill4 (default);
#X floatatom 274 339 5 0 0 0 - - -;
#X floatatom 308 339 5 0 0 0 - - -;
#X floatatom 13 -15 5 0 0 0 - - -;
#X msg 415 228 force 25 25 30;
#X msg 539 45 0.06;
#X obj 539 17 loadbang;
#X obj 13 3 / 100;
#X floatatom 173 -15 5 0 0 0 - - -;
#X obj 173 4 / 100;
#X obj 401 39 random 50;
#X obj 444 59 random 50;
#X obj 401 81 pack 0 0;
#X obj 401 15 metro 300;
#X msg 415 273 position 10 10 100;
#X msg 718 155 mode \$1;
#X msg 415 250 force 4 2 50;
#X msg 538 101 height \$1;
#X floatatom 65 -16 5 0 0 0 - - -;
#X obj 65 2 / 100;
#X floatatom 216 -16 5 0 0 0 - - -;
#X obj 216 3 / 100;
#X floatatom 114 -17 5 0 0 0 - - -;
#X obj 114 1 / 100;
#X floatatom 258 -17 5 0 0 0 - - -;
#X obj 258 2 / 100;
#X obj 623 74 loadbang;
#X msg 23 48 K1 0.05;
#X msg 13 24 K1 \$1;
#X msg 179 46 D1 0.1;
#X msg 173 25 D1 \$1;
#X msg 65 23 K2 \$1;
#X msg 114 22 K3 \$1;
#X msg 75 47 K2 0.05;
#X msg 124 46 K3 0.05;
#X msg 216 24 D2 \$1;
#X msg 222 45 D2 0.1;
#X msg 258 23 D3 \$1;
#X obj 13 235 newWave 50;
#X msg 264 44 D3 0.01;
#X msg 329 67 width 1;
#X msg 330 87 width 10;
#X obj 402 -3 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X msg 87 411 \; pd quit \;;
#N canvas 0 22 247 188 cpu 0;
#X obj 30 45 metro 1000;
#X obj 32 22 loadbang;
#X obj 33 96 cputime;
#X obj 30 69 t b b;
#X obj 34 125 / 10;
#X obj 33 150 outlet;
#X connect 0 0 3 0;
#X connect 1 0 0 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 3 1 2 1;
#X connect 4 0 5 0;
#X restore 20 396 pd cpu;
#X floatatom 20 426 5 0 0 0 - - -;
#X obj 87 348 gemhead;
#X obj 87 374 world_light;
#X obj 209 382 render_trigger;
#X obj 209 360 rotateXYZ 300 0 0;
#X obj 311 -18 loadbang;
#X msg 415 207 force 20 20 30;
#X msg 623 97 2;
#X obj 209 317 pix_texture;
#X obj 209 298 pix_image ../data/fractal.JPG;
#X msg 400 101 force \$1 \$2 -0.1;
#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 532 385 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 502 402 pd gemwin;
#X connect 1 0 73 0;
#X connect 2 0 57 1;
#X connect 3 0 36 0;
#X connect 4 0 68 1;
#X connect 5 0 57 0;
#X connect 6 0 57 0;
#X connect 7 0 57 0;
#X connect 18 0 34 0;
#X connect 20 0 68 2;
#X connect 21 0 68 3;
#X connect 22 0 26 0;
#X connect 23 0 57 0;
#X connect 24 0 3 0;
#X connect 25 0 24 0;
#X connect 26 0 47 0;
#X connect 27 0 28 0;
#X connect 28 0 49 0;
#X connect 29 0 31 0;
#X connect 30 0 31 1;
#X connect 31 0 74 0;
#X connect 32 0 29 0;
#X connect 32 0 30 0;
#X connect 33 0 57 0;
#X connect 34 0 57 0;
#X connect 35 0 57 0;
#X connect 36 0 57 0;
#X connect 37 0 38 0;
#X connect 38 0 50 0;
#X connect 39 0 40 0;
#X connect 40 0 54 0;
#X connect 41 0 42 0;
#X connect 42 0 51 0;
#X connect 43 0 44 0;
#X connect 44 0 56 0;
#X connect 45 0 71 0;
#X connect 46 0 57 0;
#X connect 47 0 57 0;
#X connect 48 0 57 0;
#X connect 49 0 57 0;
#X connect 50 0 57 0;
#X connect 51 0 57 0;
#X connect 52 0 57 0;
#X connect 53 0 57 0;
#X connect 54 0 57 0;
#X connect 55 0 57 0;
#X connect 56 0 57 0;
#X connect 58 0 57 0;
#X connect 59 0 57 0;
#X connect 60 0 57 0;
#X connect 61 0 32 0;
#X connect 63 0 64 0;
#X connect 65 0 66 0;
#X connect 67 0 57 0;
#X connect 67 2 57 0;
#X connect 68 0 67 0;
#X connect 69 0 48 0;
#X connect 69 0 46 0;
#X connect 70 0 57 0;
#X connect 71 0 2 0;
#X connect 72 0 68 0;
#X connect 73 0 72 0;
#X connect 74 0 57 0;
#X connect 75 0 76 0;

View file

@ -0,0 +1,114 @@
#N canvas 153 39 582 638 10;
#X obj 299 39 openpanel;
#X msg 34 50 dimen 640 480;
#X obj 174 115 gemhead;
#X msg 381 41 auto \$1;
#X obj 384 13 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X floatatom 185 429 5 0 0 0 - - -;
#X obj 299 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 72 92 profile 1;
#X msg 81 130 profile 0;
#X msg 384 84 open ../data/anim-1.mov;
#X msg 299 66 open \$1;
#X obj 113 429 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X floatatom 198 445 5 0 0 0 - - -;
#X floatatom 227 460 5 0 0 0 - - -;
#X floatatom 214 261 5 0 0 0 - - -;
#X floatatom 254 261 5 0 0 0 - - -;
#X floatatom 295 261 5 0 0 0 - - -;
#X floatatom 242 487 5 0 0 0 - - -;
#X floatatom 196 306 5 0 0 0 - - -;
#X floatatom 207 349 4 0 0 0 - - -;
#X floatatom 240 349 4 0 0 0 - - -;
#X floatatom 274 349 4 0 0 0 - - -;
#X obj 174 171 pix_film;
#X obj 174 324 scale 6;
#X obj 174 278 translateXYZ 0 0 0;
#X obj 174 212 pix_texture;
#X obj 241 172 t f;
#X msg 384 124 open ../data/alea.mpg;
#X obj 174 366 rotateXYZ 0 0 0;
#X obj 174 517 ripple;
#X msg 384 104 open ../data/homer.avi;
#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 64 168 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 34 185 pd gemwin;
#X connect 0 0 10 0;
#X connect 1 0 32 0;
#X connect 2 0 22 0;
#X connect 3 0 22 0;
#X connect 4 0 3 0;
#X connect 5 0 29 1;
#X connect 6 0 0 0;
#X connect 7 0 32 0;
#X connect 8 0 32 0;
#X connect 9 0 22 0;
#X connect 10 0 22 0;
#X connect 11 0 29 0;
#X connect 12 0 29 2;
#X connect 13 0 29 3;
#X connect 14 0 24 1;
#X connect 15 0 24 2;
#X connect 16 0 24 3;
#X connect 17 0 29 4;
#X connect 18 0 23 1;
#X connect 19 0 28 1;
#X connect 20 0 28 2;
#X connect 21 0 28 3;
#X connect 22 0 25 0;
#X connect 22 2 26 0;
#X connect 23 0 28 0;
#X connect 24 0 23 0;
#X connect 25 0 24 0;
#X connect 26 0 22 1;
#X connect 27 0 22 0;
#X connect 28 0 29 0;
#X connect 30 0 22 0;
#X connect 31 0 32 0;

View file

@ -0,0 +1,92 @@
#N canvas 4 50 630 424 10;
#X msg 320 121 snap;
#X obj 320 68 gemhead 15;
#X obj 39 64 gemhead 10;
#X obj 39 126 scaleXYZ 6 0.1 6;
#X obj 55 95 hsl 128 15 0.02 1.53 0 0 empty empty empty -2 -6 0 8 -262139
-1 -1 0 1;
#X obj 39 259 cube 0.34;
#X obj 320 260 rotateXYZ;
#X obj 357 237 hsl 128 15 -34 34 0 0 empty empty empty -2 -6 0 8 -261879
-1 -1 6350 1;
#X obj 40 364 light;
#X obj 40 341 translateXYZ 0 0 4;
#X obj 320 154 pix_snap2tex 0 0 512 512;
#X obj 320 300 sphere 3.64 50;
#X obj 40 318 gemhead 1;
#X msg 354 216 0;
#X obj 354 195 loadbang;
#X obj 125 158 hsl 128 15 0 1 0 1 empty empty R 12 8 1 12 -261689 -1
-1 12700 1;
#X obj 125 178 hsl 128 15 0 1 0 1 empty empty G 12 8 1 12 -225271 -1
-1 12700 1;
#X obj 125 198 hsl 128 15 0 1 0 1 empty empty B 12 8 1 12 -228992 -1
-1 12700 1;
#X obj 39 227 colorRGB 1 1 1;
#X obj 320 92 trigger bang anything;
#N canvas 89 204 317 179 Gem.init 0;
#X obj 118 46 loadbang;
#X obj 118 113 outlet;
#X msg 118 81 reset \, dimen 512 512 \, lighting 1;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 485 338 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 455 355 pd gemwin;
#X connect 0 0 10 0;
#X connect 1 0 19 0;
#X connect 2 0 3 0;
#X connect 3 0 18 0;
#X connect 4 0 3 2;
#X connect 6 0 11 0;
#X connect 7 0 6 2;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 12 0 9 0;
#X connect 13 0 7 0;
#X connect 14 0 13 0;
#X connect 15 0 18 1;
#X connect 16 0 18 2;
#X connect 17 0 18 3;
#X connect 18 0 5 0;
#X connect 19 0 0 0;
#X connect 19 1 10 0;
#X connect 20 0 21 0;

View file

@ -0,0 +1,130 @@
#N canvas 13 0 1023 406 10;
#X obj 33 260 world_light;
#X msg 282 164 bang;
#X obj 282 144 metro 500;
#X obj 282 126 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 593 113 gemhead -1;
#X obj 593 234 pix_snap2tex;
#X msg 638 210 0 0;
#X msg 684 209 500 500;
#X obj 638 187 t b b;
#X obj 593 194 t b a;
#X obj 593 272 alpha;
#X floatatom 766 262 5 0 0 0 - - -;
#X obj 593 340 square 4;
#X obj 771 114 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X msg 47 118 frame \$1;
#X floatatom 47 100 5 0 0 0 - - -;
#X obj 593 296 colorRGB 1 1 1 0.888;
#X obj 33 236 gemhead;
#X obj 638 168 loadbang;
#N canvas 0 0 749 590 moving 0;
#X obj 193 81 gemhead;
#X obj 193 384 translateXYZ;
#X obj 276 67 t b b;
#X obj 276 104 random 100;
#X obj 193 357 colorRGB 1 1 1;
#X obj 276 39 inlet;
#X obj 193 411 teapot;
#X obj 276 135 pack 0 1000;
#X obj 276 181 / 100;
#X obj 276 201 * 8;
#X obj 276 221 - 4;
#X obj 375 104 random 100;
#X obj 375 135 pack 0 1000;
#X obj 375 181 / 100;
#X obj 375 201 * 8;
#X obj 375 221 - 4;
#X obj 276 159 line 50 10;
#X obj 375 159 line 50 10;
#X connect 0 0 4 0;
#X connect 1 0 6 0;
#X connect 2 0 3 0;
#X connect 2 1 11 0;
#X connect 3 0 7 0;
#X connect 4 0 1 0;
#X connect 5 0 2 0;
#X connect 7 0 16 0;
#X connect 8 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 10 0;
#X connect 10 0 1 1;
#X connect 11 0 12 0;
#X connect 12 0 17 0;
#X connect 13 0 14 0;
#X connect 13 0 4 2;
#X connect 14 0 15 0;
#X connect 15 0 1 2;
#X connect 16 0 8 0;
#X connect 17 0 13 0;
#X restore 282 186 pd moving object;
#X text 267 31 FullScreen Motion Blur:;
#N canvas 87 154 414 208 Gem.init 0;
#X obj 118 46 loadbang;
#X obj 118 113 outlet;
#X msg 118 81 reset \, frame 100 \, lighting 1;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 77 143 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 47 160 pd gemwin;
#X connect 1 0 19 0;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
#X connect 4 0 9 0;
#X connect 5 0 10 0;
#X connect 6 0 5 1;
#X connect 7 0 5 2;
#X connect 8 0 6 0;
#X connect 8 1 7 0;
#X connect 9 0 5 0;
#X connect 9 1 5 0;
#X connect 10 0 16 0;
#X connect 11 0 16 4;
#X connect 13 0 11 0;
#X connect 14 0 22 0;
#X connect 15 0 14 0;
#X connect 16 0 12 0;
#X connect 17 0 0 0;
#X connect 18 0 8 0;
#X connect 21 0 22 0;

Some files were not shown because too many files have changed in this diff Show more