06_ev_example_masking.pd 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. #N canvas 365 22 883 756 10;
  2. #X declare -path . -path .. -path data -path ../data -path ev-in -path
  3. ../ev-in -path ev-main -path ../ev-main -path ev-pano -path ../ev-pano
  4. -path ev-pro -path ../ev-pro -path libs/gil -path ../libs/gil -path
  5. libs/kollabs -path ../libs/kollabs -path media -path ../media;
  6. #X obj 41 652 world_light;
  7. #X obj 41 631 gemhead;
  8. #X obj 14 14 cnv 15 700 30 empty empty Example:_masking_for_video_mappings
  9. 20 12 0 14 -233017 -66577 0;
  10. #X obj 40 759 s /ev/buf/0/color;
  11. #X msg 40 734 0.9 0.6 0.1 1;
  12. #X obj 40 689 loadbang;
  13. #X obj 40 711 del 3000;
  14. #X obj 23 154 gemhead 20;
  15. #X obj 16 436 cnv 15 150 135 empty empty simple_3d-object 20 12 0 10
  16. -233017 -66577 0;
  17. #X obj 23 501 teapot;
  18. #N canvas 0 22 450 300 teapot-movement 0;
  19. #X obj 25 14 inlet;
  20. #X obj 19 263 outlet;
  21. #X obj 41 119 translateXYZ 0 0 0;
  22. #X obj 41 159 rotateXYZ 0 0 0;
  23. #X floatatom 158 121 5 0 0 0 - - -;
  24. #X obj 158 -10 line;
  25. #X obj 137 -52 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
  26. -1 -1;
  27. #X obj 158 -52 metro 10000;
  28. #X obj 41 181 scaleXYZ 0.6 0.6 0.6;
  29. #X msg 158 -30 0 \, 1 10000;
  30. #X obj 158 99 * 360;
  31. #X obj 160 -149 loadbang;
  32. #X obj 69 -50 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
  33. -1;
  34. #X msg 91 -52 1;
  35. #X obj 76 25 *;
  36. #X obj 76 47 cos;
  37. #X obj 76 69 * 4;
  38. #X floatatom 76 93 5 0 0 0 - - -;
  39. #X obj 91 -30 atan;
  40. #X obj 91 -10 * 8;
  41. #X obj 41 203 color 1 1 1;
  42. #X connect 0 0 2 0;
  43. #X connect 2 0 3 0;
  44. #X connect 3 0 8 0;
  45. #X connect 4 0 3 2;
  46. #X connect 4 0 3 1;
  47. #X connect 4 0 3 3;
  48. #X connect 5 0 10 0;
  49. #X connect 5 0 14 0;
  50. #X connect 6 0 7 0;
  51. #X connect 7 0 9 0;
  52. #X connect 8 0 20 0;
  53. #X connect 9 0 5 0;
  54. #X connect 10 0 4 0;
  55. #X connect 11 0 13 0;
  56. #X connect 11 0 7 0;
  57. #X connect 12 0 13 0;
  58. #X connect 13 0 18 0;
  59. #X connect 14 0 15 0;
  60. #X connect 15 0 16 0;
  61. #X connect 16 0 17 0;
  62. #X connect 17 0 2 1;
  63. #X connect 18 0 19 0;
  64. #X connect 19 0 14 1;
  65. #X connect 20 0 1 0;
  66. #X restore 23 469 pd teapot-movement;
  67. #X obj 153 371 pix_texture;
  68. #X obj 153 394 rectangle 3 3;
  69. #X obj 43 310 tgl 15 0 empty empty show_content_of_frambuffer 17 7
  70. 0 10 -260097 -1 -1 0 1;
  71. #X obj 14 47 cnv 15 80 40 empty empty declare_paths 2 8 0 10 -258113
  72. -262144 0;
  73. #N canvas 513 252 548 468 init 0;
  74. #X obj 56 92 loadbang;
  75. #X obj 44 -23 cnv 15 400 100 empty empty IMPORTANT 20 12 0 14 -261234
  76. -66577 0;
  77. #X text 49 -3 Such a declare object should always be in the main patch
  78. of your project \, to set the pathes to the abstractions.;
  79. #X text 159 170 load the preset file on startup:;
  80. #X text 66 272 Recall scene '0' from the loaded preset file \, and
  81. load the still image files.;
  82. #X obj 158 43 ev-main/ev_declare;
  83. #X obj 56 144 t b b;
  84. #X obj 83 168 del 1000;
  85. #X obj 56 231 del 3000;
  86. #X msg 56 308 \; /ds/0/scene 0 \;;
  87. #X msg 83 190 \; /ds/0/loadfile ../../data/ev_example_masking_preset.txt
  88. ;
  89. #X text 160 226 (pathes relative to "./libs/kollabs");
  90. #X connect 0 0 6 0;
  91. #X connect 6 0 8 0;
  92. #X connect 6 1 7 0;
  93. #X connect 7 0 10 0;
  94. #X connect 8 0 9 0;
  95. #X restore 32 64 pd init;
  96. #X text 99 46 This example shows how to use the projection modules
  97. to create masking when doing video-mapping on objects like facades
  98. of buildings or similar;
  99. #X obj 179 436 cnv 15 270 350 empty empty projection_planes 20 12 0
  100. 14 -262130 -66577 0;
  101. #X obj 393 547 t a;
  102. #X obj 200 569 t a a a;
  103. #X obj 393 436 t a;
  104. #X obj 200 512 tgl 15 1 empty empty toggle_projection_modules 17 7
  105. 0 10 -260097 -1 -1 1 1;
  106. #X text 372 366 send the texture id of the \; framebuffer to the projection
  107. modules;
  108. #X obj 461 436 cnv 15 370 390 empty empty projection_modules_used_for_masking
  109. 20 12 0 14 -261234 -66577 0;
  110. #X obj 688 490 gemhead;
  111. #X obj 688 607 pix_texture;
  112. #X msg 717 537 RGBA;
  113. #X obj 751 491 loadbang;
  114. #X obj 483 509 gemhead 51;
  115. #X text 477 14 (c)2011 Peter Venus & Marian Weger \; /part of EXTENDED
  116. VIEW toolkit/ gpl v3;
  117. #X text 462 244 "ev_example_masking_preset.txt";
  118. #X obj 200 537 gemhead 30;
  119. #X obj 661 218 ev_storage;
  120. #X obj 23 179 ev_buf 0;
  121. #X obj 200 728 ev_pro_22 l;
  122. #X obj 219 667 ev_pro_22 c;
  123. #X obj 239 608 ev_pro_22 r;
  124. #X obj 354 94 ev_gemwin;
  125. #X obj 688 584 pix_separator;
  126. #X obj 688 512 alpha;
  127. #X obj 688 562 pix_set 1 1;
  128. #X obj 483 755 ev_pro_22easy win;
  129. #X obj 502 695 ev_pro_22easy dow;
  130. #X obj 522 635 ev_pro_33easy door;
  131. #X msg 751 537 0 0 0 1;
  132. #X obj 483 597 t a a a;
  133. #X text 608 468 generate coloured texture \; for masks;
  134. #X text 496 537 gemhead is rendered after \; projection-planes \, so
  135. \; masks are on top;
  136. #X obj 200 463 loadbang;
  137. #X msg 200 485 1;
  138. #X obj 43 267 loadbang;
  139. #X msg 43 289 0;
  140. #X obj 43 336 gemhead 99;
  141. #X text 577 71 click "create" to start;
  142. #X text 462 231 This example uses scene 0 of;
  143. #X text 24 610 light needed for 3d:;
  144. #X text 463 276 Presets are located in the \; "./data" folder;
  145. #X connect 1 0 0 0;
  146. #X connect 4 0 3 0;
  147. #X connect 5 0 6 0;
  148. #X connect 6 0 4 0;
  149. #X connect 7 0 33 0;
  150. #X connect 10 0 9 0;
  151. #X connect 11 0 12 0;
  152. #X connect 13 0 52 0;
  153. #X connect 18 0 34 1;
  154. #X connect 18 0 35 1;
  155. #X connect 18 0 36 1;
  156. #X connect 19 0 34 0;
  157. #X connect 19 1 35 0;
  158. #X connect 19 2 36 0;
  159. #X connect 20 0 18 0;
  160. #X connect 21 0 31 0;
  161. #X connect 24 0 39 0;
  162. #X connect 25 1 43 1;
  163. #X connect 25 1 42 1;
  164. #X connect 25 1 41 1;
  165. #X connect 26 0 40 0;
  166. #X connect 27 0 26 0;
  167. #X connect 27 0 44 0;
  168. #X connect 28 0 45 0;
  169. #X connect 31 0 19 0;
  170. #X connect 33 0 10 0;
  171. #X connect 33 1 11 1;
  172. #X connect 33 1 20 0;
  173. #X connect 38 0 25 0;
  174. #X connect 39 0 40 0;
  175. #X connect 40 0 38 0;
  176. #X connect 44 0 40 1;
  177. #X connect 45 0 41 0;
  178. #X connect 45 1 42 0;
  179. #X connect 45 2 43 0;
  180. #X connect 48 0 49 0;
  181. #X connect 49 0 21 0;
  182. #X connect 50 0 51 0;
  183. #X connect 51 0 13 0;
  184. #X connect 52 0 11 0;
  185. #X coords 0 0 1 1 85 60 0;