aboutsummaryrefslogtreecommitdiff
path: root/opengl/doc/objects/3dp_push-help.pd
blob: 2f0de29fda8b1e9fffa79d7c591c2e58d0d879b7 (plain)
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
#N canvas 221 0 695 553 10;
#X obj 22 40 3dp_windowcontext;
#X obj 22 15 metro 40;
#X obj 22 -5 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X obj 22 67 3dp_push;
#X obj 180 126 3dp_light;
#X floatatom 301 85 5 0 0 0 - - -;
#X obj 22 97 3dp_mouserotate;
#X obj 180 104 3dp_view transz 10;
#X obj 23 207 3dp_draw sphere 1;
#X obj 317 128 3dp_for 3;
#X obj 317 151 3dp_push;
#X obj 368 215 3dp_draw cube 0.5;
#X obj 23 177 3dp_push;
#X obj 368 189 3dp_view transy;
#X obj 468 158 * 1;
#X floatatom 484 134 5 0 0 0 - - -;
#X obj 180 84 3dp_view roty;
#X floatatom 266 66 5 0 0 0 - - -;
#X floatatom 391 102 5 0 0 0 - - -;
#X obj 63 413 3dp_mode texture;
#X text 28 244 saving a (matrix) state can be accomplished by the 3dp_push
object. the default matrix is the modelview matrix. it works as follows:
both the right and the left outlet propagate the same matrix state
as the input. so in short you can use 3dp_push to split your rendering
tree into parallel branches. the matrix types that can be pushed are:
modelview \, texture \, color \, projection. setting a current matrix
can be done using the 3dp_mode object. i.e. will map all geometric
transforms to the texture matrix \, for texture coordinate animation.
the left outlet restores the current matrix back to the modelview matrix.
;
#X text 27 418 i.e;
#X text 185 418 will map all geometric transforms;
#X text 27 431 to the texture matrix \, for texture coordinate animation.
the left outlet restores the current matrix back to the modelview matrix.
;
#X text 46 -6 <-- start here;
#X text 34 501 bitch made doc for PDP 0.12.4 - http://delcorp.org/abbadingo
;
#X connect 0 0 3 0;
#X connect 0 1 6 1;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 3 0 6 0;
#X connect 3 1 16 0;
#X connect 5 0 7 1;
#X connect 6 0 12 0;
#X connect 7 0 4 0;
#X connect 9 0 10 0;
#X connect 9 1 14 0;
#X connect 10 1 13 0;
#X connect 12 0 8 0;
#X connect 12 1 9 0;
#X connect 13 0 11 0;
#X connect 14 0 13 1;
#X connect 15 0 14 1;
#X connect 16 0 7 0;
#X connect 17 0 16 1;
#X connect 18 0 9 1;