aboutsummaryrefslogtreecommitdiff
path: root/Gem/examples/02.advanced/14.RenderOrder.pd
blob: a199d0b648b313e199db997f16ee07174522dc41 (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
#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;