From 2c0b722536a4ec2f723c289b695b983741c678f8 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 2 Nov 2012 14:25:59 +0000 Subject: commit windows binaries from old rsync auto-build setup, including Gem 0.93.1 svn path=/trunk/; revision=16520 --- .../Gem/examples/02.advanced/00.gemwin-subpatch.pd | 61 +++++ .../extra/Gem/examples/02.advanced/01.Separator.pd | 143 +++++++++++ .../extra/Gem/examples/02.advanced/02.Ortho.pd | 87 +++++++ .../extra/Gem/examples/02.advanced/03.View.pd | 85 ++++++ .../extra/Gem/examples/02.advanced/03.View_OSD.pd | 286 +++++++++++++++++++++ .../extra/Gem/examples/02.advanced/04.Fog.pd | 99 +++++++ .../extra/Gem/examples/02.advanced/05.Stereo.pd | 97 +++++++ .../Gem/examples/02.advanced/06.StereoParticle.pd | 88 +++++++ .../extra/Gem/examples/02.advanced/07.Snapshot1.pd | 87 +++++++ .../extra/Gem/examples/02.advanced/08.Snapshot2.pd | 138 ++++++++++ .../Gem/examples/02.advanced/09.SnapshotSave.pd | 145 +++++++++++ .../Gem/examples/02.advanced/10.LinearPath.pd | 87 +++++++ .../Gem/examples/02.advanced/11.SplinePath.pd | 87 +++++++ .../extra/Gem/examples/02.advanced/12.Hsv.pd | 105 ++++++++ .../Gem/examples/02.advanced/13.ModelRescale.pd | 107 ++++++++ .../Gem/examples/02.advanced/14.RenderOrder.pd | 149 +++++++++++ .../extra/Gem/examples/02.advanced/15.GemWin.pd | 73 ++++++ .../Gem/examples/02.advanced/16.vertex_program.pd | 189 ++++++++++++++ .../examples/02.advanced/17.fragment_program.pd | 126 +++++++++ .../examples/02.advanced/18.gl_shading_language.pd | 182 +++++++++++++ .../extra/Gem/examples/02.advanced/19.pointer.pd | 217 ++++++++++++++++ .../02.advanced/20.double-gemhead_vs_repeat.pd | 184 +++++++++++++ .../Gem/examples/02.advanced/21.basic_LSystem.pd | 138 ++++++++++ .../examples/02.advanced/22.double-iterative.pd | 118 +++++++++ 24 files changed, 3078 insertions(+) create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/00.gemwin-subpatch.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/01.Separator.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/02.Ortho.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View_OSD.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/04.Fog.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/05.Stereo.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/06.StereoParticle.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/07.Snapshot1.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/08.Snapshot2.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/09.SnapshotSave.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/10.LinearPath.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/11.SplinePath.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/12.Hsv.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/13.ModelRescale.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/14.RenderOrder.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/15.GemWin.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/16.vertex_program.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/17.fragment_program.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/18.gl_shading_language.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/20.double-gemhead_vs_repeat.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/21.basic_LSystem.pd create mode 100644 packages/noncvs/windows/extra/Gem/examples/02.advanced/22.double-iterative.pd (limited to 'packages/noncvs/windows/extra/Gem/examples/02.advanced') diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/00.gemwin-subpatch.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/00.gemwin-subpatch.pd new file mode 100644 index 00000000..5f0fc8fa --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/00.gemwin-subpatch.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/01.Separator.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/01.Separator.pd new file mode 100644 index 00000000..06d4c7ac --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/01.Separator.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/02.Ortho.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/02.Ortho.pd new file mode 100644 index 00000000..329b2f84 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/02.Ortho.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View.pd new file mode 100644 index 00000000..835e5516 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View_OSD.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View_OSD.pd new file mode 100644 index 00000000..f76ecf7e --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View_OSD.pd @@ -0,0 +1,286 @@ +#N canvas 30 138 946 464 10; +#N canvas 46 140 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 285 0 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 161 42 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 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 restore 729 106 pd lighting; +#X obj 271 291 translateXYZ 0 -2 -2; +#X obj 271 265 gemhead -50; +#X obj 675 106 gemhead; +#X obj 675 129 model ../data/venus.obj; +#X obj 249 145 gemhead -50; +#X obj 271 315 text2d; +#N canvas 8 40 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 20 100 362 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 obj 36 84 route space; +#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; +#X connect 0 0 24 0; +#X connect 0 1 22 0; +#X connect 0 2 2 1; +#X connect 0 4 27 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 29 0; +#X connect 3 1 28 0; +#X connect 4 0 12 0; +#X connect 4 1 11 1; +#X connect 5 0 6 0; +#X connect 5 1 6 1; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 16 0; +#X connect 10 0 17 0; +#X connect 11 0 4 0; +#X connect 12 0 20 0; +#X connect 13 0 15 0; +#X connect 13 1 14 1; +#X connect 14 0 30 0; +#X connect 15 0 21 2; +#X connect 16 0 11 0; +#X connect 16 1 11 1; +#X connect 16 1 14 0; +#X connect 16 2 14 1; +#X connect 19 0 10 0; +#X connect 20 0 21 0; +#X connect 20 1 21 1; +#X connect 21 0 19 0; +#X connect 22 0 23 1; +#X connect 22 1 23 0; +#X connect 23 0 1 1; +#X connect 24 0 25 1; +#X connect 24 1 25 0; +#X connect 25 0 1 0; +#X connect 27 0 26 0; +#X connect 28 0 14 0; +#X connect 29 0 11 0; +#X connect 30 0 13 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 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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/04.Fog.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/04.Fog.pd new file mode 100644 index 00000000..28991afb --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/04.Fog.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/05.Stereo.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/05.Stereo.pd new file mode 100644 index 00000000..8fc351e4 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/05.Stereo.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/06.StereoParticle.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/06.StereoParticle.pd new file mode 100644 index 00000000..80b1f06b --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/06.StereoParticle.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/07.Snapshot1.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/07.Snapshot1.pd new file mode 100644 index 00000000..55b77766 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/07.Snapshot1.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/08.Snapshot2.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/08.Snapshot2.pd new file mode 100644 index 00000000..ef84f34b --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/08.Snapshot2.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/09.SnapshotSave.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/09.SnapshotSave.pd new file mode 100644 index 00000000..92bc2eb6 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/09.SnapshotSave.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/10.LinearPath.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/10.LinearPath.pd new file mode 100644 index 00000000..1a75686f --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/10.LinearPath.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/11.SplinePath.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/11.SplinePath.pd new file mode 100644 index 00000000..3938ed88 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/11.SplinePath.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/12.Hsv.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/12.Hsv.pd new file mode 100644 index 00000000..28379a21 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/12.Hsv.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/13.ModelRescale.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/13.ModelRescale.pd new file mode 100644 index 00000000..3da29273 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/13.ModelRescale.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/14.RenderOrder.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/14.RenderOrder.pd new file mode 100644 index 00000000..a199d0b6 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/14.RenderOrder.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/15.GemWin.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/15.GemWin.pd new file mode 100644 index 00000000..a414b15b --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/15.GemWin.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/16.vertex_program.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/16.vertex_program.pd new file mode 100644 index 00000000..3d940b43 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/16.vertex_program.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/17.fragment_program.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/17.fragment_program.pd new file mode 100644 index 00000000..2b1ce3b1 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/17.fragment_program.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/18.gl_shading_language.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/18.gl_shading_language.pd new file mode 100644 index 00000000..2562b275 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/18.gl_shading_language.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd new file mode 100644 index 00000000..7db5c4f3 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/20.double-gemhead_vs_repeat.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/20.double-gemhead_vs_repeat.pd new file mode 100644 index 00000000..518e8536 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/20.double-gemhead_vs_repeat.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/21.basic_LSystem.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/21.basic_LSystem.pd new file mode 100644 index 00000000..301b09a4 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/21.basic_LSystem.pd @@ -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; diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/22.double-iterative.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/22.double-iterative.pd new file mode 100644 index 00000000..218c30f5 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/22.double-iterative.pd @@ -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; -- cgit v1.2.1