aboutsummaryrefslogtreecommitdiff
path: root/examples/06_GPU_opticalflow/06_GPU_opticalflow.pd
blob: f3d562e10e7bec49fd08c7e53526e1e86aa37637 (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
#N canvas 365 233 1451 649 10;
#X obj 936 450 cnv 15 200 40 empty empty empty 20 12 0 14 -261234 -66577
0;
#X obj 149 397 gemframebuffer;
#X obj 149 424 translateXYZ 0 0 -4;
#X obj 149 558 pix_texture;
#X obj 194 511 loadbang;
#X obj 162 343 loadbang;
#X obj 568 438 gemframebuffer;
#X obj 568 476 translateXYZ 0 0 -4;
#X obj 568 577 pix_texture;
#X obj 603 521 loadbang;
#X obj 594 359 loadbang;
#X msg 600 542 rectangle 1 \, quality 1;
#X obj 1057 537 loadbang;
#X msg 1057 557 rectangle 1 \, quality 1;
#X obj 149 587 rectangle 4 4;
#X obj 568 603 square 4;
#X msg 1204 461 previousFrame 1 \, currentFrame 2;
#X msg 1224 432 lambda \$1;
#X msg 1288 431 scale \$1 \$1;
#X msg 194 533 rectangle 1 \, quality 1;
#X obj 607 408 r of_dim;
#X obj 1047 587 pix_texture;
#X obj 325 187 gemwin;
#X msg 325 140 create \, 1;
#X msg 335 161 0 \, destroy;
#N canvas 493 216 473 548 glsl_frag 0;
#X obj 104 413 glsl_program;
#X msg 61 190 print;
#X obj 179 255 change;
#X msg 60 360 print;
#X obj 104 232 glsl_fragment;
#X floatatom 179 281 2 0 0 0 ID - -;
#X obj 197 327 print linking;
#X text 123 361 after linking \, click "print" to get some info about
the compiled shader program;
#X obj 41 16 inlet;
#X obj 104 449 outlet;
#X obj 262 57 inlet;
#X obj 41 39 route bang;
#X obj 114 140 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 168 51 gemhead 1;
#X msg 168 73 1;
#X obj 168 97 change;
#X obj 168 121 t b;
#X obj 183 455 t b;
#X obj 183 476 outlet;
#X msg 179 306 link \$1;
#X obj 114 166 t b;
#X msg 113 189 open of.frag;
#X connect 0 0 9 0;
#X connect 0 1 17 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 20 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 20 0;
#X connect 17 0 18 0;
#X connect 19 0 0 0;
#X connect 19 0 6 0;
#X connect 20 0 21 0;
#X connect 21 0 4 0;
#X restore 1047 464 pd glsl_frag;
#X obj 529 66 pix_info _____________;
#X msg 639 116 \$1;
#X obj 529 5 gemhead;
#X obj 529 45 pix_video;
#X obj 529 113 pix_texture;
#X obj 529 179 spigot;
#X obj 586 250 loadbang;
#X msg 586 271 0;
#X msg 162 362 rectangle 1 \, format RGB32 \, type FLOAT \, texunit
2 \, dimen 640 480;
#X msg 594 386 rectangle 1 \, texunit 1 \, format RGB32 \, dimen 640
480;
#X obj 529 210 t b b b;
#X obj 529 138 t b b;
#X obj 568 323 gemhead;
#X obj 149 314 gemhead;
#X obj 1047 347 gemhead;
#X text 941 464 shader inside -->;
#X obj 1219 407 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
10 -262144 -1 -1 0 256;
#X obj 1289 404 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
10 -262144 -1 -1 1 256;
#X obj 1289 359 loadbang;
#X msg 1289 382 1;
#X text 77 60 this is an example of how to compute optical flow on
GPU;
#X obj 1240 212 loadbang;
#X msg 1240 232 rectangle 1 \, quality 1;
#X obj 1230 262 pix_texture;
#X obj 1229 150 gemhead;
#X text 571 179 <-- only render when a new image arrived;
#X obj 1047 498 translateXYZ 0 -4 -4;
#X obj 1229 174 translateXYZ 0 4 -4;
#X obj 1231 282 rectangle 4 3;
#X obj 1047 607 rectangle 4 3;
#X text 663 440 this is the previous frame;
#X text 246 399 this is the current frag;
#X text 941 430 here is the gradient computaion;
#X text 615 272 disable automatic rendering;
#X text 1225 132 display original image;
#X connect 1 0 2 0;
#X connect 1 1 21 1;
#X connect 1 1 8 1;
#X connect 2 0 3 0;
#X connect 3 0 14 0;
#X connect 4 0 19 0;
#X connect 5 0 34 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 15 0;
#X connect 9 0 11 0;
#X connect 10 0 35 0;
#X connect 11 0 8 0;
#X connect 12 0 13 0;
#X connect 13 0 21 0;
#X connect 16 0 25 1;
#X connect 17 0 25 1;
#X connect 18 0 25 1;
#X connect 19 0 3 0;
#X connect 20 0 6 0;
#X connect 21 0 55 0;
#X connect 23 0 22 0;
#X connect 24 0 22 0;
#X connect 25 0 52 0;
#X connect 25 1 16 0;
#X connect 25 1 42 0;
#X connect 25 1 43 0;
#X connect 26 0 30 0;
#X connect 26 6 27 0;
#X connect 27 0 31 1;
#X connect 28 0 29 0;
#X connect 29 0 26 0;
#X connect 30 0 37 0;
#X connect 30 1 3 1;
#X connect 30 1 49 1;
#X connect 31 0 36 0;
#X connect 32 0 33 0;
#X connect 33 0 38 0;
#X connect 33 0 39 0;
#X connect 33 0 40 0;
#X connect 34 0 1 0;
#X connect 35 0 6 0;
#X connect 36 1 39 0;
#X connect 36 2 38 0;
#X connect 37 0 40 0;
#X connect 37 1 31 0;
#X connect 38 0 6 0;
#X connect 39 0 1 0;
#X connect 40 0 25 0;
#X connect 42 0 17 0;
#X connect 43 0 18 0;
#X connect 44 0 45 0;
#X connect 45 0 43 0;
#X connect 47 0 48 0;
#X connect 48 0 49 0;
#X connect 49 0 54 0;
#X connect 50 0 53 0;
#X connect 52 0 21 0;
#X connect 53 0 49 0;