aboutsummaryrefslogtreecommitdiff
path: root/Gem/examples/10.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'Gem/examples/10.glsl')
-rw-r--r--Gem/examples/10.glsl/01.simple_texture.pd6
-rw-r--r--Gem/examples/10.glsl/02.primitive_distortion.pd10
-rw-r--r--Gem/examples/10.glsl/03.texture_distortion.pd6
-rw-r--r--Gem/examples/10.glsl/04.game_of_life.pd4
-rw-r--r--Gem/examples/10.glsl/05.multitexture.pd6
-rw-r--r--Gem/examples/10.glsl/05.multitexture_bis.pd4
-rw-r--r--Gem/examples/10.glsl/06.rectangle_multitexture.pd2
-rw-r--r--Gem/examples/10.glsl/07.framebuffer_and_shader.pd6
-rw-r--r--Gem/examples/10.glsl/08.multi_pass_rendering.pd4
-rw-r--r--Gem/examples/10.glsl/09.vertex_texture_fetching.pd4
-rw-r--r--Gem/examples/10.glsl/10.GPGPU_Physical_model.pd10
-rw-r--r--Gem/examples/10.glsl/11.geometry.pd6
-rw-r--r--Gem/examples/10.glsl/12.tri2fan.pd4
-rw-r--r--Gem/examples/10.glsl/13.panoramique.pd248
-rw-r--r--Gem/examples/10.glsl/14.blur.pd2
-rw-r--r--Gem/examples/10.glsl/15.bicubic_image_interpolation.pd2
-rw-r--r--Gem/examples/10.glsl/16.vertexbuffer_attributes.pd8
17 files changed, 183 insertions, 149 deletions
diff --git a/Gem/examples/10.glsl/01.simple_texture.pd b/Gem/examples/10.glsl/01.simple_texture.pd
index 2d1c6ba..7ee3de6 100644
--- a/Gem/examples/10.glsl/01.simple_texture.pd
+++ b/Gem/examples/10.glsl/01.simple_texture.pd
@@ -1,4 +1,5 @@
#N canvas 486 82 722 633 10;
+#X declare -lib Gem;
#X obj 76 22 gemhead;
#X obj 76 367 glsl_program;
#X obj 169 329 print linking;
@@ -13,7 +14,7 @@
#X msg 106 154 open texture.frag;
#X obj 76 197 glsl_fragment;
#X text 215 459 <- load texture;
-#X obj 106 535 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+#X obj 106 535 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 76 489 pix_image img1.jpg;
#X msg 103 460 open img2.jpg;
@@ -41,7 +42,7 @@
#X restore 566 142 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;
+-1 -1 0 1;
#X obj 102 161 r \$0-gemstart;
#X obj 102 182 select 1 0;
#X msg 102 214 create \, 1;
@@ -88,6 +89,7 @@
#X floatatom 192 372 0 0 0 0 - - -;
#X msg 151 308 link \$1;
#X obj 151 259 change;
+#X obj 604 13 declare -lib Gem;
#X connect 0 0 11 0;
#X connect 1 0 3 0;
#X connect 1 1 38 0;
diff --git a/Gem/examples/10.glsl/02.primitive_distortion.pd b/Gem/examples/10.glsl/02.primitive_distortion.pd
index dd3ca85..07a3180 100644
--- a/Gem/examples/10.glsl/02.primitive_distortion.pd
+++ b/Gem/examples/10.glsl/02.primitive_distortion.pd
@@ -1,17 +1,18 @@
-#N canvas 228 49 587 690 10;
+#N canvas 228 61 587 690 10;
+#X declare -lib Gem;
#X obj 74 19 gemhead;
#X msg 29 100 print;
#X obj 74 362 glsl_program;
#X obj 215 141 change;
#X msg 98 333 print;
-#X floatatom 215 164 2 0 0 0 ID - -, f 2;
+#X floatatom 215 164 2 0 0 0 ID - -;
#X obj 164 312 print linking;
#X obj 74 122 glsl_vertex;
#X obj 74 551 pix_texture;
#X obj 74 44 alpha;
#X obj 101 497 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
-#X floatatom 292 302 5 0 0 0 - - -, f 5;
+#X floatatom 292 302 5 0 0 0 - - -;
#X msg 101 475 0;
#X msg 292 323 K \$1;
#X obj 74 594 sphere 2 30;
@@ -92,7 +93,7 @@ move all vertices separately;
#X msg 101 517 rectangle \$1;
#X obj 74 180 glsl_fragment;
#X obj 162 202 change;
-#X floatatom 162 225 2 0 0 0 ID - -, f 2;
+#X floatatom 162 225 2 0 0 0 ID - -;
#X obj 162 244 pack 0 0;
#X msg 162 291 link \$1 \$2;
#X msg 198 100 open \$1.frag;
@@ -100,6 +101,7 @@ move all vertices separately;
#X obj 166 63 t s s;
#X msg 88 100 open \$1.vert;
#X text 423 651 ch 2007;
+#X obj 389 43 declare -lib Gem;
#X connect 0 0 9 0;
#X connect 1 0 7 0;
#X connect 2 0 22 0;
diff --git a/Gem/examples/10.glsl/03.texture_distortion.pd b/Gem/examples/10.glsl/03.texture_distortion.pd
index be30c96..33e3c64 100644
--- a/Gem/examples/10.glsl/03.texture_distortion.pd
+++ b/Gem/examples/10.glsl/03.texture_distortion.pd
@@ -1,4 +1,5 @@
-#N canvas 10 10 552 667 10;
+#N canvas 10 61 552 667 10;
+#X declare -lib Gem;
#X text 381 660 ch 20007;
#X obj 74 -1 gemhead;
#X msg 29 80 print;
@@ -64,7 +65,7 @@ and distort the texture this with value;
#X restore 384 41 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;
+-1 -1 0 1;
#X obj 102 161 r \$0-gemstart;
#X obj 102 182 select 1 0;
#X msg 102 214 create \, 1;
@@ -103,6 +104,7 @@ and distort the texture this with value;
#X coords 0 -1 1 1 85 40 1 100 100;
#X restore 354 58 pd gemwin;
#X msg 124 542 rectangle \$1;
+#X obj 384 23 declare -lib Gem;
#X connect 1 0 18 0;
#X connect 2 0 15 0;
#X connect 3 0 33 0;
diff --git a/Gem/examples/10.glsl/04.game_of_life.pd b/Gem/examples/10.glsl/04.game_of_life.pd
index 16ccb57..1aced3e 100644
--- a/Gem/examples/10.glsl/04.game_of_life.pd
+++ b/Gem/examples/10.glsl/04.game_of_life.pd
@@ -1,4 +1,5 @@
-#N canvas 10 10 599 681 10;
+#N canvas 10 61 599 681 10;
+#X declare -lib Gem;
#X obj 316 488 pix_snap2tex;
#X msg 356 461 0 0;
#X msg 402 460 500 500;
@@ -92,6 +93,7 @@ of the shader is used for next frame input;
#X connect 16 0 0 0;
#X coords 0 -1 1 1 85 40 1 100 100;
#X restore 52 117 pd gemwin;
+#X obj 484 13 declare -lib Gem;
#X connect 0 0 4 0;
#X connect 1 0 0 1;
#X connect 2 0 0 2;
diff --git a/Gem/examples/10.glsl/05.multitexture.pd b/Gem/examples/10.glsl/05.multitexture.pd
index 58a507d..c329a7d 100644
--- a/Gem/examples/10.glsl/05.multitexture.pd
+++ b/Gem/examples/10.glsl/05.multitexture.pd
@@ -1,4 +1,5 @@
-#N canvas 10 10 930 667 10;
+#N canvas 10 61 930 667 10;
+#X declare -lib Gem;
#X obj 76 5 gemhead;
#X obj 75 429 glsl_program;
#X obj 149 268 pack 0 0;
@@ -91,7 +92,7 @@ mixes 2 textures;
#X restore 395 47 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;
+-1 -1 0 1;
#X obj 102 161 r \$0-gemstart;
#X obj 102 182 select 1 0;
#X msg 102 214 create \, 1;
@@ -135,6 +136,7 @@ mixes 2 textures;
#X msg 220 591 texunit 2 \, rectangle 0;
#X msg 491 409 texunit 0 \, rectangle 0;
#X msg 716 409 texunit 1 \, rectangle 0;
+#X obj 793 7 declare -lib Gem;
#X connect 0 0 11 0;
#X connect 1 0 56 0;
#X connect 1 1 39 0;
diff --git a/Gem/examples/10.glsl/05.multitexture_bis.pd b/Gem/examples/10.glsl/05.multitexture_bis.pd
index a727b04..2ec6887 100644
--- a/Gem/examples/10.glsl/05.multitexture_bis.pd
+++ b/Gem/examples/10.glsl/05.multitexture_bis.pd
@@ -1,4 +1,5 @@
#N canvas 207 200 1100 637 10;
+#X declare -lib Gem;
#X obj 76 5 gemhead;
#X obj 75 429 glsl_program;
#X obj 149 268 pack 0 0;
@@ -76,7 +77,7 @@ mixes 2 textures;
#X restore 395 47 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;
+-1 -1 0 1;
#X obj 102 161 r \$0-gemstart;
#X obj 102 182 select 1 0;
#X msg 102 214 create \, 1;
@@ -133,6 +134,7 @@ mixes 2 textures;
#X msg 471 402 rectangle 0;
#X msg 462 313 open img1.jpg;
#X obj 443 342 pix_image img1.jpg;
+#X obj 983 7 declare -lib Gem;
#X connect 0 0 11 0;
#X connect 1 0 48 0;
#X connect 1 1 30 0;
diff --git a/Gem/examples/10.glsl/06.rectangle_multitexture.pd b/Gem/examples/10.glsl/06.rectangle_multitexture.pd
index 235e888..ce2c58b 100644
--- a/Gem/examples/10.glsl/06.rectangle_multitexture.pd
+++ b/Gem/examples/10.glsl/06.rectangle_multitexture.pd
@@ -1,4 +1,5 @@
#N canvas 511 97 648 675 10;
+#X declare -lib Gem;
#X obj 279 76 gemhead;
#X obj 295 208 loadbang;
#X obj 279 251 pix_texture;
@@ -140,6 +141,7 @@ for crossfading);
#X text 292 186 images have different sizes;
#X msg 139 507 mix_factor \$1;
#X obj 37 646 square 4;
+#X obj 543 647 declare -lib Gem;
#X connect 0 0 61 0;
#X connect 1 0 3 0;
#X connect 3 0 2 0;
diff --git a/Gem/examples/10.glsl/07.framebuffer_and_shader.pd b/Gem/examples/10.glsl/07.framebuffer_and_shader.pd
index b59a1af..5a5fa7b 100644
--- a/Gem/examples/10.glsl/07.framebuffer_and_shader.pd
+++ b/Gem/examples/10.glsl/07.framebuffer_and_shader.pd
@@ -1,4 +1,5 @@
-#N canvas 1 25 1126 659 10;
+#N canvas 30 77 1126 659 10;
+#X declare -lib Gem;
#X obj 9 470 translateXYZ 0 0 -4;
#X obj 9 234 ortho;
#X floatatom 83 538 5 0 0 0 - - -;
@@ -298,7 +299,7 @@ and multitextures;
#X restore 760 47 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;
+-1 -1 0 1;
#X obj 102 161 r \$0-gemstart;
#X obj 102 182 select 1 0;
#X msg 102 214 create \, 1;
@@ -343,6 +344,7 @@ and multitextures;
#X msg 867 255 K \$1 \, texture1 2 \, texture2 3;
#X text 880 276 texture1==base;
#X text 882 294 texture2==deformation;
+#X obj 1004 13 declare -lib Gem;
#X connect 0 0 5 0;
#X connect 1 0 18 0;
#X connect 3 0 2 0;
diff --git a/Gem/examples/10.glsl/08.multi_pass_rendering.pd b/Gem/examples/10.glsl/08.multi_pass_rendering.pd
index ac97f0a..a0a004f 100644
--- a/Gem/examples/10.glsl/08.multi_pass_rendering.pd
+++ b/Gem/examples/10.glsl/08.multi_pass_rendering.pd
@@ -1,4 +1,5 @@
#N canvas 208 184 980 477 10;
+#X declare -lib Gem;
#X obj 42 315 square 4;
#X obj 42 199 translateXYZ 0 0 -4;
#X obj 671 399 pix_texture;
@@ -246,7 +247,7 @@
#X restore 99 394 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;
+-1 -1 0 1;
#X obj 102 161 r \$0-gemstart;
#X obj 102 182 select 1 0;
#X msg 102 214 create \, 1;
@@ -292,6 +293,7 @@
#X obj 353 291 pix_texture;
#X msg 666 209 rectangle 0;
#X msg 691 378 rectangle 0;
+#X obj 99 376 declare -lib Gem;
#X connect 1 0 13 0;
#X connect 2 0 3 0;
#X connect 4 0 52 0;
diff --git a/Gem/examples/10.glsl/09.vertex_texture_fetching.pd b/Gem/examples/10.glsl/09.vertex_texture_fetching.pd
index 665b9a2..d03c0f6 100644
--- a/Gem/examples/10.glsl/09.vertex_texture_fetching.pd
+++ b/Gem/examples/10.glsl/09.vertex_texture_fetching.pd
@@ -1,4 +1,5 @@
-#N canvas 239 0 785 526 10;
+#N canvas 239 61 690 677 10;
+#X declare -lib Gem;
#X obj 504 69 gemhead;
#X obj 576 346 pack 0 0;
#X obj 597 326 t b f;
@@ -102,6 +103,7 @@ able to run this patch.;
1024;
#X msg 44 439 rectangle 0 \, quality 0;
#X obj 520 437 loadbang;
+#X obj 563 7 declare -lib Gem;
#X connect 0 0 15 0;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
diff --git a/Gem/examples/10.glsl/10.GPGPU_Physical_model.pd b/Gem/examples/10.glsl/10.GPGPU_Physical_model.pd
index af34621..04253b1 100644
--- a/Gem/examples/10.glsl/10.GPGPU_Physical_model.pd
+++ b/Gem/examples/10.glsl/10.GPGPU_Physical_model.pd
@@ -1,5 +1,6 @@
-#N struct 1002-xy-pad-knob-1 float x0 float y0 float id;
+#N struct 1071-xy-pad-knob-1 float x0 float y0 float id;
#N canvas 75 218 764 482 10;
+#X declare -lib Gem;
#X obj 27 380 hradio 15 1 0 5 empty empty empty 0 -8 0 10 -262144 -1
-1 0;
#X floatatom 185 212 5 0 0 0 - - -;
@@ -796,7 +797,7 @@
#X restore 66 188 pd Gem.init;
#N canvas 341 104 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;
+-1 -1 0 1;
#X obj 102 161 r \$0-gemstart;
#X obj 102 182 select 1 0;
#X msg 102 214 create \, 1;
@@ -1113,7 +1114,7 @@ y0(0:90)(0:90) x0(0:90)(10:100) y0(0:90)(10:100) x0(0:90)(0:90) y0(0:90)(10:100)
#X obj 304 74 cnv 10 12 12 empty empty empty 20 12 0 14 -99865 -66577
0;
#N canvas 493 264 450 300 \$0-work 0;
-#X scalar 1002-xy-pad-knob-1 71.2205 45 900 \;;
+#X scalar 1071-xy-pad-knob-1 45 45 900 \;;
#X coords 0 100 100 0 100 100 1;
#X restore 260 30 pd \$0-work;
#X obj 451 532 wrap;
@@ -1184,7 +1185,7 @@ y0(0:90)(0:90) x0(0:90)(10:100) y0(0:90)(10:100) x0(0:90)(0:90) y0(0:90)(10:100)
#X coords 0 -1 1 1 100 100 2 260 30;
#X restore 445 290 pd \$0-pad;
#X obj 445 151 vsl 15 128 0 1 0 0 empty \$0-force force 0 -9 0 10 -262144
--1 -1 7400 1;
+-1 -1 0 1;
#X obj 538 152 vsl 15 128 0 1 0 0 empty \$0-direction direction 0 -9
0 10 -262144 -1 -1 0 1;
#N canvas 424 571 337 368 wind-control. 0;
@@ -1232,6 +1233,7 @@ of 64x92 masses \, and 64x92x12 links at 50x20 Hz. (about 7e+07 links/sec
on a CPU) (My GPU is old \, this patch performs 10 to 50 times faster
on a good GPU);
#X obj 606 346 s qqt_noise;
+#X obj 654 13 declare -lib Gem;
#X connect 0 0 5 0;
#X connect 2 0 1 0;
#X connect 9 0 10 0;
diff --git a/Gem/examples/10.glsl/11.geometry.pd b/Gem/examples/10.glsl/11.geometry.pd
index 1cebc5e..a11d428 100644
--- a/Gem/examples/10.glsl/11.geometry.pd
+++ b/Gem/examples/10.glsl/11.geometry.pd
@@ -1,4 +1,5 @@
-#N canvas 197 25 552 632 10;
+#N canvas 197 61 552 632 10;
+#X declare -lib Gem;
#X floatatom 132 447 9 0 0 0 ID - -;
#X floatatom 132 279 9 0 0 0 ID - -;
#X obj 150 506 print linking;
@@ -45,7 +46,7 @@ vertex shader. coordinate are in 2d.;
#X restore 366 247 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;
+-1 -1 0 1;
#X obj 102 161 r \$0-gemstart;
#X obj 102 182 select 1 0;
#X msg 102 214 create \, 1;
@@ -85,6 +86,7 @@ vertex shader. coordinate are in 2d.;
#X restore 336 264 pd gemwin;
#X msg 233 206 set -1;
#X obj 182 176 t b b b b;
+#X obj 444 13 declare -lib Gem;
#X connect 0 0 3 0;
#X connect 1 0 3 2;
#X connect 3 0 6 0;
diff --git a/Gem/examples/10.glsl/12.tri2fan.pd b/Gem/examples/10.glsl/12.tri2fan.pd
index c681b1b..84ccdf4 100644
--- a/Gem/examples/10.glsl/12.tri2fan.pd
+++ b/Gem/examples/10.glsl/12.tri2fan.pd
@@ -1,4 +1,5 @@
-#N canvas 17 56 785 745 10;
+#N canvas 17 61 785 745 10;
+#X declare -lib Gem;
#X floatatom 286 440 9 0 0 0 ID - -;
#X floatatom 249 264 9 0 0 0 ID - -;
#X obj 296 500 print linking;
@@ -96,6 +97,7 @@ which depend on the normal of the original primitive;
#X obj 552 635 pack f f;
#X obj 520 611 t f f;
#X msg 552 655 force \$1 \$2 0.3;
+#X obj 674 13 declare -lib Gem;
#X connect 0 0 3 0;
#X connect 1 0 3 2;
#X connect 3 0 6 0;
diff --git a/Gem/examples/10.glsl/13.panoramique.pd b/Gem/examples/10.glsl/13.panoramique.pd
index c0ccbd2..9b1adb2 100644
--- a/Gem/examples/10.glsl/13.panoramique.pd
+++ b/Gem/examples/10.glsl/13.panoramique.pd
@@ -1,8 +1,9 @@
-#N canvas 189 90 1107 660 10;
-#X msg 17 91 create \, 1;
-#X msg 30 114 0 \, destroy;
-#X obj 160 405 pix_texture;
-#X obj 169 165 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+#N canvas 189 90 1107 668 10;
+#X declare -lib Gem;
+#X msg 17 131 create \, 1;
+#X msg 30 154 0 \, destroy;
+#X obj 160 445 pix_texture;
+#X obj 169 205 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#N canvas 38 51 792 790 glsl 0;
#X obj 78 339 glsl_vertex;
@@ -70,16 +71,16 @@
#X connect 27 2 26 0;
#X connect 28 0 0 0;
#X connect 29 0 9 0;
-#X restore 160 182 pd glsl;
-#X obj 175 245 loadbang;
-#X obj 160 288 pix_image;
-#X msg 174 379 rectangle 1;
-#X obj 174 358 loadbang;
-#X obj 160 317 pix_info 0 0 0;
-#X msg 238 148 sizeX \$1;
-#X msg 253 169 sizeY \$1;
-#X obj 353 406 pix_texture;
-#X obj 362 166 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+#X restore 160 222 pd glsl;
+#X obj 175 285 loadbang;
+#X obj 160 328 pix_image;
+#X msg 174 419 rectangle 1;
+#X obj 174 398 loadbang;
+#X obj 160 357 pix_info 0 0 0;
+#X msg 238 188 sizeX \$1;
+#X msg 253 209 sizeY \$1;
+#X obj 353 446 pix_texture;
+#X obj 362 206 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#N canvas 38 51 792 790 glsl 0;
#X obj 78 339 glsl_vertex;
@@ -147,16 +148,16 @@
#X connect 27 2 26 0;
#X connect 28 0 0 0;
#X connect 29 0 9 0;
-#X restore 353 183 pd glsl;
-#X obj 368 246 loadbang;
-#X obj 353 289 pix_image;
-#X msg 367 378 rectangle 1;
-#X obj 367 359 loadbang;
-#X obj 353 318 pix_info 0 0 0;
-#X msg 431 144 sizeX \$1;
-#X msg 446 170 sizeY \$1;
-#X obj 552 407 pix_texture;
-#X obj 561 167 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+#X restore 353 223 pd glsl;
+#X obj 368 286 loadbang;
+#X obj 353 329 pix_image;
+#X msg 367 418 rectangle 1;
+#X obj 367 399 loadbang;
+#X obj 353 358 pix_info 0 0 0;
+#X msg 431 184 sizeX \$1;
+#X msg 446 210 sizeY \$1;
+#X obj 552 447 pix_texture;
+#X obj 561 207 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#N canvas 38 51 792 790 glsl 0;
#X obj 78 339 glsl_vertex;
@@ -224,19 +225,19 @@
#X connect 27 2 26 0;
#X connect 28 0 0 0;
#X connect 29 0 9 0;
-#X restore 552 184 pd glsl;
-#X obj 567 247 loadbang;
-#X obj 552 290 pix_image;
-#X msg 566 379 rectangle 1;
-#X obj 566 360 loadbang;
-#X obj 552 319 pix_info 0 0 0;
-#X msg 614 148 sizeX \$1;
-#X msg 633 166 sizeY \$1;
-#X obj 160 427 translateXYZ -3 0 0;
-#X obj 352 426 translateXYZ -1 0 0;
-#X obj 551 427 translateXYZ 1 0 0;
-#X obj 747 408 pix_texture;
-#X obj 756 168 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+#X restore 552 224 pd glsl;
+#X obj 567 287 loadbang;
+#X obj 552 330 pix_image;
+#X msg 566 419 rectangle 1;
+#X obj 566 400 loadbang;
+#X obj 552 359 pix_info 0 0 0;
+#X msg 614 188 sizeX \$1;
+#X msg 633 206 sizeY \$1;
+#X obj 160 467 translateXYZ -3 0 0;
+#X obj 352 466 translateXYZ -1 0 0;
+#X obj 551 467 translateXYZ 1 0 0;
+#X obj 747 448 pix_texture;
+#X obj 756 208 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#N canvas 38 51 792 790 glsl 0;
#X obj 78 339 glsl_vertex;
@@ -304,106 +305,107 @@
#X connect 27 2 26 0;
#X connect 28 0 0 0;
#X connect 29 0 9 0;
-#X restore 747 185 pd glsl;
-#X obj 762 248 loadbang;
-#X obj 747 291 pix_image;
-#X msg 761 380 rectangle 1;
-#X obj 761 361 loadbang;
-#X obj 747 320 pix_info 0 0 0;
-#X msg 825 146 sizeX \$1;
-#X msg 840 172 sizeY \$1;
-#X obj 746 428 translateXYZ 3 0 0;
-#X floatatom 199 68 5 0 0 0 - - -;
-#X msg 199 87 dZ \$1;
-#X obj 17 430 s shaders;
-#X obj 206 205 s init_shader;
-#X obj 399 204 s init_shader;
-#X obj 600 204 s init_shader;
-#X obj 794 206 s init_shader;
-#X obj 399 124 r shaders;
-#X obj 598 126 r shaders;
-#X obj 793 127 r shaders;
-#X obj 160 506 rectangle 1 0.75;
-#X obj 352 507 rectangle 1 0.75;
-#X obj 551 508 rectangle 1 0.75;
-#X obj 746 509 rectangle 1 0.75;
-#X obj 160 463 translateXYZ 0 0 0;
-#X obj 201 446 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+#X restore 747 225 pd glsl;
+#X obj 762 288 loadbang;
+#X obj 747 331 pix_image;
+#X msg 761 420 rectangle 1;
+#X obj 761 401 loadbang;
+#X obj 747 360 pix_info 0 0 0;
+#X msg 825 186 sizeX \$1;
+#X msg 840 212 sizeY \$1;
+#X obj 746 468 translateXYZ 3 0 0;
+#X floatatom 199 108 5 0 0 0 - - -;
+#X msg 199 127 dZ \$1;
+#X obj 17 470 s shaders;
+#X obj 206 245 s init_shader;
+#X obj 399 244 s init_shader;
+#X obj 600 244 s init_shader;
+#X obj 794 246 s init_shader;
+#X obj 399 164 r shaders;
+#X obj 598 166 r shaders;
+#X obj 793 167 r shaders;
+#X obj 160 546 rectangle 1 0.75;
+#X obj 352 547 rectangle 1 0.75;
+#X obj 551 548 rectangle 1 0.75;
+#X obj 746 549 rectangle 1 0.75;
+#X obj 160 503 translateXYZ 0 0 0;
+#X obj 201 486 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 0.12 256;
-#X obj 259 446 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+#X obj 259 486 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 -0.06 256;
-#X obj 352 465 translateXYZ 0 0 0;
-#X obj 393 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+#X obj 352 505 translateXYZ 0 0 0;
+#X obj 393 488 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 0 256;
-#X obj 451 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+#X obj 451 488 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 0 256;
-#X obj 551 466 translateXYZ 0 0 0;
-#X obj 592 449 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+#X obj 551 506 translateXYZ 0 0 0;
+#X obj 592 489 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 -0.11 256;
-#X obj 650 449 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+#X obj 650 489 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 -0.03 256;
-#X obj 746 465 translateXYZ 0 0 0;
-#X obj 787 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+#X obj 746 505 translateXYZ 0 0 0;
+#X obj 787 488 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 -0.18 256;
-#X obj 845 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+#X obj 845 488 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 -0.05 256;
-#X obj 160 -30 gemhead 10;
-#X obj 353 -29 gemhead 20;
-#X obj 552 -28 gemhead 30;
-#X obj 747 -27 gemhead 40;
-#X obj 160 104 alpha;
-#X obj 353 103 alpha;
-#X obj 552 99 alpha;
-#X obj 747 102 alpha;
-#X msg 256 113 ShadeL \$1;
-#X obj 199 25 r init_shader;
-#X obj 256 92 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+#X obj 160 10 gemhead 10;
+#X obj 353 11 gemhead 20;
+#X obj 552 12 gemhead 30;
+#X obj 747 13 gemhead 40;
+#X obj 160 144 alpha;
+#X obj 353 143 alpha;
+#X obj 552 139 alpha;
+#X obj 747 142 alpha;
+#X msg 256 153 ShadeL \$1;
+#X obj 199 65 r init_shader;
+#X obj 256 132 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 0 256;
-#X msg 447 93 ShadeL \$1;
-#X obj 447 72 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+#X msg 447 133 ShadeL \$1;
+#X obj 447 112 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 39 256;
-#X msg 634 95 ShadeL \$1;
-#X obj 634 74 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+#X msg 634 135 ShadeL \$1;
+#X obj 634 114 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 35 256;
-#X msg 831 93 ShadeL \$1;
-#X obj 831 72 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+#X msg 831 133 ShadeL \$1;
+#X obj 831 112 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 23 256;
-#X msg 212 486 -1;
-#X msg 269 485 -0.75;
-#X text 163 486 invert;
-#X msg 406 485 -1;
-#X msg 463 484 -0.75;
-#X text 357 485 invert;
-#X msg 605 488 -1;
-#X msg 662 487 -0.75;
-#X text 556 488 invert;
-#X msg 800 489 -1;
-#X msg 857 488 -0.75;
-#X text 751 489 invert;
-#X obj 17 218 gemwin;
-#X obj 37 168 loadbang;
-#X obj 160 -8 scaleXYZ 4 4 1;
-#X obj 353 -8 scaleXYZ 4 4 1;
-#X obj 552 -4 scaleXYZ 4 4 1;
-#X obj 747 -5 scaleXYZ 4 4 1;
-#X text 21 548 This patch allow multiples images to be assembled in
+#X msg 212 526 -1;
+#X msg 269 525 -0.75;
+#X text 163 526 invert;
+#X msg 406 525 -1;
+#X msg 463 524 -0.75;
+#X text 357 525 invert;
+#X msg 605 528 -1;
+#X msg 662 527 -0.75;
+#X text 556 528 invert;
+#X msg 800 529 -1;
+#X msg 857 528 -0.75;
+#X text 751 529 invert;
+#X obj 17 258 gemwin;
+#X obj 37 208 loadbang;
+#X obj 160 32 scaleXYZ 4 4 1;
+#X obj 353 32 scaleXYZ 4 4 1;
+#X obj 552 36 scaleXYZ 4 4 1;
+#X obj 747 35 scaleXYZ 4 4 1;
+#X text 21 588 This patch allow multiples images to be assembled in
order to create a panoramic image.;
-#X text 20 575 A shader distord the image to correct distance distortion
+#X text 20 615 A shader distord the image to correct distance distortion
\, and allow a fade between 2 images;
-#X text 17 602 "dz" depend on the angles between images.;
-#X text 462 579 copyright cyrille Henry and iem.;
-#X text 463 596 This development was supported by the COMEDIA project
+#X text 17 642 "dz" depend on the angles between images.;
+#X text 462 619 copyright cyrille Henry and iem.;
+#X text 463 636 This development was supported by the COMEDIA project
;
-#X floatatom 18 354 5 0 0 0 - - -;
-#X msg 18 373 dZ \$1;
-#X obj 18 311 r init_shader;
-#X msg 18 333 1.62;
-#X msg 199 47 1.38;
-#X msg 37 192 dimen 1024 256;
-#X msg 177 264 thread 0 \, open cam1.jpg;
-#X msg 370 265 thread 0 \, open cam2.jpg;
-#X msg 569 266 thread 0 \, open cam3.jpg;
-#X msg 764 267 thread 0 \, open cam4.jpg;
+#X floatatom 18 394 5 0 0 0 - - -;
+#X msg 18 413 dZ \$1;
+#X obj 18 351 r init_shader;
+#X msg 18 373 1.62;
+#X msg 199 87 1.38;
+#X msg 37 232 dimen 1024 256;
+#X msg 177 304 thread 0 \, open cam1.jpg;
+#X msg 370 305 thread 0 \, open cam2.jpg;
+#X msg 569 306 thread 0 \, open cam3.jpg;
+#X msg 764 307 thread 0 \, open cam4.jpg;
+#X obj 964 623 declare -lib Gem;
#X connect 0 0 101 0;
#X connect 1 0 101 0;
#X connect 2 0 32 0;
diff --git a/Gem/examples/10.glsl/14.blur.pd b/Gem/examples/10.glsl/14.blur.pd
index 645d1aa..e2c7905 100644
--- a/Gem/examples/10.glsl/14.blur.pd
+++ b/Gem/examples/10.glsl/14.blur.pd
@@ -1,4 +1,5 @@
#N canvas 481 142 778 497 10;
+#X declare -lib Gem;
#X obj 16 74 gemhead;
#X obj 16 130 gemframebuffer;
#X obj 129 13 loadbang;
@@ -135,6 +136,7 @@ frame 20 \,;
#X text 556 67 motion blur;
#X obj 557 226 * 1;
#X text 640 129 angle (radian);
+#X obj 663 7 declare -lib Gem;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 28 0;
diff --git a/Gem/examples/10.glsl/15.bicubic_image_interpolation.pd b/Gem/examples/10.glsl/15.bicubic_image_interpolation.pd
index e77e971..dd0d6de 100644
--- a/Gem/examples/10.glsl/15.bicubic_image_interpolation.pd
+++ b/Gem/examples/10.glsl/15.bicubic_image_interpolation.pd
@@ -1,4 +1,5 @@
#N canvas 22 145 681 529 10;
+#X declare -lib Gem;
#X obj 232 189 gemhead;
#X obj 232 356 pix_noise 5 5;
#X obj 232 446 pix_texture;
@@ -36,6 +37,7 @@
image interpolation. Bicubic interpolation offer a smoother surface
than obtain with bilinear interpolation. But since it need 16 sample
to compute the interpolation \, it is quite slow.;
+#X obj 563 7 declare -lib Gem;
#X connect 0 0 15 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
diff --git a/Gem/examples/10.glsl/16.vertexbuffer_attributes.pd b/Gem/examples/10.glsl/16.vertexbuffer_attributes.pd
index 770347b..563d097 100644
--- a/Gem/examples/10.glsl/16.vertexbuffer_attributes.pd
+++ b/Gem/examples/10.glsl/16.vertexbuffer_attributes.pd
@@ -1,4 +1,5 @@
-#N canvas 375 67 983 713 10;
+#N canvas 375 67 860 713 10;
+#X declare -lib Gem;
#N canvas 1 89 450 300 fps 0;
#X obj 46 -61 gemhead;
#X obj 46 -21 realtime;
@@ -17,7 +18,7 @@
#X connect 6 0 7 0;
#X connect 7 0 5 0;
#X restore 806 149 pd fps;
-#X floatatom 806 172 5 0 0 1 fps - -, f 5;
+#X floatatom 806 172 5 0 0 1 fps - -;
#N canvas 5 76 450 300 gemwin 0;
#X obj 132 246 gemwin;
#X obj 67 89 outlet;
@@ -54,7 +55,7 @@
#X connect 13 1 12 0;
#X connect 14 0 15 0;
#X restore 577 115 pd gemwin;
-#X msg 577 96 destroy;
+#X msg 577 96 create;
#X text 573 75 Create window:;
#X msg 184 350 link \$1 \$2;
#X obj 154 264 glsl_vertex;
@@ -190,6 +191,7 @@ and frag files;
#X connect 6 0 4 0;
#X restore 184 330 pd modulelist;
#X msg 272 416 bang;
+#X obj 753 7 declare -lib Gem;
#X connect 0 0 1 0;
#X connect 2 0 3 0;
#X connect 3 0 2 0;