Forums > Jitter

[sharing is fun] -keystone using nurbs

February 16, 2008 | 7:34 pm

in response to many (two) off-list requests i bring you a keystone method.
this uses nurbs surface, mouse input and the famous [usetexture targetx,
to_texture, erase] rutine.

enjoy
yair reshef

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 135 240 27 9109513 t b l;
#P message 147 199 73 9109513 read dozer.mov;
#P newex 135 218 55 9109513 jit.qt.movie;
#P newex 135 263 217 9109513 jit.gl.videoplane colli @color 1 1 1 1
@automatic 0;
#P toggle 355 35 15 0;
#P newex 355 53 67 9109513 s change_key;
#P comment 375 35 47 9109513 change;
#P newex 119 286 348 9109513 jit.gl.gridshape colli @poly_mode 1 1 @color 1
1 1 1 @shape plane @automatic 0;
#N vpatcher 351 151 774 488;
#P window setfont "Sans Serif" 9.;
#P window linecount 0;
#P newex 50 50 29 9109513 t b b;
#P newex 50 116 79 9109513 t b b b b b b;
#P newex 63 263 316 9109513 jit.gl.texture colli @name second @dim 1024 768
@automatic 0 @adapt 0;
#P objectname jit.gl.texture;
#P window setfont "Sans Serif" 14.;
#N vpatcher 219 60 977 617;
#P origin -204 -434;
#P window setfont "Sans Serif" 9.;
#P newex 43 37 65 9109513 r change_key;
#B color 12;
#P window linecount 0;
#P newex 450 125 56 9109513 r save_key;
#B color 12;
#P hidden newex 652 50 79 9109513 r reset_keystone;
#B color 14;
#P hidden newex 652 118 27 9109513 t b f;
#B color 14;
#P hidden newex 652 74 19 9109513 t b;
#B color 14;
#P hidden newex 652 96 31 9109513 f 0.;
#B color 14;
#P hidden newex 673 74 69 9109513 r cam_position;
#B color 14;
#P newex 43 263 48 9109513 s restvec;
#P newex 43 238 28 9109513 sel 0;
#P newex 85 327 75 9109513 jit.matrix veclen;
#P newex 392 560 60 9109513 pack 0. 0.;
#P newex 442 537 60 9109513 * 1.3;
#P newex 392 516 60 9109513 unpack 0. 0.;
#P newex 121 628 55 9109513 s worldcord;
#P newex 249 571 56 9109513 loadmess 1;
#P hidden newex 516 123 54 9109513 delay 2000;
#P window setfont "Sans Serif" 12.;
#P comment 369 168 32 9109516 x;
#P window setfont "Sans Serif" 9.;
#P hidden newex 381 194 67 9109513 s resetKeyst2;
#B color 12;
#P newex 193 38 65 9109513 r resetKeyst2;
#B color 12;
#P newex 368 413 42 9109513 print;
#P flonum 332 170 35 9 0 0 0 139 0 0 0 255 227 23 222 222 222 0 0 0;
#P newex 199 169 117 9109513 jit.op @op + pass @val 0.;
#P newex 434 412 44 9109513 zl slice 2;
#P newex 168 431 27 9109513 gate;
#P toggle 230 572 15 0;
#P newex 402 464 42 9109513 gate 1 1;
#N vpatcher 143 83 870 526;
#P origin 12 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 389 462 35 9109513 t reset;
#P newex 388 439 46 9109513 r restvec;
#P newex 447 380 75 9109513 jit.matrix veclen;
#P message 448 360 61 9109513 getcell $1 $2;
#P newex 483 406 44 9109513 zl slice 4;
#P newex 166 77 40 9109513 t b l l;
#P newex 447 433 72 9109513 pack 0. 0. 0. 0.;
#P window linecount 0;
#P message 447 457 257 9109513 reset , glbegin lines , glcolor 1 0 0 1 ,
glvertex $1 $2 0.1 , glcolor 0 1 0 1 , glvertex $3 $4 0.1 , glend;
#P window linecount 1;
#P newex 447 501 152 9109513 jit.gl.sketch colli @position 0. 0. 0.;
#P newex 139 437 127 9109513 jit.matrix colorz 4 float32 2 3;
#P newex 139 390 45 9109513 loadbang;
#P message 139 414 105 9109513 setall 0. 0. 1. 0.7 , bang;
#P outlet 19 465 15 0;
#P newex 19 390 40 9109513 t b l b;
#B color 5;
#P newex 19 440 71 9109513 jit.matrix colorz;
#B color 5;
#P message 50 411 74 9109513 setall 0. 0. 1. 1.;
#P newex 166 49 36 9109513 t l b;
#P newex 34 331 53 9109513 print;
#P button 182 333 15 0;
#P newex 212 283 53 9109513 zl group 4;
#P user multiSlider 212 306 121 103 0. 1. 4 2681 15 0 0 2 0 0 0;
#M frgb 0 0 0;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P newex 165 27 36 9109513 r idlem;
#P newex 19 368 139 9109513 pak setcell 1 1 val 0. 1. 0. 1.;
#B color 5;
#P newex 122 323 48 9109513 gate;
#P newex 122 297 29 9109513 < 0.5;
#P newex 218 119 45 9109513 zl slice 2;
#P message 218 73 31 9109513 dump;
#N coll keystone2 1;
#P newobj 218 97 77 9109513 coll keystone2 1;
#B color 5;
#P newex 264 173 60 9109513 unpack 0. 0.;
#P newex 223 145 55 9109513 t b l;
#P newex 229 198 27 9109513 f;
#P newex 196 173 60 9109513 unpack 0. 0.;
#P newex 179 198 27 9109513 f;
#P newex 201 260 120 9109513 expr sqrt($f1*$f1+$f2*$f2);
#P newex 266 233 58 9109513 expr $f1-$f2;
#P newex 201 234 58 9109513 expr $f1-$f2;
#P window linecount 2;
#P comment 1 297 115 9109513 on click , find nearest point and changes its
location;
#P connect 14 0 23 0;
#P connect 21 0 22 0;
#P connect 23 1 22 0;
#P connect 23 0 22 0;
#P connect 22 0 24 0;
#P fasten 27 0 24 0 144 461 24 461;
#P fasten 13 0 14 1 127 355 42 355;
#P fasten 23 2 21 0 55 409;
#P fasten 3 0 12 0 206 283 127 283;
#P connect 12 0 13 0;
#P connect 26 0 25 0;
#P connect 25 0 27 0;
#P fasten 11 0 13 1 223 141 165 141;
#P connect 15 0 20 0;
#P connect 20 0 31 0;
#P connect 7 0 4 0;
#P connect 17 0 18 0;
#P connect 31 2 5 0;
#P connect 5 0 4 1;
#P connect 4 0 1 0;
#P connect 1 0 3 0;
#P connect 3 0 17 0;
#P connect 17 0 16 0;
#P fasten 20 1 10 0 197 71 223 71;
#P fasten 10 0 9 0 223 93 223 93;
#P connect 9 0 11 0;
#P fasten 11 1 7 0 258 141 228 141;
#P connect 7 0 6 0;
#P connect 5 1 6 1;
#P fasten 8 0 1 1 269 222 254 222;
#P connect 7 1 8 0;
#P connect 6 0 2 0;
#P fasten 2 0 3 1 271 257 316 257;
#P connect 8 1 2 1;
#P connect 35 0 36 0;
#P connect 33 0 34 0;
#P fasten 31 1 30 0 186 411 452 411;
#P connect 30 0 29 0;
#P connect 36 0 28 0;
#P connect 29 0 28 0;
#P fasten 13 0 33 0 127 349 453 349;
#P fasten 34 1 32 0 517 402 488 402;
#P fasten 32 1 30 2 522 428 492 428;
#P pop;
#P newobj 410 249 57 9109513 p keycolor2;
#P newex 401 487 60 9109513 s idlem;
#P newex 435 365 60 9109513 r keyRender;
#B color 12;
#P newex 186 409 44 9109513 r mouse;
#B color 12;
#P hidden newex 401 118 35 9109513 / -1.33;
#P hidden newex 572 123 45 9109513 loadbang;
#P toggle 43 61 28 0;
#P newex 132 239 27 9109513 gate;
#P flonum 369 147 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P hidden newex 199 122 124 9109513 jit.op @op pass * @val -0.6;
#P flonum 333 147 35 9 0 0 0 139 0 0 0 255 227 23 222 222 222 0 0 0;
#P newex 199 146 124 9109513 jit.op @op * pass @val -0.7;
#N comlet bang;
#P inlet 149 221 15 0;
#P comment 116 394 126 9109513 set window to @idlemouse 1;
#P comment 116 411 67 9109513 from window;
#N comlet to gl.nurb;
#P outlet 164 351 15 0;
#P objectname to_gl.nurbs;
#P comment 366 370 67 9109513 from gl.render;
#P number 300 248 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P hidden message 215 63 42 9109513 < < reset;
#P message 516 147 90 9109513 read key3.jxf , bang;
#B color 5;
#P objectname rd;
#P message 449 147 65 9109513 write key3.jxf;
#B color 5;
#P objectname wr;
#P hidden newex 141 193 60 9109513 t b l;
#P newex 186 478 27 9109513 t b l;
#P newex 387 652 146 9109513 pack setcell 1 1 val 0. 0.;
#B color 5;
#P newex 490 607 48 9109513 gate;
#P newex 490 581 34 9109513 < 0.5;
#P newex 586 403 45 9109513 zl slice 2;
#P message 548 356 31 9109513 dump;
#P newex 586 260 146 9109513 t l reset clear;
#B color 5;
#P newex 586 330 131 9109513 zl rot 2;
#B color 5;
#P newex 586 353 131 9109513 Ltocoll;
#B color 5;
#N coll keystone2 1;
#P newobj 586 381 77 9109513 coll keystone2 1;
#B color 5;
#P newex 586 306 100 9109513 pack 0. 0. 0 0;
#B color 5;
#P newex 199 222 170 9109513 jit.matrix 2 float32 @dim 2 3 @adapt 0;
#P newex 586 283 131 9109513 jit.iter;
#B color 5;
#P newex 119 577 44 9109513 zl slice 2;
#P newex 220 532 44 9109513 togedge;
#P newex 632 457 60 9109513 unpack 0. 0.;
#P newex 591 429 55 9109513 t b l;
#P newex 597 482 27 9109513 f;
#P newex 564 457 60 9109513 unpack 0. 0.;
#P newex 547 482 27 9109513 f;
#P newex 569 544 120 9109513 expr sqrt($f1*$f1+$f2*$f2);
#P newex 634 517 58 9109513 expr $f1-$f2;
#P newex 569 518 58 9109513 expr $f1-$f2;
#P newex 434 389 89 9109513 route screentoworld;
#P newex 186 455 105 9109513 route mouse mouseidle;
#P newex 186 508 44 9109513 zl slice 2;
#N vpatcher 45 100 254 214;
#P outlet 80 55 15 0;
#P inlet 80 33 15 0;
#P connect 0 0 1 0;
#P pop;
#P newobj 434 433 42 9109513 p thru;
#P message 119 601 91 9109513 screentoworld $1 $2;
#P newex 198 248 100 9109513 jit.op @op * @val 20;
#P newex 164 327 80 9109513 prepend ctlmatrix;
#P hidden button 198 63 15 5;
#P hidden newex 199 85 399 9109513 jit.gl.gridshape colli @shape plane @dim
2 3 @automatic 0 @matrixoutput 1 @poly_mode 1 1;
#P window linecount 4;
#P newex 0 488 161 9109513 jit.gl.gridshape colli @shape circle @scale 0.05
0.05 @automatic 0 @depth_enable 1 @dim 10 10 @name mee2 @color 0. 0. 1. 0.7;
#P window linecount 2;
#P newex 198 272 222 9109513 jit.gl.multiple colli 2 @targetname mee2
@glparams position color @automatic 0 @position 0. 0. 0.01;
#B color 5;
#P comment 369 581 115 9109513 on click , find nearest point and changes
its location;
#P window linecount 1;
#P comment 194 628 100 9109513 to gl.render;
#P comment 2 471 47 9109513 to gl.nurb;
#P window setfont "Sans Serif" 36.;
#P comment 266 22 171 9109540 keystone2;
#P window setfont "Sans Serif" 12.;
#P comment 407 147 39 9109516
#P connect 86 0 54 0;
#P connect 54 0 78 0;
#P connect 78 0 79 0;
#P connect 27 0 77 0;
#P fasten 14 1 25 0 238 565 124 565;
#P connect 25 0 11 0;
#P fasten 13 0 11 0 191 597 124 597;
#P connect 11 0 73 0;
#P fasten 54 0 53 0 48 230 137 230;
#P hidden connect 37 0 39 0;
#P connect 48 0 53 1;
#P connect 27 0 9 0;
#P connect 9 0 45 0;
#P connect 54 0 63 0;
#P connect 57 0 63 1;
#P fasten 63 0 14 0 173 452 191 452;
#P connect 14 0 38 0;
#P connect 38 1 13 0;
#P connect 68 0 8 0;
#P hidden connect 83 0 8 0;
#P connect 27 0 10 0;
#P fasten 53 0 5 0 137 270 203 270;
#P connect 10 0 5 0;
#P hidden connect 8 0 7 0;
#P hidden connect 7 0 51 0;
#P hidden connect 51 0 49 0;
#P connect 49 0 65 0;
#P hidden connect 65 0 27 0;
#P hidden fasten 41 0 27 0 521 221 204 221;
#P hidden connect 39 0 27 0;
#P hidden connect 39 1 27 0;
#P hidden fasten 40 0 27 0 454 220 204 220;
#P connect 13 1 24 0;
#P connect 24 0 62 0;
#P connect 72 0 62 0;
#P connect 24 1 62 0;
#P hidden connect 43 0 10 1;
#P hidden connect 66 0 65 1;
#P hidden connect 52 0 51 1;
#P hidden connect 50 0 49 1;
#P hidden fasten 83 1 66 0 674 165 337 165;
#P hidden connect 56 0 52 0;
#P hidden connect 50 0 69 0;
#P hidden fasten 43 0 69 0 372 263;
#P hidden connect 52 0 69 0;
#P hidden connect 66 0 69 0;
#P fasten 38 0 37 0 191 503 392 503;
#P connect 12 0 74 0;
#P connect 74 0 76 0;
#P hidden fasten 50 0 56 0 405 162;
#P connect 61 0 59 0;
#P connect 62 0 61 0;
#P connect 60 0 5 1;
#P fasten 36 0 37 1 495 639 419 639;
#P connect 58 0 15 0;
#P connect 15 0 64 0;
#P connect 64 0 12 0;
#P connect 12 0 61 1;
#P connect 74 1 75 0;
#P connect 75 0 76 1;
#P connect 85 0 40 0;
#P fasten 18 0 35 0 574 567 495 567;
#P connect 35 0 36 0;
#P connect 76 0 37 4;
#P hidden connect 55 0 71 0;
#P hidden fasten 71 0 41 0 521 144 521 144;
#P fasten 34 0 36 1 591 425 533 425;
#P connect 22 0 19 0;
#P connect 24 0 33 0;
#P fasten 12 0 20 0 439 454 569 454;
#P connect 20 0 19 1;
#P connect 19 0 16 0;
#P connect 16 0 18 0;
#P fasten 27 0 32 0 204 244 591 244;
#P connect 32 0 26 0;
#P connect 26 0 28 0;
#P connect 28 0 31 0;
#P connect 31 0 30 0;
#P connect 32 1 30 0;
#P fasten 33 0 29 0 553 377 591 377;
#P fasten 32 2 29 0 727 376 591 376;
#P connect 30 0 29 0;
#P connect 29 0 34 0;
#P fasten 34 1 22 0 626 425 596 425;
#P connect 22 0 21 0;
#P connect 20 1 21 1;
#P fasten 23 0 16 1 637 506 622 506;
#P connect 22 1 23 0;
#P connect 21 0 17 0;
#P connect 26 1 28 2;
#P hidden connect 84 0 82 0;
#P hidden connect 82 0 81 0;
#P hidden connect 81 0 83 0;
#P hidden connect 80 0 81 1;
#P fasten 17 0 18 1 639 541 684 541;
#P connect 23 1 17 1;
#P pop;
#P newobj 132 194 85 9109518 p keystone2;
#B color 6;
#P window setfont "Sans Serif" 9.;
#P window linecount 2;
#P newex 76 227 245 9109513 jit.gl.nurbs colli @dim 5 5 @order 0 0 @ctlshow
0 @color 1. 1. 1. @automatic 0 @scale 1. 1. @capture second;
#P objectname jit.gl.nurbs;
#P window linecount 1;
#P newex 50 291 302 9109513 jit.gl.videoplane colli @depth_enable 1
@blend_enable 0 @automatic 0;
#P newex 69 94 60 9109513 s render1;
#P message 69 74 161 9109513 usetexture targetx , to_texture , erase;
#P newex 115 142 186 9109513 jit.gl.texture colli @name targetx @adapt 1;
#P inlet 50 30 15 0;
#P connect 0 0 9 0;
#P connect 9 0 8 0;
#P connect 7 0 4 0;
#P connect 8 0 4 0;
#P connect 8 1 7 0;
#P connect 9 1 2 0;
#P connect 2 0 3 0;
#P fasten 1 0 5 0 120 210 81 210;
#P fasten 6 0 5 0 137 224 81 224;
#P fasten 8 2 5 0 81 171 81 171;
#P connect 8 5 1 0;
#P fasten 8 3 6 0 94 191 137 191;
#P pop;
#P newobj 34 170 56 9109513 p Keystone;
#P hidden newex 40 89 45 9109513 loadbang;
#N vpatcher 527 71 983 386;
#P origin 0 3;
#P window setfont "Sans Serif" 12.;
#P window linecount 0;
#P message 105 95 70 9109516 pos 50 500;
#B color 14;
#P window setfont "Sans Serif" 9.;
#N vpatcher 45 100 243 248;
#P window setfont "Sans Serif" 9.;
#P flonum 105 71 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 106 50 37 9109513 / 1.334;
#P newex 50 89 91 9109513 pak scale 1. 1.33 1.;
#P inlet 77 26 15 0;
#P outlet 50 113 15 0;
#P connect 2 0 0 0;
#P connect 1 0 2 1;
#P connect 4 0 2 2;
#P connect 3 0 4 0;
#P connect 1 0 3 0;
#P pop;
#P newobj 10 101 50 9109513 p GLscale;
#P flonum 9 83 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 378 95 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 343 95 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 308 95 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 273 95 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 272 117 141 9109513 pak rect 0 0 640 480;
#P window setfont "Sans Serif" 12.;
#P message 107 118 158 9109516 depthbuffer 0 , depthbuffer 1;
#B color 14;
#P window setfont "Sans Serif" 9.;
#P newex 278 223 43 9109513 t getsize;
#P newex 278 198 98 9109513 route update size;
#P newex 322 223 70 9109513 s newWindSize;
#P newex 378 198 44 9109513 s mouse;
#P window linecount 2;
#P newex 88 144 264 9109513 jit.window colli @depthbuffer 2 @idlemouse 1
@sync 0 @floating 1 @fsaa 2 @fsmenubar 0 @border 1 @pos 50 500;
#P window linecount 1;
#P newex 101 21 53 9109513 r worldcord;
#P newex 54 21 45 9109513 r render1;
#N vpatcher 627 435 925 587;
#P origin -27 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P message 0 94 106 9109513 rect 1200 500 1520 740;
#P window linecount 0;
#P message 107 92 96 9109513 rect 1024 0 2048 768;
#P window linecount 1;
#P newex 77 66 40 9109513 sel 0 1;
#P toggle 77 50 15 0;
#P window linecount 0;
#P newex 77 29 35 9109513 sel 27;
#P newex 34 28 40 9109513 key;
#P outlet 94 114 15 0;
#P fasten 4 0 6 0 82 89 5 89;
#P fasten 1 0 2 0 44 45 80 30;
#P fasten 2 0 3 0 82 49 82 49;
#P connect 3 0 4 0;
#P connect 5 0 0 0;
#P connect 6 0 0 0;
#P connect 4 1 5 0;
#P pop;
#P newobj 75 118 25 9109513 p fs;
#N vpatcher 25 70 330 299;
#P origin 0 1;
#P window setfont "Sans Serif" 9.;
#P newex 153 179 43 9109513 s glhight;
#P newex 81 178 44 9109513 s glwidth;
#P newex 48 105 50 9109513 / 2.;
#P message 48 149 50 9109513 0.8284;
#P message 48 128 50 9109513 set $1;
#P newex 178 109 50 9109513 / 2.;
#P message 178 153 50 9109513 0.8284;
#P message 178 132 50 9109513 set $1;
#P newex 104 38 86 9109513 r keyRender;
#P comment 175 86 35 9109513 height;
#P flonum 48 85 59 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 111 85 59 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#N vpatcher 385 97 759 364;
#P outlet 131 150 15 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 0;
#P newex 131 128 29 9109513 * 1.;
#P window linecount 1;
#P message 270 77 20 9109513 $2;
#P message 248 77 20 9109513 $1;
#P newex 248 95 32 9109513 / 1.;
#P message 102 70 20 9109513 $3;
#P newex 50 92 184 9109513 expr $f2*2*tan($f1/2*3.1415/180);
#P newex 50 50 164 9109513 route lens_angle camera dest_dim;
#P inlet 50 30 15 0;
#P outlet 166 152 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 2 1 4 0;
#P fasten 3 0 8 0 55 115 136 115;
#P connect 8 0 9 0;
#P fasten 5 0 8 1 253 118 155 118;
#P fasten 3 0 0 0 55 115 171 115;
#P fasten 4 0 3 1 107 88 229 88;
#P fasten 2 2 6 0 157 73 253 73;
#P connect 6 0 5 0;
#P fasten 2 2 7 0 157 73 275 73;
#P connect 7 0 5 1;
#P pop;
#P newobj 104 60 76 9109513 p CalcGLHeight;
#P comment 10 87 35 9109513 width;
#P fasten 1 0 3 0 109 81 53 81;
#P connect 3 0 11 0;
#P connect 11 0 9 0;
#P connect 9 0 10 0;
#P connect 11 0 12 0;
#P connect 5 0 1 0;
#P fasten 1 1 2 0 175 81 116 81;
#P connect 8 0 13 0;
#P fasten 2 0 8 0 116 105 183 105;
#P connect 8 0 6 0;
#P connect 6 0 7 0;
#P pop;
#P newobj 25 247 47 9109513 p glWidth;
#P newex 86 66 62 9109513 s keyRender;
#P newex 23 45 73 9109513 jit.gl.render colli;
#P objectname jit.gl.slab[1];
#P inlet 23 23 15 0;
#P connect 18 0 19 0;
#P fasten 19 0 1 0 15 125 11 125 11 38;
#P fasten 5 0 1 0 59 42 28 42;
#P connect 0 0 1 0;
#P fasten 6 0 1 0 106 42 28 42;
#P connect 1 1 2 0;
#P connect 20 0 7 0;
#P fasten 11 0 7 0 283 249 81 249 81 141 93 141;
#P fasten 12 0 7 0 112 141 93 141;
#P connect 4 0 7 0;
#P fasten 7 1 10 0 347 193 283 193;
#P connect 10 0 11 0;
#P fasten 14 0 13 1 278 113 309 113;
#P connect 10 1 9 0;
#P fasten 15 0 13 2 313 113 341 113;
#P fasten 16 0 13 3 348 113 373 113;
#P fasten 7 1 8 0 347 193 383 193;
#P fasten 17 0 13 4 383 113 405 113;
#P pop;
#P newobj 21 200 75 9109513 p winAndRender;
#P newex 21 137 157 9109513 t b b b erase;
#P toggle 21 92 15 0;
#P newex 21 113 50 9109513 qmetro 40;
#P button 244 34 15 0;
#P newex 244 52 93 9109513 s save_key;
#P comment 264 34 71 9109513 save;
#P button 149 34 15 0;
#P newex 149 52 81 9109513 s reset_keystone;
#P comment 169 34 62 9109513 reset;
#P comment 150 77 309 9109513 read keystone is automatic when the patch is
loaded , thats the key3.jxf;
#P comment 17 34 100 9109513 keystone maker;
#P user panel 144 29 320 72;
#X brgb 191 191 191;
#X frgb 0 0 0;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P connect 18 0 17 0;
#P connect 8 0 7 0;
#P connect 5 0 4 0;
#P connect 22 1 19 0;
#P connect 22 0 19 0;
#P connect 20 0 22 0;
#P connect 21 0 20 0;
#P fasten 11 2 20 0 124 164 140 164;
#P connect 11 2 15 0;
#P fasten 11 1 14 0 75 163 39 163;
#P connect 11 0 12 0;
#P fasten 11 3 12 0 173 187 167 193 26 193;
#P fasten 9 0 11 0 26 134 26 134;
#P connect 10 0 9 0;
#P hidden connect 13 0 10 0;
#P window clipboard copycount 23;


February 17, 2008 | 7:02 am

Thanks man, looking great, and really well organized too.. one little thing- to add control points, would I just need to change the matrix dim in the keystone subpatch? Tried that real quick and it didn’t work, probably missed something there.
thanks again,
Nadav


March 2, 2011 | 9:25 pm

Hi yair r. I’ve tried the patch but the Max window tells me: "Ltocoll: No such object"

Is it possible you could help me with it, I’m trying to learn about keystone patches…

Thank you very much!


March 3, 2011 | 1:55 pm

you need to load the Lobjects externals from Peter Elsea…
Ltocoll object is in the Lpack2

ftp://arts.ucsc.edu/pub/ems/Lobjects/

thanks for sharing yair!


March 18, 2011 | 7:56 pm

Thank you carsol, the site is down right now and I’m nor sure if Lobjects are still working on Max 5


Viewing 5 posts - 1 through 5 (of 5 total)