#N canvas 652 79 668 661 10; #X obj 78 339 glsl_vertex; #X msg 32 338 print; #X obj 78 626 glsl_program; #X obj 163 555 pack 0 0; #X msg 30 476 print; #X obj 163 511 change; #X obj 150 358 change; #X msg 163 579 link \$1 \$2; #X msg 32 620 print; #X obj 77 490 glsl_fragment; #X floatatom 163 535 2 0 0 0 ID - -; #X floatatom 150 381 2 0 0 0 ID - -; #X obj 181 600 print linking; #X obj 15 21 inlet; #X obj 78 662 outlet; #X msg 106 309 open \$1.vert; #X msg 90 453 open \$1.frag; #X obj 577 95 inlet; #X obj 15 44 route bang; #X obj 255 11 gemhead 1; #X msg 255 33 1; #X obj 255 57 change; #X obj 255 81 t b; #X obj 157 647 change; #X obj 157 668 t b; #X obj 158 690 outlet; #X obj 140 224 t a a; #X obj 90 426 symbol; #X obj 90 401 t b; #X msg 287 598 0; #X obj 15 65 t b b b; #X obj 140 199 symbol \$1; #X text 270 193 This abstraction can be useful to load shader. Shader location is relative to this abstraction path.; #X connect 0 0 9 0; #X connect 0 1 6 0; #X connect 1 0 0 0; #X connect 2 0 14 0; #X connect 2 1 23 0; #X connect 3 0 7 0; #X connect 4 0 9 0; #X connect 5 0 10 0; #X connect 6 0 11 0; #X connect 6 0 28 0; #X connect 7 0 2 0; #X connect 7 0 12 0; #X connect 8 0 2 0; #X connect 9 0 2 0; #X connect 9 1 5 0; #X connect 10 0 3 0; #X connect 11 0 3 1; #X connect 13 0 18 0; #X connect 15 0 0 0; #X connect 16 0 9 0; #X connect 17 0 2 0; #X connect 18 0 30 0; #X connect 18 1 0 0; #X connect 19 0 20 0; #X connect 20 0 21 0; #X connect 21 0 22 0; #X connect 22 0 31 0; #X connect 23 0 24 0; #X connect 24 0 25 0; #X connect 26 0 15 0; #X connect 26 1 27 1; #X connect 27 0 16 0; #X connect 28 0 27 0; #X connect 29 0 23 0; #X connect 30 0 29 0; #X connect 30 1 10 0; #X connect 30 2 31 0; #X connect 31 0 26 0;