aboutsummaryrefslogtreecommitdiff
path: root/Gem/examples/09.openGL/02.displayList.pd
blob: d6ec2e6694b282668fb9a0fc7d47547758fb290d (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
#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;