-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathperlin.3d.pd
218 lines (218 loc) · 5.43 KB
/
perlin.3d.pd
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
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
#N canvas 413 116 1013 849 12;
#N canvas 753 64 500 758 create_permutation_table 1;
#X obj 96 378 until;
#X obj 96 347 t f b;
#X msg 140 378 0;
#X obj 96 423 f;
#X obj 126 423 + 1;
#X obj 96 447 t f f;
#X obj 96 479 array set \$0-permutation-table 0 1;
#X obj 73 624 array set \$0-permutation-table 0;
#X obj 128 298 array size \$0-permutation-table;
#X msg 96 226 256;
#X obj 73 576 array get \$0-permutation-table 0 255;
#X obj 96 250 t f f;
#X obj 128 274 * 2;
#X obj 50 692 array set \$0-permutation-table 256;
#X obj 50 668 array get \$0-permutation-table 0 256;
#X obj 50 180 t b b b;
#X obj 50 64 route bang seed;
#X msg 193 527 seed \$1;
#X obj 50 39 inlet;
#X obj 161 102 t b f;
#X text 205 101 set seed and recreate table;
#X text 163 275 double sized table;
#X text 158 423 create range 0..255;
#X text 344 479 write range;
#X text 336 576 shuffle values;
#X text 313 668 duplicate values;
#N canvas 260 260 601 741 shuffle 0;
#X obj 78 386 until;
#X obj 78 494 t f f;
#X msg 128 328 0;
#X obj 78 410 t b b;
#X obj 110 433 f;
#X obj 140 433 + 1;
#X obj 78 578 t b f;
#X msg 78 601 0;
#X obj 110 540 array set \$0-output;
#X obj 55 38 inlet;
#X obj 317 227 array define \$0-source;
#X obj 277 161 list length;
#X obj 317 273 array define \$0-output;
#X msg 277 185 resize \$1;
#X obj 317 250 array define \$0-probabilities;
#X obj 78 363 array size \$0-probabilities;
#X obj 78 471 array random \$0-probabilities;
#X obj 78 624 array set \$0-probabilities;
#X obj 95 184 array set \$0-source;
#X obj 55 662 array get \$0-output;
#X obj 55 686 outlet;
#X obj 110 517 array get \$0-source;
#X obj 55 142 t b b l l;
#X obj 55 309 t b b b;
#X obj 55 62 route list seed;
#X msg 106 88 seed \$1;
#X msg 75 239 const 1;
#X obj 75 263 s \$0-probabilities;
#X connect 0 0 3 0;
#X connect 1 0 6 0;
#X connect 1 1 21 0;
#X connect 2 0 4 1;
#X connect 3 0 16 0;
#X connect 3 1 4 0;
#X connect 4 0 5 0;
#X connect 4 0 8 1;
#X connect 5 0 4 1;
#X connect 6 0 7 0;
#X connect 6 1 17 1;
#X connect 7 0 17 0;
#X connect 9 0 24 0;
#X connect 11 0 13 0;
#X connect 13 0 10 0;
#X connect 13 0 14 0;
#X connect 13 0 12 0;
#X connect 15 0 0 0;
#X connect 16 0 1 0;
#X connect 19 0 20 0;
#X connect 21 0 8 0;
#X connect 22 0 23 0;
#X connect 22 1 26 0;
#X connect 22 2 18 0;
#X connect 22 3 11 0;
#X connect 23 0 19 0;
#X connect 23 1 15 0;
#X connect 23 2 2 0;
#X connect 24 0 22 0;
#X connect 24 1 25 0;
#X connect 25 0 16 0;
#X connect 26 0 27 0;
#X restore 73 600 pd shuffle;
#X connect 0 0 3 0;
#X connect 1 0 0 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 3 1;
#X connect 5 0 6 0;
#X connect 5 1 6 1;
#X connect 9 0 11 0;
#X connect 10 0 26 0;
#X connect 11 0 1 0;
#X connect 11 1 12 0;
#X connect 12 0 8 0;
#X connect 14 0 13 0;
#X connect 15 0 14 0;
#X connect 15 1 10 0;
#X connect 15 2 9 0;
#X connect 16 0 15 0;
#X connect 16 1 19 0;
#X connect 17 0 26 0;
#X connect 18 0 16 0;
#X connect 19 0 15 0;
#X connect 19 1 17 0;
#X connect 26 0 7 0;
#X restore 244 225 pd create_permutation_table;
#X obj 747 46 array define \$0-permutation-table;
#X obj 80 47 inlet;
#X obj 358 47 inlet;
#X text 404 46 y;
#X obj 131 770 outlet;
#X obj 250 200 loadbang;
#X msg 358 154 all \$1;
#X msg 80 154 all \$1;
#X obj 163 200 loadbang;
#X obj 163 294 \$2;
#X obj 163 332 sel 0;
#X msg 163 356 0.5;
#X obj 318 294 \$1;
#X obj 318 332 sel 0;
#X msg 318 356 1;
#X obj 318 442 v \$0-clone-count;
#X msg 244 154 seed \$1;
#X msg 144 442 all persistance \$1;
#X text 444 225 create/reseed permutation table;
#X text 126 46 x;
#X text 194 293 persistance;
#X text 350 293 octaves;
#X obj 80 627 unpack;
#X obj 119 707 f;
#X msg 137 627 0;
#X obj 149 707 +;
#X obj 119 664 t b f;
#X obj 137 603 loadbang;
#X obj 217 608 t b b;
#X obj 80 565 t l f;
#X obj 217 584 sel 0;
#X obj 131 745 f;
#X obj 500 442 v _\$0_amp_sum;
#X text 267 584 output sum of all before first clone's output;
#X obj 468 294 symbol \$3;
#X obj 468 332 sel normalize;
#X obj 163 225 t b b b;
#X msg 534 418 1;
#X obj 534 394 loadbang;
#X text 596 394 default to no normalization;
#X msg 500 418 0;
#X obj 468 356 t b b;
#X msg 468 475 1;
#X obj 468 498 v _\$0_normalize_bool;
#X obj 144 399 t f b;
#X obj 80 92 route float persistance seed;
#X text 599 434 reset sum of amplitudes (gets aggregated with each
instance's run), f 40;
#X obj 80 541 clone \$1 perlin.3d.cl \$0-permutation-table _\$0_amp_sum
_\$0_normalize_bool, f 80;
#X obj 637 47 inlet;
#X msg 637 154 all \$1;
#X text 683 46 z;
#X connect 2 0 46 0;
#X connect 3 0 7 0;
#X connect 6 0 0 0;
#X connect 7 0 48 1;
#X connect 8 0 48 0;
#X connect 9 0 37 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 11 1 45 0;
#X connect 12 0 45 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 14 1 16 0;
#X connect 15 0 16 0;
#X connect 17 0 0 0;
#X connect 18 0 48 0;
#X connect 23 1 27 0;
#X connect 24 0 26 0;
#X connect 25 0 24 1;
#X connect 26 0 24 1;
#X connect 26 0 32 1;
#X connect 27 0 24 0;
#X connect 27 1 26 1;
#X connect 28 0 25 0;
#X connect 29 0 25 0;
#X connect 29 1 32 0;
#X connect 30 0 23 0;
#X connect 30 1 31 0;
#X connect 31 0 29 0;
#X connect 32 0 5 0;
#X connect 35 0 36 0;
#X connect 36 0 42 0;
#X connect 37 0 10 0;
#X connect 37 1 13 0;
#X connect 37 2 35 0;
#X connect 38 0 33 0;
#X connect 39 0 38 0;
#X connect 41 0 33 0;
#X connect 42 0 43 0;
#X connect 42 1 41 0;
#X connect 43 0 44 0;
#X connect 45 0 18 0;
#X connect 45 1 41 0;
#X connect 46 0 8 0;
#X connect 46 1 45 0;
#X connect 46 2 17 0;
#X connect 48 0 30 0;
#X connect 49 0 50 0;
#X connect 50 0 48 2;