aboutsummaryrefslogtreecommitdiff
path: root/opengl/test
diff options
context:
space:
mode:
authorPablo Martín <caedesv@users.sourceforge.net>2003-09-07 21:51:37 +0000
committerPablo Martín <caedesv@users.sourceforge.net>2003-09-07 21:51:37 +0000
commit9aa1e112850a11854caa2198393dbd910e226151 (patch)
tree9ed62d40d96b503049229e1cb2555c4883416cb9 /opengl/test
parent213978fa8a868661dda88e6b4e7cacec1c90677a (diff)
Updating pdp version to 0.12.2
svn path=/trunk/externals/pdp/; revision=942
Diffstat (limited to 'opengl/test')
-rw-r--r--opengl/test/arm.pd39
-rw-r--r--opengl/test/meshtest.pd200
-rw-r--r--opengl/test/pdp_ogl_draw_limb.pd361
-rw-r--r--opengl/test/textest.pd54
4 files changed, 654 insertions, 0 deletions
diff --git a/opengl/test/arm.pd b/opengl/test/arm.pd
new file mode 100644
index 0000000..4da4ce1
--- /dev/null
+++ b/opengl/test/arm.pd
@@ -0,0 +1,39 @@
+#N canvas 475 534 450 300 10;
+#X obj 51 14 inlet;
+#X obj 52 252 outlet;
+#X obj 76 133 3dp_push;
+#X obj 176 117 3dp_view transx 0.5;
+#X obj 71 81 3dp_view rotz;
+#X obj 211 52 inlet;
+#X obj 177 91 3dp_view scalex \$1;
+#X obj 51 194 3dp_view transx \$1;
+#X obj 360 105 r texture;
+#X obj 40 62 3dp_view roty;
+#X obj 159 22 r roty;
+#X obj 301 50 r scale;
+#X obj 43 37 3dp_draw cube 1;
+#X obj 123 5 r cubesize;
+#X obj 257 219 3dp_draw torus 0.25 0.5 6;
+#X obj 231 176 spigot;
+#X obj 264 148 r drawtorus;
+#X obj 322 191 r torusr1;
+#X obj 355 160 r torusr2;
+#X connect 0 0 12 0;
+#X connect 2 0 7 0;
+#X connect 2 1 6 0;
+#X connect 3 0 15 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 1;
+#X connect 6 0 3 0;
+#X connect 7 0 1 0;
+#X connect 8 0 14 1;
+#X connect 9 0 4 0;
+#X connect 10 0 9 1;
+#X connect 11 0 6 1;
+#X connect 11 0 7 1;
+#X connect 12 0 9 0;
+#X connect 13 0 12 2;
+#X connect 15 0 14 0;
+#X connect 16 0 15 1;
+#X connect 17 0 14 2;
+#X connect 18 0 14 3;
diff --git a/opengl/test/meshtest.pd b/opengl/test/meshtest.pd
new file mode 100644
index 0000000..4b8d342
--- /dev/null
+++ b/opengl/test/meshtest.pd
@@ -0,0 +1,200 @@
+#N canvas 561 0 657 860 10;
+#X obj 101 61 3dp_windowcontext;
+#X obj 101 27 metro 20;
+#X obj 101 122 3dp_push;
+#X obj 102 11 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 56 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 253 32 cursor \$1;
+#X obj 253 12 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 90 222 3dp_mouserotate;
+#X text 14 250 use the mouse to rotate the model (but not the light
+source since it is rendered before the rotation is applied.);
+#X obj 67 516 3dp_drawmesh;
+#X obj 261 163 3dp_view transxyz 0 0 4;
+#X floatatom 412 128 5 0 0 0 - - -;
+#X floatatom 193 392 5 0 0 0 - - -;
+#X obj 312 293 spigot;
+#X obj 362 263 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 119 341 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 179 494 3dp_dlist;
+#X msg 188 467 compile;
+#X obj 110 466 pdp_route;
+#X obj 202 442 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 266 363 reset;
+#X obj 180 292 t b b b b b;
+#X msg 310 504 normal sphere;
+#X msg 309 458 normal prism;
+#X msg 310 481 normal random;
+#X obj 276 307 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 276 328 t b b b;
+#X obj 334 369 f;
+#X floatatom 382 317 5 0 0 0 - - -;
+#X floatatom 433 318 5 0 0 0 - - -;
+#X obj 81 297 pdp_t p b;
+#X obj 308 607 t b b;
+#X obj 390 612 t b b;
+#X obj 251 581 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 428 575 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 483 316 5 0 0 0 - - -;
+#X msg 451 288 5;
+#X msg 478 287 0;
+#X msg 507 290 5;
+#X obj 317 399 pack 0 0 0;
+#X msg 383 293 0.01;
+#X obj 68 420 3dp_view scale 0.5;
+#X obj 426 348 abs;
+#X obj 470 337 abs;
+#X msg 67 569 wireframe \$1;
+#X obj 84 545 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 10 322 spigot;
+#X obj 60 292 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 518 152 collectgarbage;
+#X obj 516 179 pdp_control;
+#X msg 317 537 info;
+#X msg 226 332 split4;
+#X msg 177 334 split3;
+#X msg 10 364 split3random;
+#X msg 317 421 springrelax \$1 \$2 \$3;
+#X obj 471 243 t b b b b;
+#X obj 486 219 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 273 199 3dp_light;
+#X floatatom 58 147 5 0 0 0 - - -;
+#X floatatom 103 146 5 0 0 0 - - -;
+#X floatatom 147 145 5 0 0 0 - - -;
+#X floatatom 191 143 5 0 0 0 - - -;
+#X msg 431 485 normal average;
+#X obj 85 590 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 68 614 flatshading \$1;
+#X obj 89 196 3dp_view roty;
+#X obj 387 54 f;
+#X obj 388 82 +;
+#X obj 98 78 pdp_t p b;
+#X floatatom 431 57 5 0 0 0 - - -;
+#X floatatom 181 9 5 0 0 0 - - -;
+#X obj 45 785 3dp_snap;
+#X floatatom 152 692 5 0 0 0 - - -;
+#X obj 221 736 print;
+#X obj 21 176 3dp_color 0.74 0.73 0.62 1;
+#X obj 32 726 3dp_draw sphere 9;
+#X obj 533 88 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 524 111 3dthread \$1;
+#X obj 256 672 pdp_v4l;
+#X obj 258 644 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 369 682 pdp_convert texture/*/*;
+#X obj 365 712 pdp_description;
+#X symbolatom 376 746 10 0 0 0 - - -;
+#X obj 191 654 metro 40;
+#X obj 191 631 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 314 760 pdp_xv;
+#X connect 0 0 68 0;
+#X connect 0 1 7 1;
+#X connect 1 0 0 0;
+#X connect 1 0 66 0;
+#X connect 2 0 74 0;
+#X connect 2 1 10 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 7 0 30 0;
+#X connect 9 0 75 0;
+#X connect 10 0 57 0;
+#X connect 11 0 10 3;
+#X connect 12 0 41 1;
+#X connect 13 0 27 0;
+#X connect 14 0 13 1;
+#X connect 15 0 9 0;
+#X connect 16 0 9 0;
+#X connect 17 0 16 0;
+#X connect 18 0 9 0;
+#X connect 18 1 16 0;
+#X connect 19 0 18 1;
+#X connect 20 0 9 0;
+#X connect 21 0 52 0;
+#X connect 21 1 52 0;
+#X connect 21 2 51 0;
+#X connect 21 4 51 0;
+#X connect 22 0 9 0;
+#X connect 23 0 9 0;
+#X connect 24 0 9 0;
+#X connect 25 0 26 0;
+#X connect 26 0 62 0;
+#X connect 26 1 21 0;
+#X connect 26 2 20 0;
+#X connect 27 0 39 0;
+#X connect 28 0 27 1;
+#X connect 29 0 39 1;
+#X connect 30 0 41 0;
+#X connect 30 1 13 0;
+#X connect 30 1 46 0;
+#X connect 31 0 52 0;
+#X connect 31 1 50 0;
+#X connect 32 0 51 0;
+#X connect 32 1 50 0;
+#X connect 33 0 31 0;
+#X connect 34 0 32 0;
+#X connect 35 0 43 0;
+#X connect 36 0 29 0;
+#X connect 37 0 29 0;
+#X connect 38 0 35 0;
+#X connect 39 0 54 0;
+#X connect 40 0 28 0;
+#X connect 41 0 18 0;
+#X connect 42 0 39 1;
+#X connect 43 0 39 2;
+#X connect 44 0 9 0;
+#X connect 45 0 44 0;
+#X connect 46 0 53 0;
+#X connect 47 0 46 1;
+#X connect 48 0 49 0;
+#X connect 50 0 9 0;
+#X connect 51 0 9 0;
+#X connect 52 0 9 0;
+#X connect 53 0 9 0;
+#X connect 54 0 9 0;
+#X connect 55 0 14 0;
+#X connect 55 1 40 0;
+#X connect 55 2 37 0;
+#X connect 55 3 38 0;
+#X connect 56 0 55 0;
+#X connect 58 0 74 1;
+#X connect 59 0 74 2;
+#X connect 60 0 74 3;
+#X connect 61 0 74 4;
+#X connect 62 0 9 0;
+#X connect 63 0 64 0;
+#X connect 64 0 9 0;
+#X connect 65 0 7 0;
+#X connect 66 0 67 0;
+#X connect 67 0 66 1;
+#X connect 67 0 65 1;
+#X connect 68 0 2 0;
+#X connect 69 0 67 1;
+#X connect 70 0 1 1;
+#X connect 72 0 75 2;
+#X connect 74 1 65 0;
+#X connect 76 0 77 0;
+#X connect 77 0 49 0;
+#X connect 78 0 80 0;
+#X connect 79 0 78 0;
+#X connect 80 0 81 0;
+#X connect 80 0 75 1;
+#X connect 81 0 82 0;
+#X connect 83 0 78 0;
+#X connect 84 0 83 0;
diff --git a/opengl/test/pdp_ogl_draw_limb.pd b/opengl/test/pdp_ogl_draw_limb.pd
new file mode 100644
index 0000000..7b76c74
--- /dev/null
+++ b/opengl/test/pdp_ogl_draw_limb.pd
@@ -0,0 +1,361 @@
+#N canvas 408 287 799 654 10;
+#X floatatom 170 39 5 0 0;
+#X obj 82 46 metro 40;
+#X obj 82 19 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 125 17 10;
+#X msg 99 4 stop;
+#X floatatom 284 336 5 0 0;
+#X obj 83 128 3dp_push;
+#X floatatom 502 132 5 0 0;
+#X obj 413 193 3dp_view transx 3;
+#X obj 404 251 3dp_light;
+#X obj 317 23 f;
+#X floatatom 356 24 5 0 0;
+#X floatatom 155 114 5 0 0;
+#X floatatom 575 415 5 0 0;
+#X floatatom 405 344 5 0 0;
+#X obj 130 456 arm 3;
+#X obj 128 482 arm 3;
+#X obj 128 516 arm 3;
+#X obj 137 430 arm 3;
+#X floatatom 288 376 5 0 0;
+#X floatatom 286 414 5 0 0;
+#X floatatom 290 454 5 0 0;
+#X floatatom 285 509 5 0 0;
+#X obj 139 608 arm 3;
+#X obj 138 641 arm 3;
+#X obj 132 671 arm 3;
+#X obj 139 583 arm 3;
+#X floatatom 289 549 5 0 0;
+#X floatatom 287 587 5 0 0;
+#X floatatom 291 627 5 0 0;
+#X obj 78 226 3dp_view roty;
+#X obj 248 358 * 1;
+#X obj 251 610 * -1;
+#X obj 507 567 s texture;
+#X obj 790 506 pdp_v4l;
+#X obj 790 478 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 785 434 metro 10;
+#X obj 782 408 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 812 403 stop;
+#X obj 139 707 arm 3;
+#X floatatom 307 661 5 0 0;
+#X obj 256 684 * -1.5;
+#X obj 474 719 s roty;
+#X floatatom 436 644 5 0 0;
+#X floatatom 570 687 5 0 0;
+#X obj 572 718 s scale;
+#X floatatom 180 212 5 0 0;
+#X floatatom 285 108 5 0 0;
+#X floatatom 347 299 5 0 0;
+#X obj 252 398 * -1.01;
+#X obj 250 436 * 0.99;
+#X obj 254 476 * -1.01;
+#X obj 249 531 * 2.1;
+#X obj 253 571 * -1.7;
+#X obj 133 399 3dp_draw cube 1.4;
+#X obj 129 886 3dp_draw cube 1.4;
+#X obj 445 68 t b b;
+#X msg 615 633 4;
+#X msg 503 640 14;
+#X obj 323 57 + 3;
+#X obj 70 174 3dp_view transz -3;
+#X obj 411 164 3dp_view roty 54;
+#X obj 398 378 s cubesize;
+#X msg 351 255 3.15;
+#X obj 68 248 3dp_view scale 0.4;
+#X msg 173 15 20;
+#X obj 255 649 * 0.11;
+#X floatatom 544 163 5 0 0;
+#X msg 421 3 0;
+#X obj 269 283 * 1;
+#X obj 85 203 3dp_view rotx;
+#X floatatom 163 172 5 0 0;
+#X floatatom 309 690 5 0 0;
+#X obj 128 769 arm 3;
+#X obj 127 802 arm 3;
+#X obj 121 832 arm 3;
+#X obj 128 733 arm 3;
+#X floatatom 313 730 5 0 0;
+#X floatatom 311 768 5 0 0;
+#X floatatom 315 808 5 0 0;
+#X obj 275 791 * -1;
+#X obj 128 868 arm 3;
+#X floatatom 331 842 5 0 0;
+#X obj 280 865 * -1.5;
+#X obj 273 712 * 2.1;
+#X obj 277 752 * -1.7;
+#X obj 279 830 * 0.11;
+#X obj 8 344 3dp_push;
+#X obj 148 311 3dp_view transz;
+#X floatatom 212 262 5 0 0;
+#X obj 44 365 3dp_view transz;
+#X obj 88 326 * -1;
+#X msg 267 165 2;
+#X obj 222 118 * 0.05;
+#X obj 518 805 s drawtorus;
+#X obj 518 778 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 515 853 s torusr1;
+#X floatatom 513 830 5 0 0;
+#X floatatom 611 831 5 0 0;
+#X obj 613 854 s torusr2;
+#X msg 569 761 1;
+#X obj 418 678 *;
+#X obj 422 292 metro 100;
+#X obj 418 266 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 167 366 3dp_dlist;
+#X msg 174 335 compile;
+#X floatatom 27 142 5 0 0;
+#X obj 82 150 3dp_push;
+#X obj 449 801 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 400 772 metro 40;
+#X obj 375 780 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj -20 368 3dp_push;
+#X obj -23 453 3dp_view rotx;
+#X floatatom 64 432 5 0 0;
+#X msg -4 56 dim 640 480;
+#X obj -15 533 3dp_draw sphere 30 40;
+#X msg 635 291 dim 512 512;
+#X obj 445 424 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 637 360 pdp_t p p;
+#X msg 434 617;
+#X msg 478 613 0.001;
+#X obj -11 573 3dp_snap;
+#X obj 701 192 pdp_control;
+#X msg 731 157 thread 1;
+#X msg 731 126 thread 0;
+#X obj 438 580 / 1000;
+#X floatatom 432 545 5 0 0;
+#X obj 156 89 3dp_view roty;
+#X floatatom 264 67 5 0 0;
+#X obj 591 104 print een;
+#X obj 595 129 print twee;
+#X obj 380 866 pdp_tex;
+#X obj 389 836 pdp_noise;
+#X msg 376 806 dim 64 64;
+#X obj 376 748 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 476 880 dim 32 32;
+#X obj 341 894 print tex;
+#X obj 452 858 print noise;
+#X obj 505 16 loadbang;
+#X obj 460 13 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 440 821 pdp_v4l;
+#X obj 38 25 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 597 243 osc~ 400;
+#X obj 582 275 dac~;
+#X msg 601 50 \; pd dsp 1;
+#X obj 137 68 3dp_windowcontext;
+#X msg 575 188 stop;
+#X obj 569 211 metro 1000;
+#X floatatom 620 181 5 0 0;
+#X obj 551 188 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj -13 98 3dp_windowcontext;
+#X obj 82 66 t b b;
+#X floatatom 361 84 5 0 0;
+#X obj 14 281 3dp_push;
+#X obj 96 273 pdp_t p b;
+#X obj 9 307 pdp_t p b;
+#X obj 428 43 t b b;
+#X msg 510 42 open;
+#X msg 304 213 400;
+#X msg 241 209 -400;
+#X obj 274 254 +;
+#X obj 748 595 pdp_xv;
+#X obj 750 544 pdp_abs;
+#X obj 504 465 print;
+#X obj 504 441 route done;
+#X obj -17 170 3dp_color;
+#X obj 8 696 pdp_description;
+#X symbolatom -14 773 40 0 0;
+#X msg 695 82 collectgarbage;
+#X obj -9 738 symbol;
+#X obj -11 717 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 14 628 pdp_del 50;
+#X connect 0 0 1 1;
+#X connect 1 0 10 0;
+#X connect 1 0 151 0;
+#X connect 2 0 1 0;
+#X connect 3 0 1 1;
+#X connect 4 0 1 0;
+#X connect 5 0 31 1;
+#X connect 6 0 107 0;
+#X connect 6 1 61 0;
+#X connect 7 0 61 1;
+#X connect 8 0 9 0;
+#X connect 10 0 59 0;
+#X connect 11 0 59 1;
+#X connect 12 0 60 1;
+#X connect 14 0 62 0;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X connect 17 0 26 0;
+#X connect 18 0 15 0;
+#X connect 19 0 49 1;
+#X connect 20 0 50 1;
+#X connect 21 0 51 1;
+#X connect 22 0 52 1;
+#X connect 23 0 24 0;
+#X connect 24 0 25 0;
+#X connect 25 0 39 0;
+#X connect 26 0 23 0;
+#X connect 27 0 53 1;
+#X connect 28 0 32 1;
+#X connect 29 0 66 1;
+#X connect 30 0 64 0;
+#X connect 31 0 49 0;
+#X connect 31 0 18 1;
+#X connect 32 0 66 0;
+#X connect 32 0 24 1;
+#X connect 34 0 162 0;
+#X connect 35 0 34 0;
+#X connect 36 0 35 0;
+#X connect 37 0 36 0;
+#X connect 38 0 36 0;
+#X connect 39 0 76 0;
+#X connect 40 0 41 1;
+#X connect 41 0 39 1;
+#X connect 41 0 84 0;
+#X connect 43 0 101 1;
+#X connect 44 0 45 0;
+#X connect 46 0 64 1;
+#X connect 47 0 93 1;
+#X connect 48 0 54 2;
+#X connect 48 0 55 2;
+#X connect 49 0 50 0;
+#X connect 49 0 15 1;
+#X connect 50 0 51 0;
+#X connect 50 0 16 1;
+#X connect 51 0 52 0;
+#X connect 51 0 17 1;
+#X connect 52 0 53 0;
+#X connect 52 0 26 1;
+#X connect 53 0 32 0;
+#X connect 53 0 23 1;
+#X connect 54 0 18 0;
+#X connect 56 0 2 0;
+#X connect 56 0 63 0;
+#X connect 56 0 65 0;
+#X connect 56 0 92 0;
+#X connect 56 1 57 0;
+#X connect 56 1 144 0;
+#X connect 56 1 147 0;
+#X connect 57 0 44 0;
+#X connect 57 0 58 0;
+#X connect 57 0 100 0;
+#X connect 58 0 42 0;
+#X connect 59 0 10 1;
+#X connect 59 0 93 0;
+#X connect 59 0 101 0;
+#X connect 59 0 160 1;
+#X connect 60 0 70 0;
+#X connect 61 0 8 0;
+#X connect 63 0 48 0;
+#X connect 64 0 153 0;
+#X connect 65 0 0 0;
+#X connect 66 0 41 0;
+#X connect 66 0 25 1;
+#X connect 67 0 8 1;
+#X connect 68 0 10 0;
+#X connect 69 0 31 0;
+#X connect 70 0 30 0;
+#X connect 71 0 70 1;
+#X connect 72 0 84 1;
+#X connect 73 0 74 0;
+#X connect 74 0 75 0;
+#X connect 75 0 81 0;
+#X connect 76 0 73 0;
+#X connect 77 0 85 1;
+#X connect 78 0 80 1;
+#X connect 79 0 86 1;
+#X connect 80 0 86 0;
+#X connect 80 0 74 1;
+#X connect 81 0 55 0;
+#X connect 82 0 83 1;
+#X connect 83 0 81 1;
+#X connect 84 0 85 0;
+#X connect 85 0 80 0;
+#X connect 85 0 73 1;
+#X connect 86 0 83 0;
+#X connect 86 0 75 1;
+#X connect 87 0 111 0;
+#X connect 87 1 90 0;
+#X connect 88 0 54 0;
+#X connect 89 0 88 1;
+#X connect 89 0 91 0;
+#X connect 90 0 54 0;
+#X connect 91 0 90 1;
+#X connect 92 0 89 0;
+#X connect 93 0 30 1;
+#X connect 95 0 94 0;
+#X connect 97 0 96 0;
+#X connect 98 0 99 0;
+#X connect 100 0 95 0;
+#X connect 101 0 42 0;
+#X connect 103 0 102 0;
+#X connect 104 0 54 0;
+#X connect 105 0 104 0;
+#X connect 106 0 165 3;
+#X connect 107 0 60 0;
+#X connect 108 0 140 0;
+#X connect 110 0 132 0;
+#X connect 111 0 112 0;
+#X connect 112 0 115 0;
+#X connect 113 0 112 1;
+#X connect 114 0 150 0;
+#X connect 115 0 121 0;
+#X connect 117 0 134 0;
+#X connect 120 0 43 0;
+#X connect 121 1 171 0;
+#X connect 123 0 122 0;
+#X connect 124 0 122 0;
+#X connect 125 0 43 0;
+#X connect 126 0 125 0;
+#X connect 127 0 6 0;
+#X connect 128 0 127 1;
+#X connect 133 0 132 0;
+#X connect 134 0 108 0;
+#X connect 135 0 132 0;
+#X connect 138 0 139 0;
+#X connect 139 0 156 0;
+#X connect 141 0 151 0;
+#X connect 142 0 143 0;
+#X connect 142 0 143 1;
+#X connect 145 0 127 0;
+#X connect 145 1 130 0;
+#X connect 146 0 147 0;
+#X connect 148 0 147 1;
+#X connect 149 0 147 0;
+#X connect 150 0 165 0;
+#X connect 151 0 150 0;
+#X connect 153 0 155 0;
+#X connect 153 1 154 0;
+#X connect 154 0 88 0;
+#X connect 154 1 159 0;
+#X connect 155 0 87 0;
+#X connect 155 1 158 0;
+#X connect 156 1 56 0;
+#X connect 157 0 145 0;
+#X connect 158 0 160 0;
+#X connect 159 0 160 0;
+#X connect 160 0 69 0;
+#X connect 162 0 161 0;
+#X connect 164 0 163 0;
+#X connect 165 0 6 0;
+#X connect 166 0 169 1;
+#X connect 168 0 122 0;
+#X connect 169 0 167 0;
+#X connect 170 0 169 0;
+#X connect 171 0 115 1;
diff --git a/opengl/test/textest.pd b/opengl/test/textest.pd
new file mode 100644
index 0000000..3640d94
--- /dev/null
+++ b/opengl/test/textest.pd
@@ -0,0 +1,54 @@
+#N canvas 561 0 657 860 10;
+#X obj 106 106 3dp_windowcontext;
+#X obj 101 27 metro 20;
+#X obj 102 11 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 56 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 181 9 5 0 0 0 - - -;
+#X floatatom 106 663 5 0 0 0 - - -;
+#X obj 221 736 print;
+#X obj 229 541 pdp_v4l;
+#X obj 231 513 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 369 682 pdp_convert texture/*/*;
+#X obj 314 760 pdp_xv;
+#X obj 365 712 pdp_description;
+#X symbolatom 376 746 10 0 0 0 - - -;
+#X obj 369 657 pdp_convert bitmap/*/*;
+#X obj 164 523 metro 40;
+#X obj 164 500 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X floatatom 214 466 5 0 0 0 - - -;
+#X obj 363 235 pdp_control;
+#X msg 366 199 3dthread \$1;
+#X obj 374 167 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 109 135 3dp_mouserotate;
+#X obj 32 726 3dp_draw sphere 9;
+#X msg 167 417 open /dev/video1;
+#X obj 379 558 pdp_chrot;
+#X floatatom 429 519 5 0 0 0 - - -;
+#X connect 0 0 20 0;
+#X connect 0 1 20 1;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 4 0 1 1;
+#X connect 5 0 21 2;
+#X connect 7 0 23 0;
+#X connect 8 0 7 0;
+#X connect 9 0 11 0;
+#X connect 9 0 21 1;
+#X connect 11 0 12 0;
+#X connect 13 0 9 0;
+#X connect 14 0 7 0;
+#X connect 15 0 14 0;
+#X connect 16 0 14 1;
+#X connect 18 0 17 0;
+#X connect 19 0 18 0;
+#X connect 20 0 21 0;
+#X connect 22 0 7 0;
+#X connect 23 0 13 0;
+#X connect 23 0 10 0;
+#X connect 24 0 23 1;