aboutsummaryrefslogtreecommitdiff
path: root/examples/09_vp_calibration/09_vp_calibration_gpu.pd
diff options
context:
space:
mode:
Diffstat (limited to 'examples/09_vp_calibration/09_vp_calibration_gpu.pd')
-rw-r--r--examples/09_vp_calibration/09_vp_calibration_gpu.pd363
1 files changed, 363 insertions, 0 deletions
diff --git a/examples/09_vp_calibration/09_vp_calibration_gpu.pd b/examples/09_vp_calibration/09_vp_calibration_gpu.pd
new file mode 100644
index 0000000..ed11234
--- /dev/null
+++ b/examples/09_vp_calibration/09_vp_calibration_gpu.pd
@@ -0,0 +1,363 @@
+#N canvas 347 203 1443 736 10;
+#X declare -path ../../;
+#X obj 17 13 declare -path ../../;
+#X text 7 -11 declare path to be sure externals were found...;
+#X obj 9 588 gemwin;
+#X obj 839 270 pix_texture;
+#X msg 23 555 destroy;
+#N canvas 969 388 826 658 compute_perspective 0;
+#N canvas 1 110 450 300 format 0;
+#X obj 93 7 inlet;
+#X obj 118 140 outlet;
+#X msg 108 68 \$1 \$4 0 \$7 \$2 \$5 0 \$8 0 0 1 0 \$3 \$6 0 \$9;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 17 474 pd format;
+#N canvas 1 86 643 318 mapMatrix 0;
+#X obj 110 263 pack 0 0 0 0 0 0 0 0 0;
+#X floatatom 110 121 5 0 0 0 - - -, f 5;
+#X floatatom 160 121 5 0 0 0 - - -, f 5;
+#X floatatom 210 121 5 0 0 0 - - -, f 5;
+#X floatatom 110 141 5 0 0 0 - - -, f 5;
+#X floatatom 160 141 5 0 0 0 - - -, f 5;
+#X floatatom 210 141 5 0 0 0 - - -, f 5;
+#X floatatom 110 161 5 0 0 0 - - -, f 5;
+#X floatatom 160 161 5 0 0 0 - - -, f 5;
+#X floatatom 210 161 5 0 0 0 - - -, f 5;
+#X obj 110 285 outlet;
+#X obj 110 29 inlet;
+#X obj 110 59 unpack 0 0 0 0 0 0 0 0 0;
+#X obj 146 195 t b f;
+#X obj 189 196 t b f;
+#X obj 231 196 t b f;
+#X obj 273 195 t b f;
+#X obj 316 195 t b f;
+#X obj 362 195 t b f;
+#X obj 406 195 t b f;
+#X obj 456 195 t b f;
+#X connect 0 0 10 0;
+#X connect 1 0 0 0;
+#X connect 2 0 13 0;
+#X connect 3 0 14 0;
+#X connect 4 0 15 0;
+#X connect 5 0 16 0;
+#X connect 6 0 17 0;
+#X connect 7 0 18 0;
+#X connect 8 0 19 0;
+#X connect 9 0 20 0;
+#X connect 11 0 12 0;
+#X connect 12 0 1 0;
+#X connect 12 1 2 0;
+#X connect 12 2 3 0;
+#X connect 12 3 4 0;
+#X connect 12 4 5 0;
+#X connect 12 5 6 0;
+#X connect 12 6 7 0;
+#X connect 12 7 8 0;
+#X connect 12 8 9 0;
+#X connect 13 0 0 0;
+#X connect 13 1 0 1;
+#X connect 14 0 0 0;
+#X connect 14 1 0 2;
+#X connect 15 0 0 0;
+#X connect 15 1 0 3;
+#X connect 16 0 0 0;
+#X connect 16 1 0 4;
+#X connect 17 0 0 0;
+#X connect 17 1 0 5;
+#X connect 18 0 0 0;
+#X connect 18 1 0 6;
+#X connect 19 0 0 0;
+#X connect 19 1 0 7;
+#X connect 20 0 0 0;
+#X connect 20 1 0 8;
+#X coords 0 -1 1 1 150 80 1 100 100;
+#X restore 17 391 pd mapMatrix;
+#X obj -136 371 pix_opencv_warpperspective;
+#X text 76 473 <-- transform into a 4x4;
+#X text 101 483 openGL transpose matrix;
+#X obj -137 194 loadbang;
+#X obj 101 101 cnv 15 240 60 empty empty VP_calib 20 12 0 14 -262130
+-66577 0;
+#X floatatom 253 124 5 0 0 0 - - -, f 5;
+#X floatatom 293 124 5 0 0 0 - - -, f 5;
+#X floatatom 253 144 5 0 0 0 - - -, f 5;
+#X floatatom 293 144 5 0 0 0 - - -, f 5;
+#X floatatom 111 124 5 0 0 0 - - -, f 5;
+#X floatatom 151 124 5 0 0 0 - - -, f 5;
+#X floatatom 111 144 5 0 0 0 - - -, f 5;
+#X floatatom 151 144 5 0 0 0 - - -, f 5;
+#X text 206 124 VP 1;
+#X obj 139 -12 unpack 0 0 0 0 0 0 0 0;
+#X obj 139 -52 loadbang;
+#X obj 74 258 pack 0 0 0 0 0 0 0 0;
+#X obj 74 217 t b f;
+#X obj 110 217 t b f;
+#X obj 146 217 t b f;
+#X obj 182 217 t b f;
+#X obj 218 217 t b f;
+#X obj 254 217 t b f;
+#X obj 290 217 t b f;
+#X msg 74 280 dstMatrix \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8;
+#X obj 17 496 outlet;
+#X obj -136 497 outlet;
+#X msg -136 214 srcMatrix -1 1 1 1 -1 -1 1 -1;
+#X obj 74 302 t b a;
+#X obj 201 107 bng 15 250 50 0 empty empty reset 17 7 0 10 -262144
+-1 -1;
+#X msg 124 330 invert \$1;
+#X obj 124 310 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 139 -31 -1 1 1 1 -1 -1 1 -1;
+#X connect 0 0 27 0;
+#X connect 1 0 0 0;
+#X connect 2 0 28 0;
+#X connect 2 1 1 0;
+#X connect 5 0 29 0;
+#X connect 7 0 20 0;
+#X connect 8 0 21 0;
+#X connect 9 0 24 0;
+#X connect 10 0 25 0;
+#X connect 11 0 18 0;
+#X connect 12 0 19 0;
+#X connect 13 0 22 0;
+#X connect 14 0 23 0;
+#X connect 16 0 11 0;
+#X connect 16 1 12 0;
+#X connect 16 2 7 0;
+#X connect 16 3 8 0;
+#X connect 16 4 13 0;
+#X connect 16 5 14 0;
+#X connect 16 6 9 0;
+#X connect 16 7 10 0;
+#X connect 17 0 34 0;
+#X connect 18 0 26 0;
+#X connect 19 0 18 0;
+#X connect 19 1 18 1;
+#X connect 20 0 18 0;
+#X connect 20 1 18 2;
+#X connect 21 0 18 0;
+#X connect 21 1 18 3;
+#X connect 22 0 18 0;
+#X connect 22 1 18 4;
+#X connect 23 0 18 0;
+#X connect 23 1 18 5;
+#X connect 24 0 18 0;
+#X connect 24 1 18 6;
+#X connect 25 0 18 0;
+#X connect 25 1 18 7;
+#X connect 26 0 30 0;
+#X connect 29 0 2 0;
+#X connect 30 1 2 0;
+#X connect 31 0 34 0;
+#X connect 32 0 2 0;
+#X connect 33 0 32 0;
+#X connect 34 0 16 0;
+#X coords 0 -1 1 1 242 62 2 100 100;
+#X restore 751 135 pd compute_perspective;
+#X msg 9 527 color 0 0 1 1 \, dimen 640 480 \, create \, 1;
+#X obj 839 385 square 1 1;
+#X obj 839 333 GEMglMultTransposeMatrixf;
+#X text 396 -7 This demonstrates how to use pix_opencv_warpperspective
+to compute perspective transformation and to apply it with OpenGL;
+#X text 424 61 Very useful to quickly setup video projector;
+#X obj 839 312 scaleXYZ 1 1 1;
+#X obj 839 359 scaleXYZ 1 1 0;
+#X obj 1123 257 pix_texture;
+#N canvas 969 388 826 658 compute_perspective 0;
+#N canvas 1 110 450 300 format 0;
+#X obj 93 7 inlet;
+#X obj 118 140 outlet;
+#X msg 108 68 \$1 \$4 0 \$7 \$2 \$5 0 \$8 0 0 1 0 \$3 \$6 0 \$9;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 17 474 pd format;
+#N canvas 1 86 643 318 mapMatrix 0;
+#X obj 110 263 pack 0 0 0 0 0 0 0 0 0;
+#X floatatom 110 121 5 0 0 0 - - -, f 5;
+#X floatatom 160 121 5 0 0 0 - - -, f 5;
+#X floatatom 210 121 5 0 0 0 - - -, f 5;
+#X floatatom 110 141 5 0 0 0 - - -, f 5;
+#X floatatom 160 141 5 0 0 0 - - -, f 5;
+#X floatatom 210 141 5 0 0 0 - - -, f 5;
+#X floatatom 110 161 5 0 0 0 - - -, f 5;
+#X floatatom 160 161 5 0 0 0 - - -, f 5;
+#X floatatom 210 161 5 0 0 0 - - -, f 5;
+#X obj 110 285 outlet;
+#X obj 110 29 inlet;
+#X obj 110 59 unpack 0 0 0 0 0 0 0 0 0;
+#X obj 146 195 t b f;
+#X obj 189 196 t b f;
+#X obj 231 196 t b f;
+#X obj 273 195 t b f;
+#X obj 316 195 t b f;
+#X obj 362 195 t b f;
+#X obj 406 195 t b f;
+#X obj 456 195 t b f;
+#X connect 0 0 10 0;
+#X connect 1 0 0 0;
+#X connect 2 0 13 0;
+#X connect 3 0 14 0;
+#X connect 4 0 15 0;
+#X connect 5 0 16 0;
+#X connect 6 0 17 0;
+#X connect 7 0 18 0;
+#X connect 8 0 19 0;
+#X connect 9 0 20 0;
+#X connect 11 0 12 0;
+#X connect 12 0 1 0;
+#X connect 12 1 2 0;
+#X connect 12 2 3 0;
+#X connect 12 3 4 0;
+#X connect 12 4 5 0;
+#X connect 12 5 6 0;
+#X connect 12 6 7 0;
+#X connect 12 7 8 0;
+#X connect 12 8 9 0;
+#X connect 13 0 0 0;
+#X connect 13 1 0 1;
+#X connect 14 0 0 0;
+#X connect 14 1 0 2;
+#X connect 15 0 0 0;
+#X connect 15 1 0 3;
+#X connect 16 0 0 0;
+#X connect 16 1 0 4;
+#X connect 17 0 0 0;
+#X connect 17 1 0 5;
+#X connect 18 0 0 0;
+#X connect 18 1 0 6;
+#X connect 19 0 0 0;
+#X connect 19 1 0 7;
+#X connect 20 0 0 0;
+#X connect 20 1 0 8;
+#X coords 0 -1 1 1 150 80 1 100 100;
+#X restore 17 391 pd mapMatrix;
+#X obj -136 371 pix_opencv_warpperspective;
+#X text 76 473 <-- transform into a 4x4;
+#X text 101 483 openGL transpose matrix;
+#X obj -137 194 loadbang;
+#X obj 101 101 cnv 15 240 60 empty empty VP_calib 20 12 0 14 -262130
+-66577 0;
+#X floatatom 253 124 5 0 0 0 - - -, f 5;
+#X floatatom 293 124 5 0 0 0 - - -, f 5;
+#X floatatom 253 144 5 0 0 0 - - -, f 5;
+#X floatatom 293 144 5 0 0 0 - - -, f 5;
+#X floatatom 111 124 5 0 0 0 - - -, f 5;
+#X floatatom 151 124 5 0 0 0 - - -, f 5;
+#X floatatom 111 144 5 0 0 0 - - -, f 5;
+#X floatatom 151 144 5 0 0 0 - - -, f 5;
+#X text 206 124 VP 1;
+#X obj 139 -12 unpack 0 0 0 0 0 0 0 0;
+#X obj 139 -52 loadbang;
+#X obj 74 258 pack 0 0 0 0 0 0 0 0;
+#X obj 74 217 t b f;
+#X obj 110 217 t b f;
+#X obj 146 217 t b f;
+#X obj 182 217 t b f;
+#X obj 218 217 t b f;
+#X obj 254 217 t b f;
+#X obj 290 217 t b f;
+#X msg 74 280 dstMatrix \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8;
+#X obj 17 496 outlet;
+#X obj -136 497 outlet;
+#X msg -136 214 srcMatrix -1 1 1 1 -1 -1 1 -1;
+#X obj 74 302 t b a;
+#X obj 201 107 bng 15 250 50 0 empty empty reset 17 7 0 10 -262144
+-1 -1;
+#X msg 124 330 invert \$1;
+#X obj 124 310 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 139 -31 -1 1 1 1 -1 -1 1 -1;
+#X connect 0 0 27 0;
+#X connect 1 0 0 0;
+#X connect 2 0 28 0;
+#X connect 2 1 1 0;
+#X connect 5 0 29 0;
+#X connect 7 0 20 0;
+#X connect 8 0 21 0;
+#X connect 9 0 24 0;
+#X connect 10 0 25 0;
+#X connect 11 0 18 0;
+#X connect 12 0 19 0;
+#X connect 13 0 22 0;
+#X connect 14 0 23 0;
+#X connect 16 0 11 0;
+#X connect 16 1 12 0;
+#X connect 16 2 7 0;
+#X connect 16 3 8 0;
+#X connect 16 4 13 0;
+#X connect 16 5 14 0;
+#X connect 16 6 9 0;
+#X connect 16 7 10 0;
+#X connect 17 0 34 0;
+#X connect 18 0 26 0;
+#X connect 19 0 18 0;
+#X connect 19 1 18 1;
+#X connect 20 0 18 0;
+#X connect 20 1 18 2;
+#X connect 21 0 18 0;
+#X connect 21 1 18 3;
+#X connect 22 0 18 0;
+#X connect 22 1 18 4;
+#X connect 23 0 18 0;
+#X connect 23 1 18 5;
+#X connect 24 0 18 0;
+#X connect 24 1 18 6;
+#X connect 25 0 18 0;
+#X connect 25 1 18 7;
+#X connect 26 0 30 0;
+#X connect 29 0 2 0;
+#X connect 30 1 2 0;
+#X connect 31 0 34 0;
+#X connect 32 0 2 0;
+#X connect 33 0 32 0;
+#X connect 34 0 16 0;
+#X coords 0 -1 1 1 242 62 2 100 100;
+#X restore 1035 134 pd compute_perspective;
+#X obj 1123 384 square 1 1;
+#X obj 1123 332 GEMglMultTransposeMatrixf;
+#X obj 1123 311 scaleXYZ 1 1 1;
+#X obj 1123 358 scaleXYZ 1 1 0;
+#X obj 1123 281 depth 0;
+#X obj 839 291 depth 0;
+#X obj 839 247 gemhead 2;
+#X obj 1123 226 gemhead 3;
+#X obj 460 133 flat_projection 20;
+#X obj 11 128 r render;
+#X obj 11 258 pix_texture;
+#X obj 82 174 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 82 194 openpanel;
+#X msg 82 215 open \$1;
+#X obj 11 279 square 25;
+#X text 71 128 <- this object must be present in your patch to start
+the gemchain like in this example.;
+#X floatatom 81 283 5 0 0 0 - - -, f 5;
+#X obj 11 236 pix_image temp2.JPG;
+#X obj 1006 151 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
+0 1;
+#X connect 3 0 20 0;
+#X connect 4 0 2 0;
+#X connect 5 1 8 1;
+#X connect 6 0 2 0;
+#X connect 8 0 12 0;
+#X connect 11 0 8 0;
+#X connect 12 0 7 0;
+#X connect 13 0 19 0;
+#X connect 14 1 16 1;
+#X connect 16 0 18 0;
+#X connect 17 0 16 0;
+#X connect 18 0 15 0;
+#X connect 19 0 17 0;
+#X connect 20 0 11 0;
+#X connect 21 0 3 0;
+#X connect 22 0 13 0;
+#X connect 24 0 32 0;
+#X connect 25 0 29 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 32 0;
+#X connect 31 0 29 1;
+#X connect 32 0 25 0;
+#X connect 33 0 21 0;
+#X connect 33 0 22 0;