#N canvas 93 112 871 756 10;
#X declare -path . -path .. -path data -path ../data -path ev-in -path
../ev-in -path ev-main -path ../ev-main -path ev-pano -path ../ev-pano
-path ev-pro -path ../ev-pro -path libs/gil -path ../libs/gil -path
libs/kollabs -path ../libs/kollabs -path media -path ../media -path
ev-glsl -path ../ev-glsl;
#X obj 34 68 cnv 15 400 480 empty empty gui_controls 5 8 0 12 -204800
-66577 0;
#X text 37 88 on/off: toggles projection plane state;
#X text 37 100 settings: opens settings window;
#X text 37 126 settings window;
#X text 37 129 _______________;
#X text 38 150 vertex position parameters: control the x/y position
of the;
#X text 38 172 texture position parameters: control the x/y position
of the;
#X text 208 183 texture corners \, can be outside the;
#X text 209 194 visible area;
#X text 37 206 shade size: set the size of the softedge on the edges
of the visible area(vertex);
#X obj 34 30 cnv 15 785 32 empty empty EXTENDED_VIEW_3x3_PROJECTION_MODULE
20 8 0 14 -233017 -66577 0;
#X obj 440 576 cnv 15 380 60 empty empty inlets/outlets 5 8 0 12 -233017
-66577 0;
#X text 444 612 Inlet 2: texture ID;
#X text 444 596 Inlet 1: gemlist;
#X obj 440 508 cnv 15 380 60 empty empty creation_arguments: 3 8 0
12 -191407 -1 0;
#X text 445 527 1st: module ID \, needs to be unique \; 2nd: storage
domain \, see [ev_storage-help] for details;
#X obj 439 68 cnv 15 380 430 empty empty empty 20 12 0 14 -204786 -66577
0;
#X obj 451 109 gemhead;
#X obj 451 389 ev_gemwin;
#X text 445 365 [ev_gemwin] is needed for cursor interaction support.
;
#X text 449 303 [ev_declare] loads all the needed pathes.;
#X obj 440 644 cnv 15 380 70 empty empty PARAMETER_LIST_for_ev_pro_33
20 8 0 14 -233017 -66577 0;
#N canvas 0 22 386 682 paramter-list 0;
#X obj 4 4 cnv 15 360 660 empty empty PARAMETER_LIST_for_ev_pro_curved
20 8 0 14 -233017 -66577 0;
#X text 11 30 /ev/pro/<id>/vertex/top/left/x ---- top left corner x
\; /ev/pro/<id>/vertex/top/left/y --- top left corner y \; /ev/pro/<id>/vertex/top/center/x
--- top center x \; /ev/pro/<id>/vertex/top/center/y --- top center
y \; /ev/pro/<id>/vertex/top/right/x --- top right corner x \; /ev/pro/<id>/vertex/top/right/y
--- top right corner y \; /ev/pro/<id>/vertex/center/left/x --- left
center x \; /ev/pro/<id>/vertex/center/left/y --- left center y \;
/ev/pro/<id>/vertex/center/center/x --- center point x \; /ev/pro/<id>/vertex/center/center/y
--- center point y \; /ev/pro/<id>/vertex/center/right/x --- right
center x \; /ev/pro/<id>/vertex/center/right/y --- right center y \;
/ev/pro/<id>/vertex/bottom/left/x --- bottom left corner x \; /ev/pro/<id>/vertex/bottom/left/y
--- bottom left corner y \; /ev/pro/<id>/vertex/bottom/center/x ---
bottom center x \; /ev/pro/<id>/vertex/bottom/center/y --- bottom center
y \; /ev/pro/<id>/vertex/bottom/right/x - bottom right corner x \;
/ev/pro/<id>/vertex/bottom/right/y - bottom right corner y \; /ev/pro/<id>/texture/top/left/x
--- top left x \; /ev/pro/<id>/texture/top/left/y --- top left y \;
/ev/pro/<id>/texture/top/right/x --- top right x \; /ev/pro/<id>/texture/top/right/y
--- top right y \; /ev/pro/<id>/texture/bottom/left/x --- bottom left
x \; /ev/pro/<id>/texture/bottom/left/y --- bottom left y \; /ev/pro/<id>/texture/bottom/right/x
--- bottom right x \; /ev/pro/<id>/texture/bottom/right/y --- bottom
right y \; /ev/pro/<id>/shade/top --- top softedge amount \; /ev/pro/<id>/shade/right
--- right softedge amount \; /ev/pro/<id>/shade/bottom --- bottom softedge
amount \; /ev/pro/<id>/shade/left --- left softedge amount \; /ev/pro/<id>/state
--- turn module on (1) / off (0) \; /ev/pro/<id>/texture/weight/x ---
distance weight x \; /ev/pro/<id>/texture/weight/y --- distance weight
y \; /ev/pro/<id>/set_alpha --- set alpha to value "1" \; /ev/pro/<id>/grid/state
--- turn on(1)/off(0) grid \; /ev/pro/<id>/grid/res/x --- grid horizontal
resolution \; /ev/pro/<id>/grid/res/y --- vertical grid resolution
\; /ev/pro/<id>/grid/width --- grid line width \; /ev/pro/<id>/grid/color/h
--- grid color hue \; /ev/pro/<id>/grid/color/s --- grid color saturation
\; /ev/pro/<id>/grid/color/v --- grid color value \; /ev/pro/<id>/grid/color/a
--- grid color alpha (opacity) \; /ev/pro/<id>/grid/tex/state --- grid
texture state \; /ev/pro/<id>/grid/tex/open --- grid texture open dialog
\; /ev/pro/<id>/grid/tex/load --- reload grid texture \; /ev/pro/<id>/grid/tex/flip/horizontal
--- flip grid tex \; /ev/pro/<id>/grid/tex/flip/vertical --- flip grid
tex \; /ev/pro/<id>/cursor/mode --- mouse interaction mode \; \;;
#X restore 541 678 pd paramter-list;
#X text 622 473 click "create" here to start;
#X obj 453 328 ../ev-main/ev_declare;
#X text 206 161 projection primitives 9 corners;
#X obj 581 76 gemhead;
#X obj 581 136 pix_image;
#X obj 581 220 pix_texture;
#X obj 637 76 loadbang;
#X msg 666 106 open ../media/cam2.jpg;
#X obj 581 178 pix_flip;
#X msg 666 136 none;
#X text 508 31 (c)2011 Cyrille Henry \, Peter Venus & Marian Weger
\; /part of EXTENDED VIEW toolkit/ gpl v3;
#X obj 451 245 ev_pro_33 \$0;
#X msg 666 178 rectangle 1;
#X text 37 276 grid_texture:;
#X text 37 279 _____________;
#X text 37 296 state: turn on grid to replace the texture \; open_new_file:
load your own grid image \; reload: reload the given image file \;
flip: flip grid horizontal(<->) or vertical(^v).;
#X text 37 356 cursor_interaction:;
#X text 36 359 ___________________;
#X text 37 377 cursor_mode:;
#X text 68 394 vertex_mouseover: show vertex control points if hovered
\; vertex_permanent: show vertex control points permanently \; texture_mouseover:
show texture control points if hovered \; texture_permanent: show texture
control points permanently \;;
#X text 37 242 set_alpha_to_'1': If selected \, alpha channel is set
to 1 If not selected \, alpha channel remains as it gets in.;
#X text 37 456 rendered_grid:;
#X text 36 459 ______________;
#X text 37 477 state: turn grid on/off;
#X text 37 490 Resolution:;
#X text 110 490 set vertical (y) and horizontal (x) grid resolution.
;
#X text 37 504 line_width: set thickness of the grid lines;
#X text 37 517 COLOR: set the color of the grid;
#X text 79 530 (H = hue \, S = saturation \, V = Value \, A = alpha)
;
#X obj 34 554 cnv 15 400 450 empty empty description 5 8 0 12 -233017
-66577 0;
#X obj 46 863 cnv 15 150 120 empty empty texture 10 10 0 10 -261234
-66577 0;
#X text 69 917 /;
#X text 51 948 /;
#X text 181 939 |;
#X text 63 927 /;
#X text 181 929 |;
#X text 67 906 x/y---------------x/y;
#X text 57 938 /;
#X text 181 917 |;
#X text 181 949 |;
#X text 46 961 x/y------------------x/y;
#X text 213 925 ==>;
#X text 74 931 Texture positions;
#X obj 256 863 cnv 15 150 120 empty empty gem_window 10 10 0 10 -191407
-66577 0;
#X text 371 904 /;
#X text 353 935 /;
#X text 347 946 /;
#X text 266 946 |;
#X text 365 914 /;
#X text 359 925 x/y;
#X text 267 894 x/y------x/y------x/y;
#X text 266 956 x/y---x/y---x/y;
#X text 266 916 |;
#X text 266 936 |;
#X text 266 904 | Vertex;
#X text 313 935 /;
#X text 307 946 /;
#X text 325 914 |;
#X text 325 904 |;
#X text 319 925 x/y----;
#X text 266 926 x/y------.;
#X text 45 575 This abstraction aims on video mapping onto curved surfaces.
It can map a specified part of a texture onto a square plane \, which
can then be distorted by a matrix of 3x3=9 control points \; The source
is specified by a texture id \, and can be a framebuffer or any other
texture. By 4 independently settable corner points \, a polygonal part
of this texture is specified \, which is then mapped completely onto
a square. This square can then be positioned and distorted by a matrix
of 3x3 vertex points \; It is also possible to blend the four sides
with a soft edge \, what makes it possible to overlay multiple modules
to form a bigger \, but still adjustable projection plane. This would
be useful in multiple projector environment \, where the gem window
spans over all projectors but aligning them hard-edged is not possible
or a challenge \; By the settable texture positions \, it is possible
to display just a portion of the complete content of a framebuffer.
This is useful if you build a big projection area out of multiple [ev_pro_xx]
abstractions \, which cut their individual part out of the same texture.
;
#X obj 440 724 cnv 15 380 140 empty empty additional_information 5
8 0 12 -233017 -66577 0;
#X text 454 742 Can be controlled via OSC \, which uses the same syntax
as the EV internal send/recieve message system see paramter-list below
for additional information about the specific parameter-names.;
#X text 452 807 This Object is connected to the Data Storage System.
All the vertex and texture coordinates and the softedge settings can
be morphed between scenes individually.;
#X connect 17 0 34 0;
#X connect 26 0 27 0;
#X connect 27 0 31 0;
#X connect 28 1 34 1;
#X connect 29 0 30 0;
#X connect 29 0 32 0;
#X connect 29 0 35 0;
#X connect 30 0 27 0;
#X connect 31 0 28 0;
#X connect 32 0 31 0;
#X connect 35 0 28 0;
#X coords 0 756 1 755 85 60 0;
