aboutsummaryrefslogtreecommitdiff
path: root/Gem/examples/07.texture/10.framebuffer.pd
blob: bf73cc06cac85855f771bc0573b4293c5a66a75e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
#N canvas 226 61 834 813 10;
#X declare -lib Gem;
#X obj 272 83 gemhead 20;
#X obj 561 166 gemhead;
#X floatatom 602 391 5 0 0 0 - - -;
#X floatatom 551 392 5 0 0 0 - - -;
#X obj 651 389 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
-262144 -1 -1 0 256;
#X msg 356 97 dim 320 240;
#X msg 356 117 dim 256 256;
#X obj 348 634 rotateXYZ;
#X floatatom 404 617 5 0 0 0 - - -;
#X floatatom 416 636 5 0 0 0 - - -;
#X floatatom 365 617 5 0 0 0 - - -;
#X floatatom 369 443 5 0 0 0 - - -;
#X floatatom 418 443 5 0 0 0 - - -;
#X floatatom 320 443 5 0 0 0 - - -;
#X obj 348 333 separator;
#X obj 14 319 gemhead 1;
#X obj 14 339 world_light;
#X msg 356 137 dim 512 512;
#X floatatom 577 322 5 0 0 0 - - -;
#X floatatom 652 333 5 0 0 0 - - -;
#X msg 359 45 color 0 0 1 0;
#X msg 356 157 dim 1024 1024;
#X msg 359 69 color 0 0 0 0;
#X obj 273 507 rotateXYZ;
#X floatatom 296 490 5 0 0 0 - - -;
#X floatatom 339 490 5 0 0 0 - - -;
#X floatatom 388 496 5 0 0 0 - - -;
#X msg 49 72 color 0 0 0 0;
#X obj 348 554 t a b;
#X msg 37 51 color 0 1 1 0;
#X msg 58 121 lighting \$1;
#X obj 58 100 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X floatatom 624 433 5 0 0 0 - - -;
#X obj 272 302 t a a;
#X obj 272 355 color 1 1 1;
#X obj 273 413 pix_texture;
#X msg 476 94 mode \$1;
#X obj 476 67 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 273 467 translateXYZ -0.5 -0.8 -1;
#X msg 299 374 open data/fractal.JPG;
#X floatatom 446 507 5 0 0 0 - - -;
#X msg 359 10 type FLOAT;
#X obj 530 131 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X floatatom 412 281 5 0 0 0 - - -;
#X obj 273 527 sphere 0.4;
#X obj 561 357 rotateXYZ 28 0 200;
#X obj 561 431 square 2;
#X obj 561 410 translateXYZ 0 0 1.53;
#X obj 272 281 translateXYZ 0 0 -4;
#X obj 348 681 cube 0.57;
#X obj 348 527 translateXYZ 2 0 -1;
#X obj 272 135 color 0 1 0;
#X obj 249 195 cnv 15 400 60 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 272 200 gemframebuffer;
#X obj 561 233 pix_texture;
#X obj 14 410 gemhead;
#X obj 14 459 teapot 0.3;
#X obj 14 435 translateXYZ -3 3 0;
#X text 18 726 this example renders a scene (cube and sphere) into
a framebuffer \, which is then used as a texture onto a square. teapot
and square live in a "meta"-world in relation to cube and sphere.;
#X obj 432 575 % 360;
#X obj 378 575 i;
#X obj 561 265 t a b;
#X obj 637 286 + 1;
#X obj 404 575 + 5;
#X obj 591 286 i 200;
#X obj 665 286 % 3600;
#X obj 652 313 / 10;
#X text 505 65 <-- click me to change between normalized(0) and rectangle(1)
textures.;
#X text 469 717 you need framebuffer support on your gfx-card;
#X text 465 738 (and its driver!);
#X obj 272 394 pix_image ../data/fractal.JPG;
#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 67 160 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 37 177 pd gemwin;
#X obj 704 11 declare -lib Gem;
#X connect 0 0 51 0;
#X connect 1 0 54 0;
#X connect 2 0 47 2;
#X connect 3 0 47 1;
#X connect 4 0 47 3;
#X connect 5 0 53 0;
#X connect 6 0 53 0;
#X connect 7 0 49 0;
#X connect 8 0 7 2;
#X connect 9 0 7 3;
#X connect 10 0 7 1;
#X connect 11 0 38 2;
#X connect 12 0 38 3;
#X connect 13 0 38 1;
#X connect 14 0 50 0;
#X connect 15 0 16 0;
#X connect 17 0 53 0;
#X connect 18 0 45 1;
#X connect 19 0 45 3;
#X connect 20 0 53 0;
#X connect 21 0 53 0;
#X connect 22 0 53 0;
#X connect 23 0 44 0;
#X connect 24 0 23 1;
#X connect 25 0 23 2;
#X connect 26 0 23 3;
#X connect 27 0 72 0;
#X connect 28 0 7 0;
#X connect 28 1 60 0;
#X connect 29 0 72 0;
#X connect 30 0 72 0;
#X connect 31 0 30 0;
#X connect 32 0 46 1;
#X connect 33 0 34 0;
#X connect 33 1 14 0;
#X connect 34 0 70 0;
#X connect 35 0 38 0;
#X connect 36 0 53 0;
#X connect 37 0 36 0;
#X connect 38 0 23 0;
#X connect 39 0 70 0;
#X connect 40 0 50 3;
#X connect 41 0 53 0;
#X connect 42 0 1 0;
#X connect 43 0 48 3;
#X connect 45 0 47 0;
#X connect 47 0 46 0;
#X connect 48 0 33 0;
#X connect 50 0 28 0;
#X connect 51 0 53 0;
#X connect 53 0 48 0;
#X connect 53 1 54 1;
#X connect 54 0 61 0;
#X connect 55 0 57 0;
#X connect 57 0 56 0;
#X connect 59 0 60 1;
#X connect 60 0 8 0;
#X connect 60 0 63 0;
#X connect 61 0 45 0;
#X connect 61 1 64 0;
#X connect 62 0 65 0;
#X connect 63 0 59 0;
#X connect 64 0 62 0;
#X connect 64 0 66 0;
#X connect 65 0 64 1;
#X connect 66 0 19 0;
#X connect 70 0 35 0;
#X connect 71 0 72 0;