#N canvas 722 145 681 529 10;
#X obj 232 189 gemhead;
#X obj 232 356 pix_noise 5 5;
#X obj 232 446 pix_texture;
#X obj 232 465 square 4;
#X msg 240 403 rectangle 1;
#X obj 240 382 loadbang;
#X obj 242 222 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 250 272 5 0 0 0 - - -;
#X obj 35 196 gemwin;
#X msg 250 334 set \$1 \$2;
#X obj 250 314 pack f f;
#X obj 303 288 t b f;
#X floatatom 303 271 5 0 0 0 - - -;
#X msg 35 151 create \, 1;
#X msg 42 173 0 \, destroy;
#X obj 232 243 _glsl bicubic_interpolation;
#X obj 436 191 gemhead;
#X msg 358 408 quality \$1;
#X obj 358 389 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 33 246 vradio 15 1 1 3 empty empty empty 0 -8 0 10 -262144 -1
-1 0;
#X text 53 246 bicubic interpolation;
#X text 53 264 bilinear interpolation;
#X text 55 276 no interpolation;
#X obj 33 304 s sel_interpolation;
#X obj 232 169 == 0;
#X obj 232 149 r sel_interpolation;
#X obj 436 152 r sel_interpolation;
#X obj 436 172 != 0;
#X obj 358 369 != 2;
#X obj 358 349 r sel_interpolation;
#X text 46 16 This example use shader in order to compute a bicubic
image interpolation. Bicubic interpolation offer a smoother surface
than obtain with bilinear interpolation. But since it need 16 sample
to compute the interpolation \, it is quite slow.;
#X connect 0 0 15 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 4 0 2 0;
#X connect 5 0 4 0;
#X connect 6 0 15 0;
#X connect 7 0 10 0;
#X connect 9 0 1 0;
#X connect 10 0 9 0;
#X connect 11 0 10 0;
#X connect 11 1 10 1;
#X connect 12 0 11 0;
#X connect 13 0 8 0;
#X connect 14 0 8 0;
#X connect 15 0 1 0;
#X connect 16 0 1 0;
#X connect 17 0 2 0;
#X connect 18 0 17 0;
#X connect 19 0 23 0;
#X connect 24 0 0 0;
#X connect 25 0 24 0;
#X connect 26 0 27 0;
#X connect 27 0 16 0;
#X connect 28 0 18 0;
#X connect 29 0 28 0;
