aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xGem/Gem.pd_darwinbin4994608 -> 5013852 bytes
-rw-r--r--Gem/cubemaptosphere.frag17
-rw-r--r--Gem/cubemaptosphere.vert8
-rw-r--r--Gem/develop/include/Gem/Base/GemWindow.h2
-rwxr-xr-xGem/gem_filmAVFoundation.sobin34768 -> 34768 bytes
-rwxr-xr-xGem/gem_imageJPEG.sobin50324 -> 50324 bytes
-rwxr-xr-xGem/gem_imageMAGICK.sobin53336 -> 53336 bytes
-rwxr-xr-xGem/gem_imageSGI.sobin57280 -> 57280 bytes
-rwxr-xr-xGem/gem_imageTIFF.sobin65476 -> 65476 bytes
-rwxr-xr-xGem/gem_modelOBJ.sobin86536 -> 86536 bytes
-rwxr-xr-xGem/gemcocoawindow.pd_darwinbin38536 -> 38616 bytes
-rw-r--r--Gem/gemcubeframebuffer-help.pd512
-rwxr-xr-xGem/gemglfw2window.pd_darwinbin27152 -> 27172 bytes
-rwxr-xr-xGem/gemglfw3window.pd_darwinbin36476 -> 36500 bytes
-rwxr-xr-xGem/gemglutwindow.pd_darwinbin42512 -> 42536 bytes
-rwxr-xr-xGem/gemsdlwindow.pd_darwinbin39620 -> 39496 bytes
-rw-r--r--Gem/gemwin-help.pd21
-rw-r--r--Gem/gemwin.pd121
-rwxr-xr-xGem/pix_drum.pd_darwinbin25556 -> 25556 bytes
-rwxr-xr-xGem/pix_fiducialtrack.pd_darwinbin69808 -> 69808 bytes
-rwxr-xr-xGem/pix_hit.pd_darwinbin27280 -> 27280 bytes
-rwxr-xr-xGem/pix_mano.pd_darwinbin39512 -> 39512 bytes
22 files changed, 625 insertions, 56 deletions
diff --git a/Gem/Gem.pd_darwin b/Gem/Gem.pd_darwin
index d6d0bce..b2053c8 100755
--- a/Gem/Gem.pd_darwin
+++ b/Gem/Gem.pd_darwin
Binary files differ
diff --git a/Gem/cubemaptosphere.frag b/Gem/cubemaptosphere.frag
new file mode 100644
index 0000000..cd2befb
--- /dev/null
+++ b/Gem/cubemaptosphere.frag
@@ -0,0 +1,17 @@
+// Antoine Rousseau september 2015
+#version 120
+
+uniform samplerCube envMap;
+uniform float alpha = 1.0;
+
+void main() {
+
+ vec2 tc = gl_TexCoord[0].st ;
+ vec2 thetaphi = ((tc * 2.0) - vec2(1.0)) * vec2(3.1415926535897932384626433832795, 1.5707963267948966192313216916398);
+ float ctpy = cos(thetaphi.y);
+
+ vec3 rayDirection = vec3(ctpy * cos(thetaphi.x), sin(thetaphi.y), ctpy * sin(thetaphi.x));
+
+ gl_FragColor = textureCube(envMap, rayDirection);
+ gl_FragColor.a *= alpha;
+}
diff --git a/Gem/cubemaptosphere.vert b/Gem/cubemaptosphere.vert
new file mode 100644
index 0000000..bda9f47
--- /dev/null
+++ b/Gem/cubemaptosphere.vert
@@ -0,0 +1,8 @@
+// Cyrille Henry 2007
+
+void main()
+{
+ gl_TexCoord[0] = gl_MultiTexCoord0;
+ gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
+
+}
diff --git a/Gem/develop/include/Gem/Base/GemWindow.h b/Gem/develop/include/Gem/Base/GemWindow.h
index 18ad28f..c69f249 100644
--- a/Gem/develop/include/Gem/Base/GemWindow.h
+++ b/Gem/develop/include/Gem/Base/GemWindow.h
@@ -174,6 +174,7 @@ class GEM_EXTERN GemWindow : public CPPExtern
/* render context (pre creation) */
virtual void bufferMess(int buf);
virtual void fsaaMess(int value);
+ virtual void transparentMess(bool on);
/* window decoration (pre creation) */
virtual void titleMess(std::string);
@@ -208,6 +209,7 @@ class GEM_EXTERN GemWindow : public CPPExtern
unsigned int m_buffer;
std::string m_title;
bool m_cursor;
+ bool m_transparent;
int m_fsaa;
gem::Context* m_context;
diff --git a/Gem/gem_filmAVFoundation.so b/Gem/gem_filmAVFoundation.so
index 3caaf6c..978435f 100755
--- a/Gem/gem_filmAVFoundation.so
+++ b/Gem/gem_filmAVFoundation.so
Binary files differ
diff --git a/Gem/gem_imageJPEG.so b/Gem/gem_imageJPEG.so
index 325c1d2..0c4a3bd 100755
--- a/Gem/gem_imageJPEG.so
+++ b/Gem/gem_imageJPEG.so
Binary files differ
diff --git a/Gem/gem_imageMAGICK.so b/Gem/gem_imageMAGICK.so
index e405a62..c7b4183 100755
--- a/Gem/gem_imageMAGICK.so
+++ b/Gem/gem_imageMAGICK.so
Binary files differ
diff --git a/Gem/gem_imageSGI.so b/Gem/gem_imageSGI.so
index 1865150..05cdd6d 100755
--- a/Gem/gem_imageSGI.so
+++ b/Gem/gem_imageSGI.so
Binary files differ
diff --git a/Gem/gem_imageTIFF.so b/Gem/gem_imageTIFF.so
index dbe3db0..4840a8c 100755
--- a/Gem/gem_imageTIFF.so
+++ b/Gem/gem_imageTIFF.so
Binary files differ
diff --git a/Gem/gem_modelOBJ.so b/Gem/gem_modelOBJ.so
index 5487255..51eb2fc 100755
--- a/Gem/gem_modelOBJ.so
+++ b/Gem/gem_modelOBJ.so
Binary files differ
diff --git a/Gem/gemcocoawindow.pd_darwin b/Gem/gemcocoawindow.pd_darwin
index 2cbb673..a6baa2d 100755
--- a/Gem/gemcocoawindow.pd_darwin
+++ b/Gem/gemcocoawindow.pd_darwin
Binary files differ
diff --git a/Gem/gemcubeframebuffer-help.pd b/Gem/gemcubeframebuffer-help.pd
new file mode 100644
index 0000000..a333dcb
--- /dev/null
+++ b/Gem/gemcubeframebuffer-help.pd
@@ -0,0 +1,512 @@
+#N canvas 584 161 745 692 10;
+#X obj 482 415 cnv 15 90 40 empty empty empty 20 12 0 14 -257985 -66577
+0;
+#X obj 175 337 cnv 15 90 60 empty empty empty 20 12 0 14 -257985 -66577
+0;
+#X obj 174 147 cnv 15 180 25 empty empty pre 2 12 0 14 -4032 -1 0;
+#X obj 174 257 cnv 15 180 25 empty empty post 2 12 0 14 -4032 -1 0
+;
+#X obj 20 571 cnv 15 600 30 empty empty empty 20 12 0 14 -260097 -66577
+0;
+#X obj 27 92 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 234 575 448 300 gemwin 0;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 271 113 destroy;
+#X msg 146 71 set create;
+#X obj 67 41 route create;
+#X msg 311 80 lighting \$1;
+#X obj 311 56 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 198 32 dimen 1024 768;
+#X msg 190 10 dimen 1280 1024;
+#X msg 132 112 create \, 1 \, view 0 0 3;
+#X obj 86 132 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 342 29 inlet;
+#X obj 132 149 gemwin;
+#X obj 3 11 loadbang;
+#X obj 217 197 gemhead 80;
+#X obj 217 224 world_light;
+#X connect 1 0 5 0;
+#X connect 2 0 0 0;
+#X connect 3 0 13 0;
+#X connect 4 0 0 0;
+#X connect 5 0 2 0;
+#X connect 5 0 10 0;
+#X connect 5 1 4 0;
+#X connect 5 1 3 0;
+#X connect 6 0 13 0;
+#X connect 7 0 6 0;
+#X connect 8 0 13 0;
+#X connect 9 0 13 0;
+#X connect 10 0 13 0;
+#X connect 11 0 13 0;
+#X connect 12 0 13 0;
+#X connect 14 0 4 0;
+#X connect 15 0 16 0;
+#X restore 32 131 pd gemwin;
+#X msg 32 109 destroy;
+#X obj 174 225 cnv 15 180 30 empty empty empty 20 12 0 14 -4034 -66577
+0;
+#X obj 184 24 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 184 68 alpha;
+#N canvas 974 317 450 481 draw_6_faces 0;
+#X msg 177 365 face \$1;
+#X obj 75 18 inlet;
+#X obj 177 276 t f f;
+#X obj 75 217 t a b;
+#X msg 104 241 0;
+#X obj 90 190 t a b;
+#X obj 105 155 t a b;
+#X obj 120 127 t a b;
+#X obj 135 100 t a b;
+#X obj 150 78 t a b;
+#X msg 118 211 1;
+#X msg 132 174 2;
+#X msg 147 147 3;
+#X msg 162 125 4;
+#X obj 75 56 t a a a a a a;
+#X msg 177 100 5;
+#X obj 75 419 outlet;
+#X obj 204 341 outlet num_face_to_rot_scene;
+#X connect 0 0 16 0;
+#X connect 1 0 14 0;
+#X connect 2 0 0 0;
+#X connect 2 1 17 0;
+#X connect 3 0 16 0;
+#X connect 3 1 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 16 0;
+#X connect 5 1 10 0;
+#X connect 6 0 16 0;
+#X connect 6 1 11 0;
+#X connect 7 0 16 0;
+#X connect 7 1 12 0;
+#X connect 8 0 16 0;
+#X connect 8 1 13 0;
+#X connect 9 0 16 0;
+#X connect 9 1 15 0;
+#X connect 10 0 2 0;
+#X connect 11 0 2 0;
+#X connect 12 0 2 0;
+#X connect 13 0 2 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 14 5 9 0;
+#X connect 15 0 2 0;
+#X restore 211 152 pd draw_6_faces;
+#N canvas 788 152 450 372 rotate_scene 0;
+#X obj 81 190 unpack f f;
+#X obj 81 78 sel 0 1 2 3 4 5;
+#X msg 81 131 0 90;
+#X msg 114 131 0 -90;
+#X msg 153 131 90 0;
+#X msg 188 131 -90 0;
+#X msg 234 131 0 0;
+#X msg 263 131 0 180;
+#X obj 81 47 inlet num_face;
+#X obj 50 9 inlet head;
+#X obj 50 304 outlet head;
+#X floatatom 163 186 5 0 0 0 - - -, f 5;
+#X floatatom 89 245 5 0 0 0 - - -, f 5;
+#X floatatom 148 250 5 0 0 0 - - -, f 5;
+#X floatatom 57 253 5 0 0 0 - - -, f 5;
+#X obj 50 216 rotateXYZ 0 90 0;
+#X obj 50 280 rotateXYZ -90 0 90;
+#X connect 0 0 15 1;
+#X connect 0 1 15 2;
+#X connect 1 0 2 0;
+#X connect 1 1 3 0;
+#X connect 1 2 4 0;
+#X connect 1 3 5 0;
+#X connect 1 4 6 0;
+#X connect 1 5 7 0;
+#X connect 2 0 0 0;
+#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 0 0;
+#X connect 8 0 1 0;
+#X connect 9 0 15 0;
+#X connect 11 0 15 3;
+#X connect 12 0 16 2;
+#X connect 13 0 16 3;
+#X connect 14 0 16 1;
+#X connect 15 0 16 0;
+#X connect 16 0 10 0;
+#X restore 211 263 pd rotate_scene;
+#X obj 211 231 gemcubeframebuffer;
+#X obj 225 177 loadbang;
+#X obj 184 107 t a a;
+#N canvas 620 313 360 553 shader 0;
+#X obj 72 166 glsl_vertex;
+#X obj 72 269 glsl_fragment;
+#X obj 72 449 glsl_program;
+#X obj 138 387 pack 0 0;
+#X obj 156 357 t b f;
+#X obj 156 300 change;
+#X obj 138 191 change;
+#X msg 138 409 link \$1 \$2;
+#X floatatom 156 324 2 0 0 0 ID - -, f 2;
+#X floatatom 138 214 2 0 0 0 ID - -, f 2;
+#X obj 120 60 tgl 15 0 \$0-shadOn-snd \$0-shadOn-rcv on/off 17 7 0
+10 -262144 -1 -1 1 1;
+#X obj 21 59 inlet gemlist;
+#X obj 21 489 outlet gemlist;
+#X msg 87 139 open \$1.vert;
+#X msg 152 238 open \$1.frag;
+#X obj 120 14 loadbang;
+#X msg 120 36 1;
+#X obj 152 69 inlet loadShader;
+#X obj 229 408 inlet variables;
+#N canvas 85 80 450 300 demux 0;
+#X obj 52 33 inlet;
+#X obj 308 37 inlet select;
+#X obj 52 55 t a a;
+#X obj 52 148 outlet;
+#X obj 105 105 == 0;
+#X obj 52 126 spigot 1;
+#X obj 122 148 outlet;
+#X obj 175 105 == 1;
+#X obj 122 126 spigot 0;
+#X obj 308 59 t f f;
+#X connect 0 0 2 0;
+#X connect 1 0 9 0;
+#X connect 2 0 5 0;
+#X connect 2 1 8 0;
+#X connect 4 0 5 1;
+#X connect 5 0 3 0;
+#X connect 7 0 8 1;
+#X connect 8 0 6 0;
+#X connect 9 0 4 0;
+#X connect 9 1 7 0;
+#X restore 21 108 pd demux;
+#X obj 152 91 symbol;
+#X obj 152 113 t s s;
+#X connect 0 0 1 0;
+#X connect 0 1 6 0;
+#X connect 1 0 2 0;
+#X connect 1 1 5 0;
+#X connect 2 0 12 0;
+#X connect 3 0 7 0;
+#X connect 4 0 3 0;
+#X connect 4 1 3 1;
+#X connect 5 0 8 0;
+#X connect 6 0 9 0;
+#X connect 7 0 2 0;
+#X connect 8 0 4 0;
+#X connect 9 0 3 0;
+#X connect 10 0 19 1;
+#X connect 11 0 19 0;
+#X connect 13 0 0 0;
+#X connect 14 0 1 0;
+#X connect 15 0 16 0;
+#X connect 16 0 10 0;
+#X connect 17 0 20 0;
+#X connect 18 0 2 0;
+#X connect 19 0 12 0;
+#X connect 19 1 0 0;
+#X connect 20 0 21 0;
+#X connect 21 0 13 0;
+#X connect 21 1 14 0;
+#X restore 184 369 pd shader;
+#X obj 184 343 pix_texture;
+#X obj 184 310 separator;
+#X obj 211 130 separator;
+#X obj 276 343 loadbang;
+#X obj 184 576 rectangle 2.8 1.4;
+#X obj 355 63 gemframebuffer;
+#X obj 326 532 translateXYZ 0 0 -4;
+#X obj 184 553 spigot;
+#X obj 326 575 sphere 4 50;
+#X obj 223 530 == 1;
+#X obj 39 553 translateXYZ 0 0 -7;
+#X obj 33 184 vradio 20 1 0 4 empty empty empty 0 -8 0 10 -257985 -1
+-1 3;
+#X text 55 185 scene;
+#X text 55 204 equirectangular;
+#X text 55 224 mapped to sphere;
+#X obj 223 506 r \$0-show;
+#X obj 33 269 s \$0-show;
+#X obj 379 460 r \$0-show;
+#X obj 92 486 r \$0-show;
+#X obj 92 508 == 0;
+#X obj 39 531 spigot 1;
+#X obj 379 483 == 2;
+#X obj 326 508 spigot 0;
+#X obj 211 288 s \$0-sceneHead;
+#X obj 39 575 s \$0-sceneHead;
+#X msg 92 51 lighting \$1;
+#X obj 92 27 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X text 28 88 1:Create window;
+#X obj 404 259 cnv 15 120 60 empty empty empty 20 12 0 14 -257985 -66577
+0;
+#N canvas 801 163 632 578 draw_scene 0;
+#X obj 243 285 rotateXYZ;
+#X obj 402 84 f;
+#X obj 402 109 + 1;
+#X obj 402 61 metro 50;
+#X obj 63 314 cube 0.75;
+#X obj 63 283 rotateXYZ 45 0 0;
+#X obj 62 434 sphere 0.75 30;
+#X obj 63 179 separator;
+#X obj 243 181 separator;
+#X obj 62 346 separator;
+#X obj 242 348 separator;
+#X obj 63 255 translateXYZ 3 3 0;
+#X obj 243 243 translateXYZ 3 -3 0;
+#X obj 62 411 translateXYZ -3 3 0;
+#X obj 242 410 translateXYZ -3 -3 0;
+#X obj 243 316 cylinder 0.75;
+#X obj 242 436 cube 0.75;
+#X obj 402 315 / 180;
+#X obj 402 334 * 3.14159;
+#X obj 402 358 cos;
+#X obj 402 276 * 10;
+#X obj 390 414 f;
+#X obj 390 386 + 1;
+#X obj 418 387 * -1;
+#X obj 418 414 + 1;
+#X floatatom 320 341 5 0 0 0 - - -, f 5;
+#X obj 63 218 color 0.8 0.2 0.2;
+#X obj 243 218 color 0.2 0.8 0.2;
+#X obj 242 385 color 0.8 0.8 0.2;
+#X obj 62 385 color 0.2 0.2 0.8;
+#X obj 402 16 loadbang;
+#X obj 402 40 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X floatatom 156 320 5 0 0 0 - - -, f 5;
+#X obj 185 34 inlet;
+#X obj 185 88 rotateXYZ 0 0 0;
+#X obj 488 187 separator;
+#X obj 488 211 color 0.2 0.8 0.8;
+#X msg 504 261 draw line;
+#X obj 185 112 t a a;
+#X obj 185 139 t a;
+#X obj 504 239 loadbang;
+#X obj 253 54 * 0.5;
+#X obj 402 133 mod 720;
+#X obj 488 295 sphere 6 20;
+#X msg 466 95 0;
+#X connect 0 0 15 0;
+#X connect 1 0 2 0;
+#X connect 2 0 42 0;
+#X connect 3 0 1 0;
+#X connect 5 0 4 0;
+#X connect 7 0 26 0;
+#X connect 8 0 27 0;
+#X connect 9 0 29 0;
+#X connect 10 0 28 0;
+#X connect 11 0 5 0;
+#X connect 12 0 0 0;
+#X connect 13 0 6 0;
+#X connect 14 0 16 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 22 0;
+#X connect 19 0 23 0;
+#X connect 20 0 17 0;
+#X connect 21 0 14 3;
+#X connect 21 0 11 3;
+#X connect 22 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 13 3;
+#X connect 24 0 12 3;
+#X connect 25 0 15 1;
+#X connect 26 0 11 0;
+#X connect 27 0 12 0;
+#X connect 28 0 14 0;
+#X connect 29 0 13 0;
+#X connect 30 0 31 0;
+#X connect 31 0 3 0;
+#X connect 32 0 5 3;
+#X connect 33 0 34 0;
+#X connect 34 0 38 0;
+#X connect 35 0 36 0;
+#X connect 36 0 43 0;
+#X connect 37 0 43 0;
+#X connect 38 0 39 0;
+#X connect 38 1 35 0;
+#X connect 39 0 7 0;
+#X connect 39 0 9 0;
+#X connect 39 0 8 0;
+#X connect 39 0 10 0;
+#X connect 40 0 37 0;
+#X connect 41 0 34 1;
+#X connect 42 0 1 1;
+#X connect 42 0 0 3;
+#X connect 42 0 5 3;
+#X connect 42 0 0 2;
+#X connect 42 0 20 0;
+#X connect 42 0 34 3;
+#X connect 42 0 34 2;
+#X connect 42 0 41 0;
+#X connect 44 0 42 0;
+#X restore 409 294 pd draw_scene;
+#X obj 409 265 r \$0-sceneHead;
+#X text 30 165 Show:;
+#X obj 553 178 hsl 128 15 0 1 0 0 empty empty background_opacity -2
+-8 0 10 -262144 -1 -1 0 1;
+#X msg 550 199 color 0 0.1 0.2 \$1;
+#X msg 225 199 dimen 512 512 \, format RGBA \, color 0 0.1 0.2 1;
+#X text 14 630 Antoine Rousseau nov 2015;
+#X text 316 64 See:;
+#X text 467 64 for more messages.;
+#X text 309 39 Renders a scene to faces of a GL cubemap texture.;
+#X msg 276 366 cubemaptosphere;
+#N canvas 624 251 360 553 shader 0;
+#X obj 72 166 glsl_vertex;
+#X obj 72 269 glsl_fragment;
+#X obj 72 449 glsl_program;
+#X obj 138 387 pack 0 0;
+#X obj 156 357 t b f;
+#X obj 156 300 change;
+#X obj 138 191 change;
+#X msg 138 409 link \$1 \$2;
+#X floatatom 156 324 2 0 0 0 ID - -, f 2;
+#X floatatom 138 214 2 0 0 0 ID - -, f 2;
+#X obj 120 60 tgl 15 0 \$0-shadOn-snd \$0-shadOn-rcv on/off 17 7 0
+10 -262144 -1 -1 1 1;
+#X obj 21 59 inlet gemlist;
+#X obj 21 489 outlet gemlist;
+#X msg 87 139 open \$1.vert;
+#X msg 152 238 open \$1.frag;
+#X obj 120 14 loadbang;
+#X msg 120 36 1;
+#X obj 152 69 inlet loadShader;
+#X obj 229 408 inlet variables;
+#N canvas 85 80 450 300 demux 0;
+#X obj 52 33 inlet;
+#X obj 308 37 inlet select;
+#X obj 52 55 t a a;
+#X obj 52 148 outlet;
+#X obj 105 105 == 0;
+#X obj 52 126 spigot 1;
+#X obj 122 148 outlet;
+#X obj 175 105 == 1;
+#X obj 122 126 spigot 0;
+#X obj 308 59 t f f;
+#X connect 0 0 2 0;
+#X connect 1 0 9 0;
+#X connect 2 0 5 0;
+#X connect 2 1 8 0;
+#X connect 4 0 5 1;
+#X connect 5 0 3 0;
+#X connect 7 0 8 1;
+#X connect 8 0 6 0;
+#X connect 9 0 4 0;
+#X connect 9 1 7 0;
+#X restore 21 108 pd demux;
+#X obj 152 91 symbol;
+#X obj 152 113 t s s;
+#X connect 0 0 1 0;
+#X connect 0 1 6 0;
+#X connect 1 0 2 0;
+#X connect 1 1 5 0;
+#X connect 2 0 12 0;
+#X connect 3 0 7 0;
+#X connect 4 0 3 0;
+#X connect 4 1 3 1;
+#X connect 5 0 8 0;
+#X connect 6 0 9 0;
+#X connect 7 0 2 0;
+#X connect 8 0 4 0;
+#X connect 9 0 3 0;
+#X connect 10 0 19 1;
+#X connect 11 0 19 0;
+#X connect 13 0 0 0;
+#X connect 14 0 1 0;
+#X connect 15 0 16 0;
+#X connect 16 0 10 0;
+#X connect 17 0 20 0;
+#X connect 18 0 2 0;
+#X connect 19 0 12 0;
+#X connect 19 1 0 0;
+#X connect 20 0 21 0;
+#X connect 21 0 13 0;
+#X connect 21 1 14 0;
+#X restore 493 429 pd shader;
+#X obj 575 364 loadbang;
+#X obj 493 385 spigot;
+#X obj 532 338 r \$0-show;
+#X msg 575 387 cubemaptocube;
+#X obj 532 362 == 3;
+#X obj 493 542 accumrotate;
+#X obj 493 489 t a b;
+#X obj 520 521 0.5;
+#X obj 551 520 0.7;
+#X obj 493 462 translateXYZ 0 0 -4;
+#X obj 686 677 separator;
+#X obj 493 578 cube 3;
+#X msg 623 423 3;
+#X msg 587 424 -4;
+#X msg 456 498 3;
+#X msg 420 499 -4;
+#X obj 184 46 gemhead;
+#X text 55 245 mapped to cube;
+#X connect 6 0 7 0;
+#X connect 7 0 6 0;
+#X connect 9 0 74 0;
+#X connect 10 0 15 0;
+#X connect 11 0 13 0;
+#X connect 11 1 12 1;
+#X connect 12 0 40 0;
+#X connect 13 0 12 0;
+#X connect 13 1 17 1;
+#X connect 14 0 51 0;
+#X connect 15 0 18 0;
+#X connect 15 1 19 0;
+#X connect 16 0 24 0;
+#X connect 16 0 39 0;
+#X connect 17 0 16 0;
+#X connect 17 0 59 0;
+#X connect 18 0 17 0;
+#X connect 18 0 37 0;
+#X connect 19 0 11 0;
+#X connect 20 0 56 0;
+#X connect 23 0 25 0;
+#X connect 24 0 21 0;
+#X connect 26 0 24 1;
+#X connect 27 0 41 0;
+#X connect 28 0 33 0;
+#X connect 32 0 26 0;
+#X connect 34 0 38 0;
+#X connect 35 0 36 0;
+#X connect 36 0 37 1;
+#X connect 37 0 27 0;
+#X connect 38 0 39 1;
+#X connect 39 0 23 0;
+#X connect 42 0 6 1;
+#X connect 43 0 42 0;
+#X connect 47 0 46 0;
+#X connect 49 0 50 0;
+#X connect 50 0 13 0;
+#X connect 51 0 13 0;
+#X connect 56 0 16 1;
+#X connect 57 0 67 0;
+#X connect 58 0 61 0;
+#X connect 59 0 57 0;
+#X connect 60 0 62 0;
+#X connect 61 0 57 1;
+#X connect 62 0 59 1;
+#X connect 63 0 69 0;
+#X connect 64 0 63 0;
+#X connect 64 1 65 0;
+#X connect 64 1 66 0;
+#X connect 65 0 63 1;
+#X connect 66 0 63 2;
+#X connect 67 0 64 0;
+#X connect 70 0 67 3;
+#X connect 71 0 67 3;
+#X connect 72 0 23 3;
+#X connect 73 0 23 3;
+#X connect 74 0 10 0;
diff --git a/Gem/gemglfw2window.pd_darwin b/Gem/gemglfw2window.pd_darwin
index 0da4a6a..fd8ef03 100755
--- a/Gem/gemglfw2window.pd_darwin
+++ b/Gem/gemglfw2window.pd_darwin
Binary files differ
diff --git a/Gem/gemglfw3window.pd_darwin b/Gem/gemglfw3window.pd_darwin
index 0ef79a4..60799c7 100755
--- a/Gem/gemglfw3window.pd_darwin
+++ b/Gem/gemglfw3window.pd_darwin
Binary files differ
diff --git a/Gem/gemglutwindow.pd_darwin b/Gem/gemglutwindow.pd_darwin
index d7efc10..ed95faf 100755
--- a/Gem/gemglutwindow.pd_darwin
+++ b/Gem/gemglutwindow.pd_darwin
Binary files differ
diff --git a/Gem/gemsdlwindow.pd_darwin b/Gem/gemsdlwindow.pd_darwin
index bfd3eb3..d93d3e8 100755
--- a/Gem/gemsdlwindow.pd_darwin
+++ b/Gem/gemsdlwindow.pd_darwin
Binary files differ
diff --git a/Gem/gemwin-help.pd b/Gem/gemwin-help.pd
index 2355f99..2edbc7f 100644
--- a/Gem/gemwin-help.pd
+++ b/Gem/gemwin-help.pd
@@ -1,4 +1,4 @@
-#N canvas 129 98 676 689 10;
+#N canvas 126 111 676 689 10;
#X text 452 8 GEM object;
#X obj 7 193 cnv 15 430 480 empty empty empty 20 12 0 14 -233017 -66577
0;
@@ -328,7 +328,6 @@ some lights to see something \, such as:;
#X restore 30 575 pd more lighting;
#X obj 490 242 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
-#X msg 490 261 color \$1 \$1 \$1;
#X text 29 635 stereo 0|1|2|3 : set 3D stereo-mode to off(0) \, 2-screen-mode(1)
\, Red/Green-mode(2);
#N canvas 680 259 468 458 draw_geos 0;
@@ -378,7 +377,7 @@ some lights to see something \, such as:;
#X connect 22 0 6 0;
#X restore 455 378 pd draw_geos;
#X msg 472 152 create \, 1;
-#N canvas 255 86 448 630 buffering 0;
+#N canvas 252 99 539 630 buffering 0;
#X msg 63 127 buffer 1;
#X msg 78 152 buffer 2;
#X text 134 127 single buffering;
@@ -413,6 +412,11 @@ the gemhead each time you want to draw. like:;
is created in order to take effect.;
#X obj 176 494 t f f;
#X obj 149 405 t b b;
+#X msg 279 142 transparent \$1;
+#X obj 279 123 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 299 108 use RGBA buffer to have an alpha channel and a transparent
+window, f 32;
#X connect 0 0 11 0;
#X connect 1 0 11 0;
#X connect 4 0 11 0;
@@ -433,6 +437,8 @@ is created in order to take effect.;
#X connect 28 1 20 1;
#X connect 29 0 16 0;
#X connect 29 1 20 0;
+#X connect 30 0 11 0;
+#X connect 31 0 30 0;
#X restore 355 405 pd buffering;
#N canvas 556 191 548 430 stereo-3D 0;
#X text 32 18 messages to [gemwin] regarding stereoscopic appearance:
@@ -793,10 +799,11 @@ attributes of the window and controls the render-cycle. Multiple instances
of this object can interact with separate windows.;
#X text 30 177 2d argument : context name;
#X text 443 457 see also examples/14.multiple_windows;
+#X msg 490 260 color \$1 \$1 \$1 \$1;
#X connect 11 0 10 0;
#X connect 12 0 10 0;
#X connect 21 0 10 0;
-#X connect 34 0 35 0;
-#X connect 35 0 10 0;
-#X connect 38 0 10 0;
-#X connect 53 0 37 0;
+#X connect 34 0 63 0;
+#X connect 37 0 10 0;
+#X connect 52 0 36 0;
+#X connect 63 0 10 0;
diff --git a/Gem/gemwin.pd b/Gem/gemwin.pd
index 90c81e5..770c73d 100644
--- a/Gem/gemwin.pd
+++ b/Gem/gemwin.pd
@@ -1,4 +1,4 @@
-#N canvas 425 52 937 708 10;
+#N canvas 789 95 937 708 10;
#X obj 126 74 inlet;
#X obj 626 678 outlet;
#N canvas 1 51 1018 458 argument 0;
@@ -112,7 +112,7 @@ cursor menubar border title topmost buffer reset print FSAA;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X restore 124 201 pd creation/destruction;
-#N canvas 271 109 611 377 window-decoration 0;
+#N canvas 29 472 611 377 window-decoration 0;
#X obj 451 282 outlet gemwin;
#X text 125 101 size;
#X text 112 167 position;
@@ -132,6 +132,9 @@ cursor menubar border title topmost buffer reset print FSAA;
#X obj 451 100 t a;
#X obj 451 160 t a;
#X obj 451 223 t a;
+#X obj 301 7 r \$0-transparent;
+#X text 197 10 background;
+#X msg 301 35 transparent \$1;
#X connect 4 0 5 0;
#X connect 5 0 16 0;
#X connect 6 0 7 0;
@@ -147,6 +150,8 @@ cursor menubar border title topmost buffer reset print FSAA;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 0 0;
+#X connect 19 0 21 0;
+#X connect 21 0 16 0;
#X restore 124 172 pd window-decoration;
#N canvas 401 296 464 399 live 0;
#X obj 92 273 outlet gemwin;
@@ -271,7 +276,7 @@ they do need).;
#X text 641 450 the sole purpose of this abstraction is to provide
a minimum compatibility with old patches;
#X restore 592 3 pd README;
-#N canvas 157 51 544 526 callbacks 0;
+#N canvas 148 119 544 526 callbacks 0;
#N canvas 61 50 963 457 viewpoint 0;
#X obj 476 254 t l l;
#X obj 508 277 list length;
@@ -658,13 +663,12 @@ a minimum compatibility with old patches;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X restore 118 193 pd lighting;
-#N canvas 1 51 1001 529 window 0;
+#N canvas 0 106 1001 529 window 0;
#X obj 111 53 inlet;
#X obj 700 421 outlet;
#X obj 111 109 route create destroy;
#X text 300 17 create destroy \; dimen fullscreen offset secondscreen
\; border title \; cursor topmost menubar \; buffer \; FSAA;
-#X obj 111 163 route dimen fullscreen offset secondscreen;
#X obj 111 283 route border title;
#X obj 111 403 route cursor topmost menubar;
#X obj 570 420 route buffer FSAA;
@@ -706,7 +710,6 @@ a minimum compatibility with old patches;
#X obj 111 333 != 0;
#X obj 111 355 s \$0-border;
#X obj 201 354 s \$0-title;
-#X obj 605 99 r \$0-reset;
#N canvas 487 195 450 300 dimen 0;
#X obj 80 14 inlet;
#X obj 80 242 s \$0-dimen;
@@ -764,41 +767,50 @@ a minimum compatibility with old patches;
-1 -1 \, secondscreen 0;
#X obj 277 106 t a b;
#X msg 320 107 0;
+#X obj 111 162 route dimen fullscreen offset secondscreen transparent
+;
+#X obj 457 185 i;
+#X obj 457 207 != 0;
+#X obj 605 99 r \$0-reset;
+#X obj 457 229 s \$0-transparent;
#X connect 0 0 2 0;
-#X connect 2 0 10 0;
-#X connect 2 1 34 0;
-#X connect 2 2 4 0;
-#X connect 4 0 25 0;
-#X connect 4 1 26 0;
-#X connect 4 2 29 0;
-#X connect 4 3 30 0;
-#X connect 4 4 5 0;
-#X connect 5 0 20 0;
-#X connect 5 1 23 0;
-#X connect 5 2 6 0;
-#X connect 6 0 13 0;
-#X connect 6 1 15 0;
-#X connect 6 2 18 0;
-#X connect 6 3 7 0;
-#X connect 7 0 8 0;
-#X connect 7 1 9 0;
-#X connect 7 2 1 0;
-#X connect 13 0 14 0;
-#X connect 14 0 12 0;
+#X connect 2 0 9 0;
+#X connect 2 1 32 0;
+#X connect 2 2 34 0;
+#X connect 4 0 19 0;
+#X connect 4 1 22 0;
+#X connect 4 2 5 0;
+#X connect 5 0 12 0;
+#X connect 5 1 14 0;
+#X connect 5 2 17 0;
+#X connect 5 3 6 0;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 6 2 1 0;
+#X connect 12 0 13 0;
+#X connect 13 0 11 0;
+#X connect 14 0 15 0;
#X connect 15 0 16 0;
-#X connect 16 0 17 0;
-#X connect 18 0 19 0;
+#X connect 17 0 18 0;
+#X connect 19 0 20 0;
#X connect 20 0 21 0;
-#X connect 21 0 22 0;
-#X connect 24 0 33 0;
-#X connect 26 0 27 0;
-#X connect 27 0 28 0;
-#X connect 30 0 31 0;
-#X connect 31 0 32 0;
-#X connect 33 0 4 0;
-#X connect 34 0 11 0;
-#X connect 34 1 35 0;
-#X connect 35 0 1 0;
+#X connect 24 0 25 0;
+#X connect 25 0 26 0;
+#X connect 28 0 29 0;
+#X connect 29 0 30 0;
+#X connect 31 0 34 0;
+#X connect 32 0 10 0;
+#X connect 32 1 33 0;
+#X connect 33 0 1 0;
+#X connect 34 0 23 0;
+#X connect 34 1 24 0;
+#X connect 34 2 27 0;
+#X connect 34 3 28 0;
+#X connect 34 4 35 0;
+#X connect 34 5 4 0;
+#X connect 35 0 36 0;
+#X connect 36 0 38 0;
+#X connect 37 0 31 0;
#X restore 118 106 pd window;
#N canvas 1 51 450 300 print 0;
#X obj 118 78 t b;
@@ -907,7 +919,7 @@ stereoFoc stereofoc stereoLine stereoline;
#X connect 8 1 1 0;
#X connect 9 0 5 0;
#X restore 118 272 pd color;
-#N canvas 1 51 749 300 render 0;
+#N canvas 0 93 749 300 render 0;
#X obj 31 38 inlet;
#X obj 143 36 outlet;
#X obj 31 189 s \$0-render;
@@ -2859,13 +2871,13 @@ stereoFoc stereofoc stereoLine stereoline;
#X obj 131 351 t b b;
#N canvas 1 51 514 604 clear 0;
#X obj 121 26 inlet;
-#X obj 121 118 GEMglFlush;
-#X obj 121 162 GEMglLoadIdentity;
-#X obj 121 184 list prepend 2;
-#X obj 121 206 route 1 2;
-#X obj 121 228 GEMglFlush;
-#X obj 230 118 r \$0-clearmask;
-#X obj 121 140 GEMglClear 17664;
+#X obj 369 112 GEMglFlush;
+#X obj 121 152 GEMglLoadIdentity;
+#X obj 121 174 list prepend 2;
+#X obj 121 196 route 1 2;
+#X obj 121 218 GEMglFlush;
+#X obj 230 108 r \$0-clearmask;
+#X obj 121 130 GEMglClear 17664;
#N canvas 632 294 377 366 viewpoint 0;
#X obj 144 37 inlet gemlist;
#X obj 144 298 outlet gemlist;
@@ -2965,15 +2977,26 @@ stereoFoc stereofoc stereoLine stereoline;
#X connect 11 1 12 0;
#X connect 12 0 5 0;
#X restore 121 52 pd GemState;
+#X obj 121 74 t a a;
+#X obj 369 91 spigot;
+#X obj 376 25 r \$0-buffer;
+#X obj 376 47 t f f;
+#X obj 408 69 == 1;
#X connect 0 0 9 0;
-#X connect 1 0 7 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 6 0 7 1;
#X connect 7 0 2 0;
-#X connect 9 0 1 0;
+#X connect 9 0 10 0;
+#X connect 10 0 7 0;
+#X connect 10 1 11 0;
+#X connect 11 0 1 0;
+#X connect 12 0 13 0;
+#X connect 13 0 3 1;
+#X connect 13 1 14 0;
+#X connect 14 0 11 1;
#X restore 437 361 pd clear;
#X obj 131 307 symbol;
#X obj 131 263 t b s;
@@ -2984,7 +3007,7 @@ stereoFoc stereofoc stereoLine stereoline;
#X obj 358 210 r \$0-doclear;
#X obj 22 219 r \$0-dorender;
#X obj 126 96 t a b;
-#N canvas 5 49 450 300 loadbang 0;
+#N canvas 2 93 450 300 loadbang 0;
#X obj 77 35 inlet;
#X obj 77 57 t b;
#X obj 77 79 spigot 1;
diff --git a/Gem/pix_drum.pd_darwin b/Gem/pix_drum.pd_darwin
index 8e9b3ad..cc4ff82 100755
--- a/Gem/pix_drum.pd_darwin
+++ b/Gem/pix_drum.pd_darwin
Binary files differ
diff --git a/Gem/pix_fiducialtrack.pd_darwin b/Gem/pix_fiducialtrack.pd_darwin
index 9b33d3f..dc8dac3 100755
--- a/Gem/pix_fiducialtrack.pd_darwin
+++ b/Gem/pix_fiducialtrack.pd_darwin
Binary files differ
diff --git a/Gem/pix_hit.pd_darwin b/Gem/pix_hit.pd_darwin
index 698623a..9d33333 100755
--- a/Gem/pix_hit.pd_darwin
+++ b/Gem/pix_hit.pd_darwin
Binary files differ
diff --git a/Gem/pix_mano.pd_darwin b/Gem/pix_mano.pd_darwin
index 571f0ec..4ef6252 100755
--- a/Gem/pix_mano.pd_darwin
+++ b/Gem/pix_mano.pd_darwin
Binary files differ