#N canvas 125 98 896 632 10;
#X declare -lib Gem;
#X obj 465 39 cnv 15 420 570 empty empty empty 20 12 0 14 -228992 -66577
0;
#X obj 472 323 cnv 15 300 60 empty empty empty 20 12 0 14 -191407 -66577
0;
#X obj 474 48 cnv 15 400 250 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 477 71 gemhead 20;
#X obj 664 336 gemhead;
#X msg 615 136 dimen 320 240;
#X obj 477 498 rotateXYZ;
#X floatatom 794 457 5 0 0 0 - - -;
#X msg 762 144 color 0 0 1 0;
#X msg 602 117 dimen 1024 1024;
#X msg 751 104 color 0 0 0 0;
#X obj 477 452 t a b;
#X floatatom 717 499 5 0 0 0 - - -;
#X msg 549 262 rectangle \$1;
#X obj 549 244 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X msg 509 131 type FLOAT;
#X obj 664 304 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 477 412 translateXYZ 0 0 -4;
#X obj 477 328 gemframebuffer;
#X obj 664 361 pix_texture;
#X obj 664 388 t a b;
#X msg 531 217 texunit \$1;
#X msg 495 92 type BYTE;
#X msg 503 112 type INT;
#X msg 658 209 format YUV;
#X msg 649 188 format RGB;
#X msg 668 230 format RGBA;
#X msg 680 250 format RGB32;
#X obj 664 517 square 2;
#X obj 664 479 rotateXYZ -40 0 200;
#X floatatom 707 459 5 0 0 0 - - -;
#X obj 477 517 pqtorusknots;
#N canvas 0 50 450 300 rotation 0;
#X obj 33 19 inlet;
#X obj 33 110 % 360;
#X obj 33 62 i;
#X obj 33 88 + 5;
#X obj 33 136 outlet;
#X obj 84 111 % 360;
#X obj 84 63 i;
#X obj 84 137 outlet;
#X obj 134 112 % 360;
#X obj 134 64 i;
#X obj 134 138 outlet;
#X obj 84 89 + 3;
#X obj 134 90 + 7;
#X connect 0 0 2 0;
#X connect 0 0 6 0;
#X connect 0 0 9 0;
#X connect 1 0 2 1;
#X connect 1 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 5 0 6 1;
#X connect 5 0 7 0;
#X connect 6 0 11 0;
#X connect 8 0 9 1;
#X connect 8 0 10 0;
#X connect 9 0 12 0;
#X connect 11 0 5 0;
#X connect 12 0 8 0;
#X restore 509 473 pd rotation;
#X floatatom 531 197 5 0 0 0 - - -;
#N canvas 125 50 450 300 rotation 0;
#X obj 112 29 inlet;
#X obj 112 105 % 360;
#X obj 112 57 i;
#X obj 112 131 outlet;
#X obj 112 83 + 1;
#X connect 0 0 2 0;
#X connect 1 0 2 1;
#X connect 1 0 3 0;
#X connect 2 0 4 0;
#X connect 4 0 1 0;
#X restore 794 432 pd rotation;
#X obj 762 123 loadbang;
#X obj 477 432 color 1 0 0;
#X obj 649 275 t a;
#X obj 585 154 t a;
#X obj 751 165 t a;
#X obj 495 160 t a;
#X floatatom 563 391 5 0 0 0 - - -;
#X floatatom 607 392 5 0 0 0 - - -;
#X floatatom 520 391 5 0 0 0 - - -;
#X obj 495 184 t a;
#X obj 470 544 cnv 15 410 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#X msg 757 574 color 0 0 0 0;
#X msg 746 552 color 0 1 1 0;
#X msg 637 555 lighting \$1;
#X obj 615 556 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#N canvas 0 50 450 300 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X msg 67 70 set destroy;
#X msg 142 68 set create;
#X msg 198 112 destroy;
#X msg 132 112 create \, 1;
#X obj 67 40 route create destroy;
#X obj 20 217 gemhead 1;
#X obj 20 237 world_light;
#X connect 2 0 7 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 7 0 3 0;
#X connect 7 0 6 0;
#X connect 7 1 4 0;
#X connect 7 1 5 0;
#X connect 7 2 0 0;
#X connect 8 0 9 0;
#X restore 473 584 pd gemwin;
#X msg 473 559 destroy;
#X text 471 543 Create window:;
#X obj 637 582 t a;
#X text 476 52 Example:;
#X text 699 10 GEM object;
#X obj 7 71 cnv 15 450 130 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 7 238 cnv 15 450 370 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 10 244 Inlets:;
#X obj 7 205 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 14 204 Arguments:;
#X text 28 263 Inlet 1: gemlist;
#X text 15 553 Outlets:;
#X text 31 569 Outlet 1: gemlist;
#X text 60 217 <none>;
#X text 102 29 Synopsis: [gemframebuffer];
#X text 122 45 Class: framebuffer object;
#X text 12 80 Description: Renders a scene in a texture \, for later
use.;
#X text 12 98 this example renders a scene (pqtorusknots) into a framebuffer
\, which is then used as a texture onto a square.;
#X text 13 128 you need framebuffer support (and its driver) on your
gfx-card;
#X text 28 277 Inlet 1: message: type [BYTE | INT | FLOAT];
#X text 27 345 Inlet 1: message: dimen <x> <y>;
#X text 27 379 Inlet 1: message: color <r> <g> <b> <a>;
#X text 26 460 Inlet 1: message: texunit <f>;
#X text 27 310 Inlet 1: message: format [RGB|RGBA|RGB32|YUV];
#X text 26 415 Inlet 1: message: rectangle [0|1];
#X text 103 292 (type of the framebuffer data);
#X text 102 360 (dimension of the framebuffer texture);
#X text 106 495 (useful only with shader);
#X text 106 478 (change texunit of the texture);
#X text 104 432 (texturing mode \; rectangle (1) or normalized (0))
;
#X text 100 326 (color format of the framebuffer);
#X text 102 395 (background color of the framebuffer);
#X obj 556 71 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X floatatom 493 353 5 0 0 0 - - -;
#X obj 477 372 scaleXYZ;
#X floatatom 563 356 5 0 0 0 - - -;
#X floatatom 528 355 5 0 0 0 - - -;
#X msg 585 60 perspec -1 1 -1 1 1 20;
#X msg 593 86 perspec -1 1 -1 1 3 75;
#X text 98 527 (frustum of the framebuffer);
#X text 752 59 default;
#X text 11 160 NOTE: the default view-point of [gemframebuffer] is
at the origin 0/0/0 \, unlike [gemwin] where it is at 0/0/4. You might
want to manually insert a [translateXYZ 0 0 -4].;
#X text 23 512 Inlet 1: message: perspec <left><right><bottom><top><near>
;
#X text 428 512 <far>;
#X text 31 587 Outlet 2: texture info : <id> <width> <height> <type>
<0.>;
#X obj 778 8 declare -lib Gem;
#X connect 3 0 18 0;
#X connect 4 0 19 0;
#X connect 5 0 38 0;
#X connect 6 0 31 0;
#X connect 7 0 29 3;
#X connect 8 0 39 0;
#X connect 9 0 38 0;
#X connect 10 0 39 0;
#X connect 11 0 6 0;
#X connect 11 1 32 0;
#X connect 12 0 28 1;
#X connect 13 0 18 0;
#X connect 14 0 13 0;
#X connect 15 0 40 0;
#X connect 16 0 4 0;
#X connect 17 0 36 0;
#X connect 18 0 85 0;
#X connect 18 1 19 1;
#X connect 19 0 20 0;
#X connect 20 0 29 0;
#X connect 20 1 34 0;
#X connect 21 0 18 0;
#X connect 22 0 40 0;
#X connect 23 0 40 0;
#X connect 24 0 37 0;
#X connect 25 0 37 0;
#X connect 26 0 37 0;
#X connect 27 0 37 0;
#X connect 29 0 28 0;
#X connect 30 0 29 1;
#X connect 32 0 6 1;
#X connect 32 1 6 2;
#X connect 32 2 6 3;
#X connect 33 0 21 0;
#X connect 34 0 7 0;
#X connect 35 0 8 0;
#X connect 36 0 11 0;
#X connect 37 0 18 0;
#X connect 38 0 44 0;
#X connect 39 0 44 0;
#X connect 40 0 44 0;
#X connect 41 0 17 2;
#X connect 42 0 17 3;
#X connect 43 0 17 1;
#X connect 44 0 18 0;
#X connect 46 0 53 0;
#X connect 47 0 53 0;
#X connect 48 0 53 0;
#X connect 49 0 48 0;
#X connect 50 0 51 0;
#X connect 51 0 50 0;
#X connect 53 0 50 0;
#X connect 83 0 3 0;
#X connect 84 0 85 1;
#X connect 85 0 17 0;
#X connect 86 0 85 3;
#X connect 87 0 85 2;
#X connect 88 0 38 0;
#X connect 89 0 38 0;
