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 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420
|
#N canvas 30 77 1126 659 10;
#X declare -lib Gem;
#X obj 9 470 translateXYZ 0 0 -4;
#X obj 9 234 ortho;
#X floatatom 83 538 5 0 0 0 - - -;
#X msg 83 515 \$1;
#X obj 9 365 gemframebuffer;
#X obj 9 494 pix_texture;
#X obj 218 474 translateXYZ 0 0 -4;
#X obj 218 501 pix_texture;
#X floatatom 484 153 5 0 0 0 - - -;
#X msg 484 131 \$1;
#X floatatom 325 550 5 0 0 0 - - -;
#X msg 325 528 \$1;
#X floatatom 104 412 5 0 0 0 - - -;
#X msg 104 389 \$1;
#X floatatom 294 411 5 0 0 0 - - -;
#X msg 294 388 \$1;
#X obj 435 58 loadbang;
#X obj 199 364 gemframebuffer;
#N canvas 573 206 496 427 shader 0;
#X obj 32 294 glsl_program;
#X obj 126 137 change;
#X obj 126 183 print linking;
#X obj 32 117 glsl_fragment;
#X floatatom 130 239 5 0 0 0 - - -;
#X floatatom 232 239 5 0 0 0 - - -;
#X floatatom 181 239 5 0 0 0 - - -;
#X msg 130 260 K1 \$1;
#X msg 181 260 K3 \$1;
#X msg 232 260 D1 \$1;
#X msg 130 214 0.25;
#X msg 126 158 link \$1;
#N canvas 0 0 450 300 load_shader 0;
#X obj 89 99 t b b;
#X msg 119 126 0;
#X obj 89 154 outlet;
#X obj 89 71 gemhead 1;
#X connect 0 0 2 0;
#X connect 0 1 1 0;
#X connect 1 0 3 0;
#X connect 3 0 0 0;
#X restore 42 70 pd load_shader;
#X obj 32 36 inlet;
#X obj 32 363 outlet;
#X obj 304 38 inlet;
#X obj 139 343 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#N canvas 0 0 450 300 init_shader 0;
#X obj 89 154 outlet;
#X obj 89 45 inlet;
#X obj 89 73 change;
#X obj 89 100 t b;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X restore 113 318 pd init_shader;
#X obj 112 341 t b;
#X obj 395 43 inlet;
#X msg 181 213 0;
#X msg 232 215 0;
#X msg 193 151 text 0;
#X msg 42 93 open wave.frag;
#X connect 0 0 14 0;
#X connect 0 1 17 0;
#X connect 1 0 11 0;
#X connect 3 0 0 0;
#X connect 3 1 1 0;
#X connect 4 0 7 0;
#X connect 5 0 9 0;
#X connect 6 0 8 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X connect 9 0 0 0;
#X connect 10 0 4 0;
#X connect 11 0 0 0;
#X connect 11 0 2 0;
#X connect 12 0 23 0;
#X connect 13 0 3 0;
#X connect 15 0 23 0;
#X connect 16 0 18 0;
#X connect 17 0 18 0;
#X connect 18 0 10 0;
#X connect 18 0 20 0;
#X connect 18 0 21 0;
#X connect 18 0 22 0;
#X connect 19 0 16 0;
#X connect 20 0 6 0;
#X connect 21 0 5 0;
#X connect 22 0 0 0;
#X connect 23 0 3 0;
#X restore 9 274 pd shader;
#X obj 137 289 t a;
#X obj 137 197 t b;
#X obj 147 177 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 137 156 loadbang;
#X obj 218 421 t a a;
#X obj 402 518 separator;
#X obj 218 447 separator;
#X obj 218 537 color 1 1 1;
#X obj 218 563 rectangle 4 4;
#X obj 9 563 rectangle 4 4;
#X obj 66 250 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 93 251 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 390 472 t a;
#N canvas 0 0 857 562 border 0;
#X obj 14 10 inlet;
#X obj 13 46 separator;
#X obj 13 68 translateXYZ 0 4 -3.9;
#X obj 13 115 rectangle 5 0.12;
#X obj 182 46 separator;
#X obj 182 115 rectangle 5 0.12;
#X obj 351 45 separator;
#X obj 182 68 translateXYZ 0 -4 -3.9;
#X obj 351 67 translateXYZ 4 0 -3.9;
#X obj 351 114 rectangle 0.12 5;
#X obj 528 39 separator;
#X obj 528 108 rectangle 0.12 5;
#X obj 528 61 translateXYZ -4 0 -3.9;
#X obj 528 85 color 0.5 0.5 0.5;
#X obj 351 91 color 0.5 0.5 0.5;
#X obj 181 93 color 0.5 0.5 0.5;
#X obj 13 92 color 0.5 0.5 0.5;
#X connect 0 0 1 0;
#X connect 0 0 4 0;
#X connect 0 0 6 0;
#X connect 0 0 10 0;
#X connect 1 0 2 0;
#X connect 2 0 16 0;
#X connect 4 0 7 0;
#X connect 6 0 8 0;
#X connect 7 0 15 0;
#X connect 8 0 14 0;
#X connect 10 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 11 0;
#X connect 14 0 9 0;
#X connect 15 0 5 0;
#X connect 16 0 3 0;
#X restore 390 569 pd border;
#X obj 774 148 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 774 172 gemhead 40;
#X floatatom 825 519 5 0 0 0 - - -;
#X obj 774 484 pix_texture;
#X floatatom 876 520 5 0 0 0 - - -;
#X obj 442 357 pix_texture;
#X floatatom 867 236 5 0 0 0 - - -;
#X obj 653 216 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 454 308 loadbang;
#X obj 786 442 loadbang;
#N canvas 93 153 804 667 _glsl 0;
#X obj 80 426 glsl_program;
#X obj 261 238 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 0 22 450 300 open 0;
#X obj 75 103 openpanel;
#X obj 75 173 outlet;
#X obj 75 127 t b s;
#X msg 105 152 set open \$1;
#X obj 75 80 inlet;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 2 1 3 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X restore 204 237 pd open;
#X msg 33 296 print;
#X obj 166 331 change;
#X msg 34 420 print;
#X obj 80 310 glsl_fragment;
#X floatatom 166 355 2 0 0 0 ID - -;
#X obj 184 400 print linking;
#X obj 13 52 inlet;
#X obj 80 462 outlet;
#X msg 93 273 open \$1.frag;
#X msg 204 261 open \$1;
#X obj 422 77 inlet;
#X obj 13 75 route bang;
#X obj 140 83 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 140 109 t b b;
#X msg 140 202 symbol \$1/\$2;
#X obj 255 11 gemhead 1;
#X msg 255 33 1;
#X obj 255 57 change;
#X obj 255 81 t b;
#X obj 159 447 change;
#X obj 159 468 t b;
#X obj 159 491 outlet;
#X msg 166 379 link \$1;
#X obj 140 133 symbol vague;
#X connect 0 0 10 0;
#X connect 0 1 22 0;
#X connect 1 0 2 0;
#X connect 2 0 12 0;
#X connect 3 0 6 0;
#X connect 4 0 7 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 6 1 4 0;
#X connect 7 0 25 0;
#X connect 9 0 14 0;
#X connect 11 0 6 0;
#X connect 12 0 6 0;
#X connect 13 0 0 0;
#X connect 14 0 16 0;
#X connect 14 1 6 0;
#X connect 15 0 16 0;
#X connect 16 0 26 0;
#X connect 17 0 11 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 21 0 16 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 25 0 0 0;
#X connect 25 0 8 0;
#X connect 26 0 11 0;
#X restore 774 326 pd _glsl;
#X obj 743 302 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 435 82 texunit 3;
#X obj 410 108 pix_texture;
#X obj 181 299 t a;
#N canvas 0 0 450 300 gouttes 0;
#X obj 27 79 translateXYZ 0 0 -4;
#X obj 27 101 t a b b;
#X obj 27 195 translateXYZ 0 0 0.1;
#X obj 50 123 random 1000;
#X obj 50 147 - 500;
#X obj 136 123 random 1000;
#X obj 136 147 - 500;
#X obj 50 171 / 130;
#X obj 136 171 / 130;
#X obj 27 242 circle 0.02;
#X obj 27 218 color 0.3 0.3 0.3;
#X obj 28 51 inlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 1 2 5 0;
#X connect 2 0 10 0;
#X connect 3 0 4 0;
#X connect 4 0 7 0;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 7 0 2 1;
#X connect 8 0 2 2;
#X connect 10 0 9 0;
#X connect 11 0 0 0;
#X restore 402 542 pd gouttes;
#X msg 244 284 quality 0;
#X obj 774 541 rectangle 4 4;
#X obj 9 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#X obj 220 180 delay 1000;
#N canvas 0 0 450 300 init 0;
#X obj 89 154 outlet;
#X obj 89 100 change;
#X obj 89 127 t b;
#X obj 91 52 gemhead;
#X msg 91 73 1;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 4 0 1 0;
#X restore 220 157 pd init;
#X obj 410 34 gemhead 16;
#X obj 199 342 gemhead 12;
#X obj 442 214 gemhead 17;
#X obj 9 177 gemhead 10;
#X obj 442 240 pix_image img2.jpg;
#X msg 867 215 111;
#X text 33 612 This shader is rendered into a framebuffer \, in order
to use it in the next frame for a simple physical modeling simulation
;
#X text 345 168 This creates a texture (texunit 3) from the shaders'
output;
#X text 437 386 this loads a texture (texunit 2);
#X text 691 411 not used \, just to set texture coordinate;
#X text 633 594 This uses the two textures (texunit 2 and 3) in order
to render the final images;
#X text 201 9 This is an example of rendering to texture (using framebuffer)
and multitextures;
#X obj 402 497 t a a a a a;
#X obj 774 393 pix_set 512 512;
#N canvas 87 154 452 208 Gem.init 0;
#X obj 118 46 loadbang;
#X obj 118 113 outlet;
#X msg 118 81 reset \, dimen 800 600;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 760 47 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 730 64 pd gemwin;
#X msg 786 463 rectangle 1;
#X msg 454 331 texunit 2 \, quality 1 \, rectangle 1;
#X msg 137 222 type FLOAT \, dimen 512 512 \, rectangle 1;
#X msg 220 202 quality 1 \, rectangle 1;
#X msg 867 255 K \$1 \, texture1 2 \, texture2 3;
#X text 880 276 texture1==base;
#X text 882 294 texture2==deformation;
#X obj 1004 13 declare -lib Gem;
#X connect 0 0 5 0;
#X connect 1 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 0 0;
#X connect 4 1 7 1;
#X connect 4 1 13 0;
#X connect 5 0 28 0;
#X connect 5 1 3 0;
#X connect 6 0 7 0;
#X connect 7 0 26 0;
#X connect 7 1 11 0;
#X connect 7 1 46 1;
#X connect 9 0 8 0;
#X connect 11 0 10 0;
#X connect 13 0 12 0;
#X connect 15 0 14 0;
#X connect 16 0 45 0;
#X connect 17 0 23 0;
#X connect 17 1 5 1;
#X connect 17 1 15 0;
#X connect 18 0 4 0;
#X connect 19 0 4 0;
#X connect 19 0 17 0;
#X connect 20 0 72 0;
#X connect 21 0 20 0;
#X connect 22 0 20 0;
#X connect 23 0 25 0;
#X connect 23 1 31 0;
#X connect 24 0 48 0;
#X connect 25 0 6 0;
#X connect 26 0 27 0;
#X connect 29 0 18 1;
#X connect 30 0 18 2;
#X connect 31 0 66 0;
#X connect 33 0 34 0;
#X connect 34 0 43 0;
#X connect 35 0 50 1;
#X connect 36 0 50 0;
#X connect 37 0 50 2;
#X connect 39 0 74 0;
#X connect 40 0 59 0;
#X connect 41 0 71 0;
#X connect 42 0 70 0;
#X connect 43 0 67 0;
#X connect 43 1 40 0;
#X connect 44 0 43 0;
#X connect 45 0 46 0;
#X connect 46 1 9 0;
#X connect 47 0 5 0;
#X connect 47 0 46 0;
#X connect 47 0 7 0;
#X connect 49 0 47 0;
#X connect 51 0 57 0;
#X connect 52 0 73 0;
#X connect 53 0 52 0;
#X connect 54 0 46 0;
#X connect 55 0 17 0;
#X connect 56 0 58 0;
#X connect 57 0 1 0;
#X connect 58 0 38 0;
#X connect 59 0 39 0;
#X connect 66 0 24 0;
#X connect 66 1 24 0;
#X connect 66 2 24 0;
#X connect 66 3 24 0;
#X connect 66 4 24 0;
#X connect 67 0 36 0;
#X connect 68 0 69 0;
#X connect 70 0 36 0;
#X connect 71 0 38 0;
#X connect 72 0 19 0;
#X connect 73 0 47 0;
#X connect 74 0 43 1;
|