#N canvas 591 153 632 642 10; #X obj 398 28 loadbang; #X obj 146 30 tgl 15 0 empty empty empty 17 7 0 10 -4034 -1 -1 0 1 ; #X obj 8 33 gemhead; #X obj 8 305 pix_texture; #X msg 404 67 destroy; #X text 166 27 <-- start playing the video; #X text 232 727 Modified gemstate so that the pix is equal to the Grid of inlet 1; #X msg 14 166 yflip \$1; #X obj 14 149 tgl 15 0 empty empty empty 17 7 0 10 -257985 -1 -1 0 1; #X obj 0 0 doc_h; #X obj 3 539 doc_i 2; #X obj 3 697 doc_o 1; #X obj 3 499 doc_c 0; #X obj 14 569 doc_ii 0; #X obj 14 626 doc_ii 1; #X obj 14 727 doc_oo 0; #X obj 97 569 doc_m i0 gem_state; #X obj 97 591 doc_m i0 yflip; #X obj 97 626 doc_m i1 grid; #X obj 97 727 doc_m o0 gem_state; #X obj 0 792 doc_f; #X obj 146 158 b; #X obj 146 177 fps; #X floatatom 146 196 5 0 0 0 - - -; #X msg 152 67 cast b; #X msg 202 67 cast s; #X msg 252 67 cast i; #X text 232 591 With one boolean argument that selects the order in which the y dimension of the Grid will be read \, defaults to '0'; #X obj 35 431 rotateXYZ; #X floatatom 52 407 5 0 0 0 - - -; #X obj 398 87 gemwin 30; #X obj 35 388 translateXYZ 0 0 2; #X obj 8 470 rectangle 4 3; #X obj 8 368 shunt; #X obj 44 368 tgl 15 0 empty empty empty 17 7 0 10 -257985 -1 -1 0 1; #X obj 3 772 doc_also; #X obj 103 772 #from_pix; #X text 169 772 [examples/game_of_life_gem.pd]; #X obj 67 234 #in deux_piastres.png; #X obj 84 215 loadbang; #X obj 67 216 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 8 215 #to_pix; #X obj 146 47 metro 33.3333; #X obj 35 344 alpha; #X msg 398 47 create \, 1 \, color 0.5 0.5 0.5; #X obj 8 325 shunt; #X obj 44 326 tgl 15 0 empty empty empty 17 7 0 10 -257985 -1 -1 0 1; #X obj 152 119 #dim; #X obj 152 138 display; #X floatatom 116 407 5 0 0 0 - - -; #X floatatom 84 407 5 0 0 0 - - -; #X obj 35 450 cube 3; #X obj 14 254 pix_info; #X floatatom 39 273 5 0 0 0 - - -; #X text 77 253 6408 = 0x1908 = GL_RGBA; #X text 71 267 32993 = 0x80e1 = GL_BGRA; #X text 39 287 GEM/GL colorspace id; #X text 232 626 Grid with 3 or 4 channels. 4th channel is no longer ignored since GF 9.9. If the 4th channel is absent \, it will be assumed to be 255 all over (normally meaning "fully opaque" in alpha terms). ; #X obj 146 99 #in violoncelle.mov; #X text 232 569 Something coming from [gemhead] (or [gemdead]); #X obj 361 772 gemhead; #X obj 415 772 gemdead; #X obj 469 772 gemwin; #X obj 517 772 #to_pdp; #X text 242 138 Note : you can get some timebased 'moiré' effects if the arguments to the [gemwin] and the [metro] are not synched. that is \, some frames will be duplicated or ignored \, and some won't. To have each frame be displayed by [gemwin] \, the gemwin argument multiplied by the metro argument must give 1000 : for example [gemwin 20] goes with [metro 50] \, and [gemwin 50] goes with [metro 20]. The same happens if you bang a [#store] from a [metro] that is not synched. ; #X text 243 251 You could also drive your gridflow objects using a [gemhead]. Just insert a [t a b] after the [gemhead].; #X obj 8 66 t a b; #X obj 45 66 spigot; #X obj 88 67 tgl 15 0 empty empty empty 17 7 0 10 -4034 -1 -1 0 1; #X text 13 48 using gem's metro; #X connect 0 0 44 0; #X connect 1 0 42 0; #X connect 2 0 66 0; #X connect 3 0 45 0; #X connect 4 0 30 0; #X connect 7 0 41 0; #X connect 8 0 7 0; #X connect 16 1 59 0; #X connect 17 1 27 0; #X connect 18 1 57 0; #X connect 19 1 6 0; #X connect 21 0 22 0; #X connect 22 0 23 0; #X connect 24 0 58 0; #X connect 25 0 58 0; #X connect 26 0 58 0; #X connect 28 0 51 0; #X connect 29 0 28 1; #X connect 31 0 28 0; #X connect 33 0 32 0; #X connect 33 1 31 0; #X connect 34 0 33 1; #X connect 35 1 36 0; #X connect 35 1 37 0; #X connect 35 1 60 0; #X connect 35 1 61 0; #X connect 35 1 62 0; #X connect 35 1 63 0; #X connect 38 0 41 1; #X connect 40 0 38 0; #X connect 41 0 52 0; #X connect 41 0 3 0; #X connect 42 0 58 0; #X connect 43 0 33 0; #X connect 44 0 30 0; #X connect 45 0 33 0; #X connect 45 1 43 0; #X connect 46 0 45 1; #X connect 47 0 48 0; #X connect 49 0 28 3; #X connect 50 0 28 2; #X connect 52 4 53 0; #X connect 58 0 21 0; #X connect 58 0 47 0; #X connect 58 0 41 1; #X connect 66 0 41 0; #X connect 66 1 67 0; #X connect 67 0 58 0; #X connect 68 0 67 1;