#N canvas 791 129 668 783 10;
#X msg 72 338 print;
#X obj 118 626 glsl_program;
#X msg 72 620 print;
#X obj 118 21 inlet;
#X obj 118 662 outlet;
#X obj 577 95 inlet;
#X obj 118 192 t a;
#X floatatom 197 662 3 0 0 0 ID - - 0;
#X obj 197 690 outlet programID;
#X obj 383 104 gemargs;
#X obj 383 68 loadbang;
#X obj 422 128 route bang;
#X obj 167 258 list prepend \$1;
#X obj 227 189 t b a;
#X msg 33 124 print;
#X obj 33 103 t b;
#X msg 72 468 print;
#X msg 72 498 print;
#X obj 118 469 _glsl.compile geometry geom, f 30;
#X obj 223 578 list prepend link;
#X obj 223 601 list trim;
#X listbox 286 601 23 0 0 0 - - - 0;
#X obj 118 44 route print bang symbol open;
#X obj 33 295 t a a a a a a;
#X text 270 193 This abstraction can be useful to load a vertex+fragment shader. Shader location is relative to this abstraction parent patch path.;
#X obj 383 361 t a;
#X obj 118 339 _glsl.compile vertex vert, f 30;
#X msg 72 399 print;
#X obj 118 399 _glsl.compile tesscontrol tesc;
#X obj 118 422 _glsl.compile tesseval tese, f 30;
#X msg 72 422 print;
#X obj 223 556 pack 0 0 0 0 0;
#X obj 118 499 _glsl.compile fragment frag, f 30;
#X connect 0 0 26 0;
#X connect 1 0 4 0;
#X connect 1 1 7 0;
#X connect 2 0 1 0;
#X connect 3 0 22 0;
#X connect 5 0 25 0;
#X connect 6 0 26 0;
#X connect 7 0 8 0;
#X connect 9 0 25 0;
#X connect 9 1 11 0;
#X connect 10 0 9 0;
#X connect 11 1 13 0;
#X connect 12 0 26 1;
#X connect 13 0 12 0;
#X connect 13 1 12 1;
#X connect 14 0 23 0;
#X connect 15 0 14 0;
#X connect 16 0 18 0;
#X connect 17 0 32 0;
#X connect 18 0 32 0;
#X connect 18 1 31 1;
#X connect 18 2 32 1;
#X connect 19 0 20 0;
#X connect 19 0 21 0;
#X connect 20 0 1 0;
#X connect 22 0 15 0;
#X connect 22 1 12 0;
#X connect 22 2 13 0;
#X connect 22 3 13 0;
#X connect 22 4 6 0;
#X connect 23 0 1 0;
#X connect 23 1 32 0;
#X connect 23 2 18 0;
#X connect 23 3 29 0;
#X connect 23 4 28 0;
#X connect 23 5 26 0;
#X connect 25 0 1 0;
#X connect 26 0 28 0;
#X connect 26 1 31 4;
#X connect 26 2 28 1;
#X connect 27 0 28 0;
#X connect 28 0 29 0;
#X connect 28 1 31 3;
#X connect 28 2 29 1;
#X connect 29 0 18 0;
#X connect 29 1 31 2;
#X connect 29 2 18 1;
#X connect 30 0 29 0;
#X connect 31 0 19 0;
#X connect 32 0 1 0;
#X connect 32 1 31 0;
