aboutsummaryrefslogtreecommitdiff
path: root/examples/09_vp_calibration/flat_projection.pd
blob: febb3b36772bd0517d33364dc236406f135b1d02 (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
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
#N canvas 73 150 1376 699 10;
#X obj 263 277 gemhead;
#X obj 263 351 gemframebuffer;
#X obj 263 402 s render;
#X msg 285 326 rectangle 0;
#X obj 285 307 loadbang;
#X obj 263 376 translateXYZ 0 0 -4;
#N canvas 190 83 1090 559 size 0;
#X obj 29 20 inlet;
#X obj 29 91 unpack f f;
#X obj 142 91 unpack f f;
#X obj 336 91 unpack f f;
#X obj 142 122 - 1;
#X obj 199 124 - 1;
#X obj 142 187 *;
#X obj 155 163 t b f;
#X obj 199 187 *;
#X obj 212 163 t b f;
#X obj 42 233 t b f;
#X obj 126 233 t b f;
#X obj 29 330 pack f f;
#X obj 441 160 t b b f;
#X obj 29 494 outlet;
#X obj 29 147 *;
#X obj 42 123 t b f;
#X obj 86 147 *;
#X obj 99 123 t b f;
#X obj 257 329 pack f f;
#X obj 257 407 outlet;
#X obj 29 257 -;
#X obj 113 257 -;
#X obj 113 285 f;
#X obj 29 285 f;
#N canvas 260 83 450 300 change2 0;
#X obj 41 24 inlet;
#X obj 41 47 unpack f f;
#X obj 80 176 pack f f;
#X obj 98 132 t b f;
#X obj 80 201 outlet;
#X obj 41 149 moses 2;
#X obj 41 89 change;
#X obj 98 89 change;
#X connect 0 0 1 0;
#X connect 1 0 6 0;
#X connect 1 1 7 0;
#X connect 2 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 2 1;
#X connect 5 1 2 0;
#X connect 6 0 5 0;
#X connect 7 0 3 0;
#X restore 257 366 pd change2;
#N canvas 260 83 450 300 change2 0;
#X obj 41 24 inlet;
#X obj 41 47 unpack f f;
#X obj 80 176 pack f f;
#X obj 98 132 t b f;
#X obj 80 201 outlet;
#X obj 41 149 moses 2;
#X obj 41 89 change;
#X obj 98 89 change;
#X connect 0 0 1 0;
#X connect 1 0 6 0;
#X connect 1 1 7 0;
#X connect 2 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 2 1;
#X connect 5 1 2 0;
#X connect 6 0 5 0;
#X connect 7 0 3 0;
#X restore 29 350 pd change2;
#X obj 581 311 pack f f;
#X obj 594 265 t b f;
#X obj 651 265 t b f;
#X obj 581 289 /;
#X obj 638 289 /;
#X obj 579 171 pack f f;
#X obj 305 428 /;
#X obj 305 448 * 4;
#X msg 305 468 \$1 4;
#X msg 29 369 dimen \$1 \$2;
#X obj 57 392 /;
#X msg 57 472 perspec \$1 \$2 -1 1 1 20;
#X obj 57 452 pack f f;
#X obj 57 411 t f f;
#X obj 57 431 * -1;
#X obj 441 91 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 467 90 basic FSAA;
#X obj 29 46 route screen_size geometry_screen geometry_computer overlap
FSAA;
#X obj 239 91 unpack f f;
#X obj 239 137 *;
#X obj 252 113 t b f;
#X obj 296 137 *;
#X obj 309 113 t b f;
#X obj 579 191 s \$0-glsl_geometry_screen;
#X obj 578 224 s \$0-glsl_geometry_computer;
#X obj 581 331 s \$0-glsl_overlap;
#X obj 305 490 s \$0-size_gemwin;
#X obj 388 255 r \$0-altern;
#X obj 407 311 list;
#X obj 388 276 sel 0 1;
#X obj 388 341 list;
#X obj 29 307 + 0;
#X obj 113 308 + 0;
#X text 480 108 not full implemented yet!;
#X connect 0 0 44 0;
#X connect 1 0 15 0;
#X connect 1 0 28 0;
#X connect 1 0 46 0;
#X connect 1 1 17 0;
#X connect 1 1 29 0;
#X connect 1 1 48 0;
#X connect 2 0 4 0;
#X connect 2 0 16 0;
#X connect 2 0 32 0;
#X connect 2 1 5 0;
#X connect 2 1 18 0;
#X connect 2 1 32 1;
#X connect 3 0 7 0;
#X connect 3 0 30 0;
#X connect 3 1 9 0;
#X connect 3 1 31 0;
#X connect 4 0 6 0;
#X connect 5 0 8 0;
#X connect 6 0 10 0;
#X connect 7 0 6 0;
#X connect 7 1 6 1;
#X connect 8 0 11 0;
#X connect 9 0 8 0;
#X connect 9 1 8 1;
#X connect 10 0 21 0;
#X connect 10 1 21 1;
#X connect 11 0 22 0;
#X connect 11 1 22 1;
#X connect 12 0 26 0;
#X connect 12 0 37 0;
#X connect 13 0 24 0;
#X connect 13 1 23 0;
#X connect 13 2 58 1;
#X connect 13 2 59 1;
#X connect 15 0 21 0;
#X connect 16 0 15 0;
#X connect 16 1 15 1;
#X connect 17 0 22 0;
#X connect 18 0 17 0;
#X connect 18 1 17 1;
#X connect 19 0 25 0;
#X connect 21 0 24 0;
#X connect 22 0 23 0;
#X connect 23 0 59 0;
#X connect 24 0 58 0;
#X connect 25 0 20 0;
#X connect 25 0 33 0;
#X connect 26 0 36 0;
#X connect 27 0 52 0;
#X connect 28 0 30 0;
#X connect 28 1 30 1;
#X connect 29 0 31 0;
#X connect 29 1 31 1;
#X connect 30 0 27 0;
#X connect 31 0 27 1;
#X connect 32 0 50 0;
#X connect 33 0 34 0;
#X connect 34 0 35 0;
#X connect 35 0 53 0;
#X connect 36 0 14 0;
#X connect 37 0 40 0;
#X connect 38 0 14 0;
#X connect 39 0 38 0;
#X connect 40 0 41 0;
#X connect 40 1 39 1;
#X connect 41 0 39 0;
#X connect 42 0 13 0;
#X connect 44 0 1 0;
#X connect 44 1 2 0;
#X connect 44 1 55 1;
#X connect 44 2 45 0;
#X connect 44 2 51 0;
#X connect 44 2 57 1;
#X connect 44 3 3 0;
#X connect 44 4 42 0;
#X connect 45 0 47 0;
#X connect 45 1 49 0;
#X connect 46 0 19 0;
#X connect 47 0 46 0;
#X connect 47 1 46 1;
#X connect 48 0 19 1;
#X connect 49 0 48 0;
#X connect 49 1 48 1;
#X connect 54 0 56 0;
#X connect 55 0 45 0;
#X connect 55 0 51 0;
#X connect 56 0 57 0;
#X connect 56 1 55 0;
#X connect 57 0 45 0;
#X connect 57 0 51 0;
#X connect 58 0 12 0;
#X connect 59 0 12 1;
#X restore 528 320 pd size;
#X msg 605 523 0 \, destroy;
#X obj 594 551 gemwin;
#X obj 428 519 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 281 631 rectangle;
#X obj 306 589 unpack f f;
#X floatatom 380 610 5 0 0 0 - - -, f 5;
#X floatatom 319 612 5 0 0 0 - - -, f 5;
#N canvas 0 50 743 323 init_glsl 0;
#X obj 129 184 outlet;
#X msg 129 120 overlap \$1 \$2;
#X obj 129 95 pack f f;
#X obj 249 98 pack f f;
#X obj 434 99 pack f f;
#X msg 249 119 geometry_screen \$1 \$2;
#X msg 434 120 geometry_computer \$1 \$2;
#X obj 434 76 r \$0-glsl_geometry_computer;
#X obj 249 75 r \$0-glsl_geometry_screen;
#X obj 129 72 r \$0-glsl_overlap;
#X obj 38 27 r \$0-init_glsl;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 7 0 4 0;
#X connect 8 0 3 0;
#X connect 9 0 2 0;
#X connect 10 0 3 0;
#X connect 10 0 2 0;
#X connect 10 0 4 0;
#X restore 418 497 pd init_glsl;
#X obj 292 500 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 281 539 pix_texture;
#X obj 281 428 gemhead 60;
#X obj 528 343 print framebuffer;
#X obj 604 415 print gem_window;
#N canvas 0 50 669 667 glsl_frag 0;
#X obj 78 598 glsl_program;
#X msg 35 325 print;
#X obj 172 387 change;
#X msg 34 545 print;
#X obj 78 367 glsl_fragment;
#X floatatom 172 413 2 0 0 0 ID - -, f 2;
#X obj 190 459 print linking;
#X text 97 546 after linking \, click "print" to get some info about
the compiled shader program;
#X obj 13 52 inlet;
#X obj 78 634 outlet;
#X obj 577 95 inlet;
#X obj 13 75 route bang;
#X obj 141 87 gemhead 1;
#X msg 141 109 1;
#X obj 141 133 change;
#X obj 141 157 t b;
#X obj 157 619 change;
#X obj 157 640 t b;
#X obj 157 661 outlet;
#X msg 172 438 link \$1;
#X msg 87 324 open soft_edge.frag;
#X connect 0 0 9 0;
#X connect 0 1 16 0;
#X connect 1 0 4 0;
#X connect 2 0 5 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 4 1 2 0;
#X connect 5 0 19 0;
#X connect 8 0 11 0;
#X connect 10 0 0 0;
#X connect 11 0 20 0;
#X connect 11 1 4 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 20 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 19 0 0 0;
#X connect 19 0 6 0;
#X connect 20 0 4 0;
#X restore 281 518 pd glsl_frag _______;
#X obj 605 470 sel 0 1;
#X msg 624 500 border 0 \, create \, 1;
#X obj 528 67 pack f f;
#X obj 638 48 t b f;
#X obj 831 65 pack f f;
#X obj 941 46 t b f;
#X msg 528 97 screen_size \$1 \$2;
#X msg 831 92 geometry_screen \$1 \$2;
#X obj 1151 65 pack f f;
#X obj 1281 46 t b f;
#X msg 746 93 2 2;
#X msg 746 67 set \$1 \$2;
#X obj 683 67 loadbang;
#X msg 1151 92 geometry_computer \$1 \$2;
#X msg 1066 67 set \$1 \$2;
#X obj 1003 67 loadbang;
#X msg 1066 93 4 1;
#X msg 446 67 set \$1 \$2;
#X obj 383 67 loadbang;
#X msg 446 93 160 120;
#X obj 446 114 unpack f f;
#X obj 746 114 unpack f f;
#X obj 1066 114 unpack f f;
#X obj 1003 236 loadbang;
#X msg 1066 262 0 0;
#X msg 1151 282 overlap \$1 \$1;
#X msg 567 576 0;
#X msg 594 392 dimen \$1 \$2;
#X obj 567 369 t b l;
#X obj 100 235 cnv 15 250 20 empty empty PUT_AN_OBJECT_[r_render]_IN_YOUR_PATCH
10 10 0 10 -258113 -66577 0;
#X obj 100 20 cnv 15 250 215 empty empty empty 20 12 0 14 -260097 -66577
0;
#X obj 108 163 nbx 5 14 0 5000 0 0 \$0-overlap \$0-overlap empty 0
-8 0 10 -99865 -1 -1 0 256;
#X obj 108 187 tgl 15 0 \$0-createDestroy \$0-createDestroy empty 17
7 0 10 -1 -262144 -1 0 1;
#X text 128 187 Create/Destroy Gem window;
#X obj 108 29 nbx 4 12 -1e+37 1e+37 0 0 \$0-sizeScreenX \$0-sizeScreenX
empty 0 -8 0 10 -1 -262144 -1 160 256;
#X text 166 163 Overlap X and Y (pixels);
#X obj 108 45 nbx 4 12 -1e+37 1e+37 0 0 \$0-sizeScreenY \$0-sizeScreenY
empty 0 -8 0 10 -1 -262144 -1 120 256;
#X obj 108 83 nbx 4 12 -1e+37 1e+37 0 0 \$0-Geom-screenY \$0-Geom-screenY
empty 0 -8 0 10 -257985 -1 -1 2 256;
#X obj 108 67 nbx 4 12 -1e+37 1e+37 0 0 \$0-Geom-screenX \$0-Geom-screenX
empty 0 -8 0 10 -257985 -1 -1 2 256;
#X obj 108 143 tgl 10 0 \$0-altern \$0-altern empty 17 7 0 10 -1 -262144
-1 0 1;
#X obj 108 121 nbx 4 12 -1e+37 1e+37 0 0 \$0-Geom-computerY \$0-Geom-computerY
empty 0 -8 0 10 -257985 -1 -1 1 256;
#X obj 108 105 nbx 4 12 -1e+37 1e+37 0 0 \$0-Geom-computerX \$0-Geom-computerX
empty 0 -8 0 10 -257985 -1 -1 4 256;
#X text 158 65 Geometry screen (X);
#X text 158 81 Geometry screen (Y);
#X text 158 103 Geometry computer (X);
#X text 158 119 Geometry computer (Y);
#X text 158 28 Screens size (X);
#X text 158 44 Screens size (Y);
#X obj 108 212 bng 15 250 50 0 \$0-save \$0-receiveNothing empty 17
7 0 10 -258113 -1 -1;
#X text 128 212 Save parameters;
#X obj 446 156 s \$0-sizeScreenX;
#X obj 503 136 s \$0-sizeScreenY;
#X obj 746 155 s \$0-Geom-screenX;
#X obj 803 135 s \$0-Geom-screenY;
#X obj 1123 135 s \$0-Geom-computerY;
#X obj 1066 155 s \$0-Geom-computerX;
#X obj 1066 304 s \$0-overlap;
#X obj 605 449 r \$0-createDestroy;
#X obj 567 596 s \$0-createDestroy;
#X obj 418 540 s \$0-init_glsl;
#X obj 306 569 r \$0-size_gemwin;
#X obj 528 27 r \$0-sizeScreenX;
#X obj 638 27 r \$0-sizeScreenY;
#X obj 831 25 r \$0-Geom-screenX;
#X obj 941 25 r \$0-Geom-screenY;
#X obj 1281 25 r \$0-Geom-computerY;
#X obj 1151 25 r \$0-Geom-computerX;
#X obj 1151 215 r \$0-overlap;
#X obj 100 271 r \$0-save;
#X msg 1066 236 set \$1 \$1;
#X obj 100 317 s pd-soft_edge.pd;
#X msg 100 292 menusave;
#X text 856 481 'soft-edge.pd' by Cyrille Henry (GUI by Jack/RYBN)
;
#X text 121 140 View computer(0)/screen(1);
#X obj 388 16 inlet;
#X obj 444 643 outlet;
#X connect 0 0 1 0;
#X connect 1 0 5 0;
#X connect 1 1 16 1;
#X connect 3 0 1 0;
#X connect 4 0 3 0;
#X connect 5 0 2 0;
#X connect 6 0 1 0;
#X connect 6 0 18 0;
#X connect 6 1 49 0;
#X connect 7 0 8 0;
#X connect 9 0 80 0;
#X connect 11 0 10 1;
#X connect 11 0 13 0;
#X connect 11 1 10 2;
#X connect 11 1 12 0;
#X connect 14 0 20 1;
#X connect 15 0 20 0;
#X connect 16 0 10 0;
#X connect 16 1 96 0;
#X connect 17 0 20 0;
#X connect 20 0 16 0;
#X connect 20 1 80 0;
#X connect 21 0 7 0;
#X connect 21 1 22 0;
#X connect 22 0 8 0;
#X connect 23 0 27 0;
#X connect 23 0 38 0;
#X connect 24 0 23 0;
#X connect 24 1 23 1;
#X connect 25 0 28 0;
#X connect 25 0 32 0;
#X connect 26 0 25 0;
#X connect 26 1 25 1;
#X connect 27 0 6 0;
#X connect 28 0 6 0;
#X connect 29 0 34 0;
#X connect 29 0 35 0;
#X connect 30 0 29 0;
#X connect 30 1 29 1;
#X connect 31 0 28 0;
#X connect 31 0 42 0;
#X connect 32 0 31 0;
#X connect 33 0 31 0;
#X connect 34 0 6 0;
#X connect 35 0 37 0;
#X connect 36 0 37 0;
#X connect 37 0 34 0;
#X connect 37 0 43 0;
#X connect 38 0 40 0;
#X connect 39 0 40 0;
#X connect 40 0 27 0;
#X connect 40 0 41 0;
#X connect 41 0 71 0;
#X connect 41 1 72 0;
#X connect 42 0 73 0;
#X connect 42 1 74 0;
#X connect 43 0 76 0;
#X connect 43 1 75 0;
#X connect 44 0 45 0;
#X connect 45 0 46 0;
#X connect 45 0 77 0;
#X connect 46 0 6 0;
#X connect 47 0 79 0;
#X connect 48 0 8 0;
#X connect 48 0 19 0;
#X connect 49 0 47 0;
#X connect 49 1 48 0;
#X connect 78 0 21 0;
#X connect 81 0 11 0;
#X connect 82 0 23 0;
#X connect 83 0 24 0;
#X connect 84 0 25 0;
#X connect 85 0 26 0;
#X connect 86 0 30 0;
#X connect 87 0 29 0;
#X connect 88 0 46 0;
#X connect 88 0 90 0;
#X connect 89 0 92 0;
#X connect 90 0 45 0;
#X connect 92 0 91 0;
#X connect 95 0 8 0;
#X coords 0 -1 1 1 250 235 2 100 20;