1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343
|
#N canvas 208 184 980 477 10;
#X declare -lib Gem;
#X obj 42 315 square 4;
#X obj 42 199 translateXYZ 0 0 -4;
#X obj 671 399 pix_texture;
#X obj 671 419 square 4;
#N canvas 370 126 407 295 init 0;
#X obj 106 175 outlet;
#X msg 125 89 type FLOAT;
#X obj 124 68 loadbang;
#X msg 146 109 dimen 1024 1024;
#X msg 211 147 rectangle 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 2 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X restore 56 157 pd init;
#X obj 650 230 pix_texture;
#X obj 650 252 square 4;
#X floatatom 724 255 5 0 0 0 - - -;
#N canvas 157 111 392 206 init 0;
#X obj 93 68 t b;
#X obj 93 47 loadbang;
#X obj 93 159 outlet;
#X msg 93 118 type FLOAT \, dimen 1024 1024 \, rectangle 0;
#X connect 0 0 3 0;
#X connect 1 0 0 0;
#X connect 3 0 2 0;
#X restore 669 120 pd init;
#X obj 353 199 translateXYZ 0 0 -4;
#N canvas 70 0 407 295 init 0;
#X obj 106 175 outlet;
#X obj 106 68 loadbang;
#X msg 106 118 type FLOAT \, dimen 1024 1024 \, rectangle 0;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X restore 373 156 pd init;
#X text 6 4 first input \, render whatever in a framebuffer;
#X obj 691 357 loadbang;
#X obj 42 222 pix_image img1.jpg;
#X obj 42 54 gemhead 11;
#X obj 666 187 loadbang;
#X obj 650 166 translateXYZ 0 0 -4;
#X obj 650 142 gemframebuffer;
#X obj 353 177 gemframebuffer;
#N canvas 330 106 589 635 shader1 0;
#X obj 94 500 glsl_program;
#X obj 94 340 glsl_fragment;
#X obj 94 160 glsl_vertex;
#X obj 172 400 pack 0 0;
#X obj 162 200 change;
#X obj 182 375 change;
#X msg 172 420 link \$1 \$2;
#X obj 162 220 t b f;
#X obj 176 444 print linking;
#X obj 94 66 inlet;
#X obj 94 530 outlet;
#X obj 464 245 inlet;
#X floatatom 182 179 0 0 0 0 - - -;
#X floatatom 234 377 0 0 0 0 - - -;
#X msg 56 472 print;
#X msg 246 65 1;
#X obj 246 106 t b;
#X obj 246 46 gemhead 1;
#X obj 175 548 t b;
#X obj 175 571 outlet;
#X msg 246 135 open T_distord.vert;
#X msg 289 160 open T_distord.frag;
#X obj 246 86 change -1;
#X obj 175 524 change;
#X connect 0 0 10 0;
#X connect 0 1 23 0;
#X connect 1 0 0 0;
#X connect 1 1 5 0;
#X connect 1 1 13 0;
#X connect 2 0 1 0;
#X connect 2 1 4 0;
#X connect 2 1 12 0;
#X connect 3 0 6 0;
#X connect 4 0 7 0;
#X connect 5 0 3 0;
#X connect 6 0 0 0;
#X connect 6 0 8 0;
#X connect 7 0 3 0;
#X connect 7 1 3 1;
#X connect 9 0 2 0;
#X connect 11 0 0 0;
#X connect 14 0 0 0;
#X connect 15 0 22 0;
#X connect 16 0 20 0;
#X connect 16 0 21 0;
#X connect 17 0 15 0;
#X connect 18 0 19 0;
#X connect 20 0 2 0;
#X connect 21 0 1 0;
#X connect 22 0 16 0;
#X connect 23 0 18 0;
#X restore 42 81 pd shader1;
#N canvas 476 68 589 635 shader2 0;
#X obj 94 500 glsl_program;
#X obj 94 340 glsl_fragment;
#X obj 94 160 glsl_vertex;
#X obj 172 400 pack 0 0;
#X obj 162 200 change;
#X obj 182 375 change;
#X msg 172 420 link \$1 \$2;
#X obj 162 220 t b f;
#X obj 176 444 print linking;
#X obj 94 66 inlet;
#X obj 94 530 outlet;
#X obj 464 245 inlet;
#X floatatom 182 179 0 0 0 0 - - -;
#X floatatom 234 377 0 0 0 0 - - -;
#X msg 56 472 print;
#X msg 246 65 1;
#X obj 246 106 t b;
#X obj 246 46 gemhead 1;
#X obj 175 548 t b;
#X obj 175 571 outlet;
#X msg 246 135 open P_distord.vert;
#X msg 289 160 open P_distord.frag;
#X obj 246 86 change -1;
#X obj 175 524 change;
#X connect 0 0 10 0;
#X connect 0 1 23 0;
#X connect 1 0 0 0;
#X connect 1 1 5 0;
#X connect 1 1 13 0;
#X connect 2 0 1 0;
#X connect 2 1 4 0;
#X connect 2 1 12 0;
#X connect 3 0 6 0;
#X connect 4 0 7 0;
#X connect 5 0 3 0;
#X connect 6 0 0 0;
#X connect 6 0 8 0;
#X connect 7 0 3 0;
#X connect 7 1 3 1;
#X connect 9 0 2 0;
#X connect 11 0 0 0;
#X connect 14 0 0 0;
#X connect 15 0 22 0;
#X connect 16 0 20 0;
#X connect 16 0 21 0;
#X connect 17 0 15 0;
#X connect 18 0 19 0;
#X connect 20 0 2 0;
#X connect 21 0 1 0;
#X connect 22 0 16 0;
#X connect 23 0 18 0;
#X restore 353 78 pd shader2;
#N canvas 60 91 589 635 shader3 0;
#X obj 94 500 glsl_program;
#X obj 94 340 glsl_fragment;
#X obj 94 160 glsl_vertex;
#X obj 172 400 pack 0 0;
#X obj 162 200 change;
#X obj 182 375 change;
#X msg 172 420 link \$1 \$2;
#X obj 162 220 t b f;
#X obj 176 444 print linking;
#X obj 94 66 inlet;
#X obj 94 530 outlet;
#X obj 464 245 inlet;
#X floatatom 182 179 0 0 0 0 - - -;
#X floatatom 234 377 0 0 0 0 - - -;
#X msg 56 472 print;
#X msg 246 65 1;
#X obj 246 106 t b;
#X obj 246 46 gemhead 1;
#X obj 175 548 t b;
#X obj 175 571 outlet;
#X msg 326 429 MyTex 1;
#X msg 336 451 MyTex1 2;
#X msg 247 135 open multitexture.vert;
#X msg 291 160 open multitexture.frag;
#X obj 246 86 change -1;
#X obj 175 524 change;
#X connect 0 0 10 0;
#X connect 0 1 25 0;
#X connect 1 0 0 0;
#X connect 1 1 5 0;
#X connect 1 1 13 0;
#X connect 2 0 1 0;
#X connect 2 1 4 0;
#X connect 2 1 12 0;
#X connect 3 0 6 0;
#X connect 4 0 7 0;
#X connect 5 0 3 0;
#X connect 6 0 0 0;
#X connect 6 0 8 0;
#X connect 7 0 3 0;
#X connect 7 1 3 1;
#X connect 9 0 2 0;
#X connect 11 0 0 0;
#X connect 14 0 0 0;
#X connect 15 0 24 0;
#X connect 16 0 22 0;
#X connect 16 0 23 0;
#X connect 17 0 15 0;
#X connect 18 0 19 0;
#X connect 18 0 20 0;
#X connect 18 0 21 0;
#X connect 20 0 0 0;
#X connect 21 0 0 0;
#X connect 22 0 2 0;
#X connect 23 0 1 0;
#X connect 24 0 16 0;
#X connect 25 0 18 0;
#X restore 650 79 pd shader3;
#X obj 650 54 gemhead 31;
#X obj 671 314 gemhead 32;
#X obj 56 248 loadbang;
#X obj 367 245 loadbang;
#X msg 56 270 rectangle 0;
#X msg 367 267 rectangle 0;
#X obj 42 295 pix_texture;
#X msg 55 135 texunit 1;
#X obj 55 113 loadbang;
#X obj 366 115 loadbang;
#X msg 366 136 texunit 2;
#X msg 141 48 1;
#X floatatom 141 69 5 0 0 0 - - -;
#X msg 141 88 K1 \$1;
#X text 183 69 change effect;
#X text 347 1 second input : same as 1st.;
#X text 7 22 put framebuffer as texunit 1 \, for future use;
#X text 348 17 render an image in framebuffer.;
#X text 350 31 put framebuffer in texunit 2;
#X text 632 8 finally :;
#X text 631 23 shader mixing 2 textures in a framebuffer;
#X floatatom 449 79 5 0 0 0 - - -;
#X text 491 79 change effect;
#X msg 449 98 K \$1;
#X msg 449 58 0.1;
#X text 161 433 <-------------------;
#X text 569 442 draw the final framebuffer (without shader);
#X obj 671 335 rotateXYZ -20 0 0;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 58 46 loadbang;
#X obj 58 113 outlet;
#X msg 58 80 reset \, dimen 320 240;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 99 394 pd Gem.init;
#N canvas 340 107 682 322 gemwin 0;
#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj 102 161 r \$0-gemstart;
#X obj 102 182 select 1 0;
#X msg 102 214 create \, 1;
#X msg 177 215 destroy;
#X obj 102 239 t a;
#X obj 318 54 inlet;
#X obj 318 255 gemwin;
#X obj 318 100 t a a;
#X obj 318 287 outlet;
#X obj 350 128 route create destroy;
#X obj 350 150 t b;
#X msg 350 172 1;
#X obj 390 150 t b;
#X msg 390 172 0;
#X obj 350 195 t f;
#X msg 350 219 set \$1;
#X text 118 122 rendering;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 3 0 5 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 6 0 8 0;
#X connect 7 0 9 0;
#X connect 8 0 7 0;
#X connect 8 1 10 0;
#X connect 10 0 11 0;
#X connect 10 1 13 0;
#X connect 11 0 12 0;
#X connect 12 0 15 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 0 0;
#X coords 0 -1 1 1 85 40 1 100 100;
#X restore 69 411 pd gemwin;
#X obj 42 177 gemframebuffer;
#X obj 353 332 mesh_square 10 10;
#X obj 353 311 scaleXYZ 4 4 1;
#X obj 353 57 gemhead 21;
#X obj 353 222 pix_image img2.jpg;
#X obj 353 291 pix_texture;
#X msg 666 209 rectangle 0;
#X msg 691 378 rectangle 0;
#X obj 99 376 declare -lib Gem;
#X connect 1 0 13 0;
#X connect 2 0 3 0;
#X connect 4 0 52 0;
#X connect 5 0 6 0;
#X connect 5 1 7 0;
#X connect 8 0 17 0;
#X connect 9 0 56 0;
#X connect 10 0 18 0;
#X connect 12 0 59 0;
#X connect 13 0 28 0;
#X connect 14 0 19 0;
#X connect 15 0 58 0;
#X connect 16 0 5 0;
#X connect 17 0 16 0;
#X connect 17 1 2 1;
#X connect 18 0 9 0;
#X connect 19 0 52 0;
#X connect 19 1 33 0;
#X connect 20 0 18 0;
#X connect 20 1 46 0;
#X connect 21 0 17 0;
#X connect 22 0 21 0;
#X connect 23 0 49 0;
#X connect 24 0 26 0;
#X connect 25 0 27 0;
#X connect 26 0 28 0;
#X connect 27 0 57 0;
#X connect 28 0 0 0;
#X connect 29 0 52 0;
#X connect 30 0 29 0;
#X connect 31 0 32 0;
#X connect 32 0 18 0;
#X connect 33 0 34 0;
#X connect 34 0 35 0;
#X connect 35 0 19 1;
#X connect 43 0 45 0;
#X connect 45 0 20 1;
#X connect 46 0 43 0;
#X connect 49 0 2 0;
#X connect 50 0 51 0;
#X connect 52 0 1 0;
#X connect 54 0 53 0;
#X connect 55 0 20 0;
#X connect 56 0 57 0;
#X connect 57 0 54 0;
#X connect 58 0 5 0;
#X connect 59 0 2 0;
|