#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;