From 15b30fe20b401d079c2b3c6a8e77eee827813de3 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Tue, 17 Mar 2015 22:54:19 +0000 Subject: Gem 096ed6ef786b7a9d6e11a437ff8526619c89a1fd osx/x86_64 built 'master:096ed6ef786b7a9d6e11a437ff8526619c89a1fd' for osx/x86_64 --- Gem/examples/09.openGL/01.primQuad.pd | 107 +++++++++ Gem/examples/09.openGL/02.displayList.pd | 185 ++++++++++++++++ Gem/examples/09.openGL/03.stencilBuffer.pd | 251 ++++++++++++++++++++++ Gem/examples/09.openGL/04.clearZ.pd | 27 +++ Gem/examples/09.openGL/05.load_identity_matrix.pd | 74 +++++++ 5 files changed, 644 insertions(+) create mode 100644 Gem/examples/09.openGL/01.primQuad.pd create mode 100644 Gem/examples/09.openGL/02.displayList.pd create mode 100644 Gem/examples/09.openGL/03.stencilBuffer.pd create mode 100644 Gem/examples/09.openGL/04.clearZ.pd create mode 100644 Gem/examples/09.openGL/05.load_identity_matrix.pd (limited to 'Gem/examples/09.openGL') diff --git a/Gem/examples/09.openGL/01.primQuad.pd b/Gem/examples/09.openGL/01.primQuad.pd new file mode 100644 index 0000000..da187b2 --- /dev/null +++ b/Gem/examples/09.openGL/01.primQuad.pd @@ -0,0 +1,107 @@ +#N canvas 50 20 769 629 10; +#X obj 469 17 gemhead; +#X obj 468 504 GEMglEnd; +#X obj 469 233 GEMglColor4f 1 0 0 0; +#X obj 469 254 GEMglVertex3f -1 0 0; +#X obj 469 366 GEMglColor3f 0 1 0; +#X obj 468 387 GEMglVertex3f 1 0 0; +#X obj 469 307 GEMglColor3f 0 0 1; +#X obj 469 330 GEMglVertex3f 0 -1 0; +#X floatatom 502 45 5 0 0 0 - - -; +#X obj 469 77 GEMglRotatef 0 1 1 1; +#X obj 605 127 GLdefine GL_SMOOTH; +#X obj 605 105 loadbang; +#X obj 605 147 loadbang; +#X obj 605 169 GLdefine GL_POLYGON; +#X obj 469 187 GEMglBegin; +#X obj 469 145 GEMglShadeModel; +#X obj 621 487 loadbang; +#X obj 468 527 GEMglShadeModel; +#X obj 621 509 GLdefine GL_FLAT; +#X text 52 17 this is an example how to use Gem as an openGL-wrapper: +; +#X text 47 79 you can use "any" openGL-command (like "glBegin") as +a Gem-object with a prepended "GEM" (like [GEMglBegin]); +#X text 32 378 to make use of GL-constants (like "GL_TRIANGLE") \, +use the object [GLdefine] \, that maps symbols to their corresponding +values.; +#X obj 468 436 GEMglColor3fv 1 1 0; +#X obj 468 459 GEMglVertex3fv 0 1 0; +#X msg 613 413 1 0 1; +#X msg 655 413 1 1 0; +#X floatatom 650 260 3 0 100 0 - - -; +#X obj 650 281 * 0.01; +#X msg 672 103 bang; +#N canvas 87 154 247 179 Gem.init 0; +#X obj 118 46 loadbang; +#X msg 118 81 reset; +#X obj 118 113 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X restore 104 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 74 187 pd gemwin; +#X connect 0 0 9 0; +#X connect 1 0 17 0; +#X connect 2 0 3 0; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 22 0; +#X connect 6 0 7 0; +#X connect 7 0 4 0; +#X connect 8 0 9 1; +#X connect 9 0 15 0; +#X connect 10 0 15 1; +#X connect 11 0 10 0; +#X connect 12 0 13 0; +#X connect 13 0 14 1; +#X connect 14 0 2 0; +#X connect 15 0 14 0; +#X connect 16 0 18 0; +#X connect 18 0 17 1; +#X connect 22 0 23 0; +#X connect 23 0 1 0; +#X connect 24 0 22 1; +#X connect 25 0 22 1; +#X connect 26 0 27 0; +#X connect 27 0 6 2; +#X connect 28 0 10 0; +#X connect 29 0 30 0; diff --git a/Gem/examples/09.openGL/02.displayList.pd b/Gem/examples/09.openGL/02.displayList.pd new file mode 100644 index 0000000..d6ec2e6 --- /dev/null +++ b/Gem/examples/09.openGL/02.displayList.pd @@ -0,0 +1,185 @@ +#N canvas 76 58 1137 553 10; +#X obj 366 251 GEMglGenLists 1; +#X obj 336 418 GEMglNewList; +#X obj 147 432 GEMglCallList; +#N canvas 0 0 450 300 once 0; +#X obj 91 62 inlet; +#X obj 91 266 outlet; +#X obj 91 150 spigot 1; +#X obj 91 175 t a b; +#X msg 121 197 0; +#X obj 298 57 inlet open; +#X obj 298 92 t b; +#X msg 142 128 1; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 3 1 4 0; +#X connect 4 0 2 1; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 2 1; +#X restore 366 229 pd once; +#N canvas 0 0 450 300 once 0; +#X obj 91 62 inlet; +#X obj 91 266 outlet; +#X obj 91 150 spigot 1; +#X obj 91 175 t a b; +#X msg 121 197 0; +#X obj 298 57 inlet open; +#X obj 298 92 t b; +#X msg 142 128 1; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 3 1 4 0; +#X connect 4 0 2 1; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 2 1; +#X restore 336 392 pd once; +#X obj 549 281 t b f; +#X obj 415 374 loadbang; +#X obj 415 393 GLdefine GL_COMPILE; +#X msg 417 199 bang; +#X obj 336 508 GEMglEndList; +#X obj 336 445 t a a; +#X obj 366 466 separator; +#X obj 336 173 gemhead 1; +#X obj 336 198 t a a; +#X obj 466 271 t f b; +#X obj 345 298 t f f; +#X text 26 21 this is an example of how to use Gem's openGL-wrapper-objects +to speed up things; +#X obj 147 248 gemhead; +#X obj 147 311 translateXYZ; +#X obj 147 364 rotateXYZ; +#X floatatom 549 236 5 -2 2 2 pos - -; +#X floatatom 199 282 5 -4 4 0 - - -; +#X floatatom 185 339 5 0 0 0 - - -; +#X text 346 25 1 generate a displaylist with [GEMglGenLists]; +#X text 376 38 you should do this only once; +#X text 346 65 2 compile what is between [GEMglNewList] and [GEMglEndList] +; +#X text 377 82 you should do this \, whenever a parameter of the display-list +has changed; +#X text 346 125 3 call the displaylist with [GEMglCallList]; +#N canvas 0 0 450 300 weird 0; +#X obj 37 9 inlet gemlist; +#X obj 37 125 cylinder; +#X obj 190 30 inlet dist; +#X obj 360 30 inlet tearot; +#X obj 67 204 rotate 0 0 1 0; +#X obj 67 231 teapot 0.2; +#X obj 67 173 translate 1 0 0 2; +#X obj 67 144 color 1 0 0; +#X obj 37 103 color 1 1 1 0.5; +#X obj 37 81 alpha; +#X obj 37 34 t a a; +#X obj 67 56 separator; +#X connect 0 0 10 0; +#X connect 2 0 6 1; +#X connect 3 0 4 1; +#X connect 4 0 5 0; +#X connect 6 0 4 0; +#X connect 7 0 6 0; +#X connect 8 0 1 0; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X connect 10 1 11 0; +#X connect 11 0 7 0; +#X restore 366 487 pd weird thing; +#X msg 496 318 bang; +#X floatatom 660 269 5 0 0 2 rot - -; +#X text 535 320 recompile the display-list; +#X obj 147 400 spigot; +#X obj 249 365 t b f; +#X msg 202 400 1; +#X text 461 190 CLICK ME to generate the display-list \, once the rendering +is turned on; +#X text 598 231 when you change this \, the display-list will be recompiled +; +#X text 706 258 when you change this \, the display-list will NOT be +recompiled. You have to do that by hand!; +#N canvas 87 154 247 179 Gem.init 0; +#X obj 118 46 loadbang; +#X msg 118 81 reset; +#X obj 118 113 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X restore 119 99 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 89 116 pd gemwin; +#X connect 0 1 14 0; +#X connect 1 0 10 0; +#X connect 3 0 0 0; +#X connect 4 0 1 0; +#X connect 5 0 29 0; +#X connect 5 1 28 1; +#X connect 6 0 7 0; +#X connect 7 0 1 2; +#X connect 8 0 3 1; +#X connect 10 0 9 0; +#X connect 10 1 11 0; +#X connect 11 0 28 0; +#X connect 12 0 13 0; +#X connect 13 0 4 0; +#X connect 13 1 3 0; +#X connect 14 0 15 0; +#X connect 14 1 29 0; +#X connect 15 0 33 0; +#X connect 15 1 1 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 19 0 32 0; +#X connect 20 0 5 0; +#X connect 21 0 18 1; +#X connect 21 0 18 2; +#X connect 22 0 19 1; +#X connect 22 0 19 2; +#X connect 22 0 19 3; +#X connect 29 0 4 1; +#X connect 30 0 28 2; +#X connect 32 0 2 0; +#X connect 33 0 34 0; +#X connect 33 1 2 1; +#X connect 34 0 32 1; +#X connect 38 0 39 0; diff --git a/Gem/examples/09.openGL/03.stencilBuffer.pd b/Gem/examples/09.openGL/03.stencilBuffer.pd new file mode 100644 index 0000000..44f1e61 --- /dev/null +++ b/Gem/examples/09.openGL/03.stencilBuffer.pd @@ -0,0 +1,251 @@ +#N canvas 431 30 849 872 10; +#X obj 39 330 GEMglEnable; +#X floatatom 125 332 5 0 0 0 - - -; +#X obj 111 282 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 111 305 GLdefine GL_STENCIL_TEST; +#X obj 129 280 loadbang; +#X obj 104 382 GLdefine GL_STENCIL_BUFFER_BIT; +#X obj 166 361 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 119 407 5 0 0 0 - - -; +#X obj 104 359 loadbang; +#X obj 39 249 GEMglClearStencil 0; +#X obj 39 407 GEMglClear; +#X obj 39 33 gemhead 45; +#X obj 39 506 GEMglStencilFunc; +#X msg 146 480 1; +#X obj 75 436 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 74 459 GLdefine GL_ALWAYS; +#X obj 96 436 loadbang; +#X floatatom 100 480 5 0 0 0 - - -; +#X obj 39 586 GEMglStencilOp; +#X floatatom 156 581 5 0 0 0 - - -; +#X obj 70 486 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 70 552 GLdefine GL_REPLACE; +#X obj 95 530 loadbang; +#X obj 239 743 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 170 742 loadbang; +#X obj 39 810 GEMglClear; +#X floatatom 156 812 5 0 0 0 - - -; +#X obj 145 788 GLdefine GL_DEPTH_BUFFER_BIT; +#X obj 126 743 t b b; +#X obj 490 287 GEMglStencilFunc; +#X msg 597 263 1; +#X obj 525 220 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 546 218 loadbang; +#X floatatom 535 264 5 0 0 0 - - -; +#X obj 525 241 GLdefine GL_NOTEQUAL; +#X obj 490 396 color 1 0 0; +#X obj 490 659 GEMglStencilFunc; +#X msg 597 634 1; +#X obj 525 594 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 547 592 loadbang; +#X floatatom 536 638 5 0 0 0 - - -; +#X obj 490 709 rotateXYZ 0 0 45; +#X obj 525 615 GLdefine GL_EQUAL; +#X obj 490 685 color 1 1 0; +#X obj 126 766 GLdefine GL_COLOR_BUFFER_BIT; +#X obj 490 365 GEMglStencilOp; +#X floatatom 601 364 5 0 0 0 - - -; +#X obj 521 310 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 544 307 loadbang; +#X obj 521 331 GLdefine GL_KEEP; +#X floatatom 58 144 5 0 0 0 - - -; +#X floatatom 97 144 5 0 0 0 - - -; +#X obj 39 187 colorRGB 0 0 1; +#X obj 126 810 |; +#X floatatom 587 830 5 0 0 0 - - -; +#X obj 569 782 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 569 805 GLdefine GL_STENCIL_TEST; +#X obj 587 780 loadbang; +#X obj 490 830 GEMglDisable; +#X text 67 212 allow \, clear and configure stencil buffer; +#X obj 39 695 circle 1.5; +#X text 131 685 draw in all buffer; +#X text 104 840 clear color and depth buffer; +#X text 488 189 draw where the stencil buffer is not 1; +#X obj 490 423 square 3; +#X text 522 565 draw where the stencil buffer is 1; +#X obj 529 21 gemhead 10; +#X floatatom 562 41 5 0 0 0 - - -; +#X floatatom 602 41 5 0 0 0 - - -; +#X floatatom 642 41 5 0 0 0 - - -; +#X obj 529 87 world_light; +#X obj 529 62 rotateXYZ 0 0 0; +#X obj 39 167 rotateXYZ; +#X text 151 144 <- play with this.; +#X text 238 858 (c) Cyrille Henry 2006; +#X obj 39 56 t a b; +#X obj 74 78 i; +#X obj 122 56 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 103 78 + 0; +#X obj 74 123 t f f; +#X obj 74 100 spigot; +#X obj 104 673 teapot 1.5; +#X obj 39 657 spigot; +#X obj 104 654 spigot; +#X obj 79 610 loadbang; +#X obj 147 632 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 82 634 == 0; +#X msg 147 611 0; +#X obj 131 77 % 360; +#X obj 490 754 sphere 1.2 25; +#X obj 36 6 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; +#N canvas 87 154 247 179 Gem.init 0; +#X obj 118 46 loadbang; +#X obj 118 113 outlet; +#X msg 118 81 reset \, lighting 1; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X restore 372 38 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 342 55 pd gemwin; +#X connect 0 0 10 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 3 0 0 1; +#X connect 4 0 3 0; +#X connect 5 0 7 0; +#X connect 5 0 10 1; +#X connect 6 0 5 0; +#X connect 8 0 5 0; +#X connect 9 0 0 0; +#X connect 10 0 12 0; +#X connect 11 0 75 0; +#X connect 12 0 18 0; +#X connect 13 0 12 3; +#X connect 13 0 12 2; +#X connect 14 0 15 0; +#X connect 14 0 13 0; +#X connect 15 0 12 1; +#X connect 15 0 17 0; +#X connect 16 0 13 0; +#X connect 16 0 15 0; +#X connect 18 0 82 0; +#X connect 18 0 83 0; +#X connect 20 0 21 0; +#X connect 21 0 19 0; +#X connect 21 0 18 1; +#X connect 21 0 18 2; +#X connect 21 0 18 3; +#X connect 22 0 20 0; +#X connect 23 0 28 0; +#X connect 24 0 28 0; +#X connect 25 0 29 0; +#X connect 27 0 53 1; +#X connect 28 0 44 0; +#X connect 28 1 27 0; +#X connect 29 0 45 0; +#X connect 30 0 29 3; +#X connect 30 0 29 2; +#X connect 31 0 34 0; +#X connect 32 0 30 0; +#X connect 32 0 34 0; +#X connect 34 0 29 1; +#X connect 34 0 33 0; +#X connect 35 0 64 0; +#X connect 36 0 43 0; +#X connect 37 0 36 3; +#X connect 37 0 36 2; +#X connect 38 0 42 0; +#X connect 39 0 37 0; +#X connect 39 0 42 0; +#X connect 41 0 89 0; +#X connect 42 0 36 1; +#X connect 42 0 40 0; +#X connect 43 0 41 0; +#X connect 44 0 53 0; +#X connect 45 0 35 0; +#X connect 47 0 49 0; +#X connect 48 0 47 0; +#X connect 49 0 46 0; +#X connect 49 0 45 1; +#X connect 49 0 45 2; +#X connect 49 0 45 3; +#X connect 50 0 72 1; +#X connect 51 0 72 2; +#X connect 52 0 9 0; +#X connect 53 0 26 0; +#X connect 53 0 25 1; +#X connect 55 0 56 0; +#X connect 56 0 54 0; +#X connect 56 0 58 1; +#X connect 57 0 56 0; +#X connect 60 0 25 0; +#X connect 64 0 36 0; +#X connect 66 0 71 0; +#X connect 67 0 71 1; +#X connect 68 0 71 2; +#X connect 69 0 71 3; +#X connect 71 0 70 0; +#X connect 72 0 52 0; +#X connect 75 0 72 0; +#X connect 75 1 76 0; +#X connect 76 0 78 0; +#X connect 76 0 80 0; +#X connect 77 0 78 1; +#X connect 77 0 80 1; +#X connect 78 0 88 0; +#X connect 79 0 50 0; +#X connect 79 1 51 0; +#X connect 80 0 79 0; +#X connect 81 0 25 0; +#X connect 82 0 60 0; +#X connect 83 0 81 0; +#X connect 84 0 87 0; +#X connect 85 0 83 1; +#X connect 85 0 86 0; +#X connect 86 0 82 1; +#X connect 87 0 85 0; +#X connect 88 0 76 1; +#X connect 89 0 58 0; +#X connect 90 0 11 0; +#X connect 91 0 92 0; diff --git a/Gem/examples/09.openGL/04.clearZ.pd b/Gem/examples/09.openGL/04.clearZ.pd new file mode 100644 index 0000000..e4947ff --- /dev/null +++ b/Gem/examples/09.openGL/04.clearZ.pd @@ -0,0 +1,27 @@ +#N canvas 0 0 710 401 10; +#X obj 111 162 loadbang; +#X obj 44 209 GEMglClear; +#X obj 111 186 GLdefine GL_DEPTH_BUFFER_BIT; +#X obj 173 164 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 44 75 gemhead; +#X obj 44 255 translateXYZ 0 0 -2; +#X obj 339 129 gemwin; +#X msg 352 101 create \, 1; +#X obj 44 281 color 1 0 0; +#X obj 44 126 circle 1; +#X obj 44 310 circle 1; +#X text 206 11 Clear Depth Buffer; +#X text 205 352 this is related to the depth object that turn off depth +buffer test \, but not quite the same...; +#X text 176 213 <- clear Depth buffer \, so that you can draw anything +even if it is behind something else; +#X connect 0 0 2 0; +#X connect 1 0 5 0; +#X connect 2 0 1 1; +#X connect 3 0 2 0; +#X connect 4 0 9 0; +#X connect 5 0 8 0; +#X connect 7 0 6 0; +#X connect 8 0 10 0; +#X connect 9 0 1 0; diff --git a/Gem/examples/09.openGL/05.load_identity_matrix.pd b/Gem/examples/09.openGL/05.load_identity_matrix.pd new file mode 100644 index 0000000..2db138a --- /dev/null +++ b/Gem/examples/09.openGL/05.load_identity_matrix.pd @@ -0,0 +1,74 @@ +#N canvas 0 0 784 537 10; +#X obj 64 47 gemhead; +#X obj 96 94 gemlist_info; +#X floatatom 177 138 5 0 0 0 - - -; +#X floatatom 217 138 5 0 0 0 - - -; +#X floatatom 258 138 5 0 0 0 - - -; +#X obj 177 115 unpack f f f; +#X text 185 97 position; +#X obj 64 71 t a a; +#X obj 64 328 GEMglLoadIdentity; +#X obj 64 204 translateXYZ 2 1 3; +#X obj 96 254 gemlist_info; +#X floatatom 177 298 5 0 0 0 - - -; +#X floatatom 217 298 5 0 0 0 - - -; +#X floatatom 258 298 5 0 0 0 - - -; +#X obj 177 275 unpack f f f; +#X text 185 257 position; +#X obj 64 231 t a a; +#X obj 96 384 gemlist_info; +#X floatatom 177 428 5 0 0 0 - - -; +#X floatatom 217 428 5 0 0 0 - - -; +#X floatatom 258 428 5 0 0 0 - - -; +#X obj 177 405 unpack f f f; +#X text 185 387 position; +#X obj 64 361 t a a; +#X obj 64 532 circle; +#X floatatom 105 179 5 0 0 0 - - -; +#X obj 391 101 gemwin; +#X msg 400 78 create \, 1; +#X obj 64 457 translateXYZ 0 0 -4; +#X obj 96 504 gemlist_info; +#X floatatom 177 548 5 0 0 0 - - -; +#X floatatom 217 548 5 0 0 0 - - -; +#X floatatom 258 548 5 0 0 0 - - -; +#X obj 177 525 unpack f f f; +#X text 185 507 position; +#X obj 64 481 t a a; +#X text 272 197 <- this translation does not affect the circle \, because +of the "load identity" object that resets the transformation; +#X text 209 333 <- this object reset the gemlist sent by the gemhead. +; +#X text 211 457 <- move the object regarding the camera position (this +is normally done automatically by the gemwin \, but since we have reset +the transformation matrix we have to do it ourselves...); +#X connect 0 0 7 0; +#X connect 1 4 5 0; +#X connect 5 0 2 0; +#X connect 5 1 3 0; +#X connect 5 2 4 0; +#X connect 7 0 9 0; +#X connect 7 1 1 0; +#X connect 8 0 23 0; +#X connect 9 0 16 0; +#X connect 10 4 14 0; +#X connect 14 0 11 0; +#X connect 14 1 12 0; +#X connect 14 2 13 0; +#X connect 16 0 8 0; +#X connect 16 1 10 0; +#X connect 17 4 21 0; +#X connect 21 0 18 0; +#X connect 21 1 19 0; +#X connect 21 2 20 0; +#X connect 23 0 28 0; +#X connect 23 1 17 0; +#X connect 25 0 9 1; +#X connect 27 0 26 0; +#X connect 28 0 35 0; +#X connect 29 4 33 0; +#X connect 33 0 30 0; +#X connect 33 1 31 0; +#X connect 33 2 32 0; +#X connect 35 0 24 0; +#X connect 35 1 29 0; -- cgit v1.2.1