-
Notifications
You must be signed in to change notification settings - Fork 2
/
e.pde
139 lines (99 loc) · 4.02 KB
/
e.pde
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
/*---- YOUR CUSTOM CODE BELOW --------------------------*/
/*---- PUT OWN VARIABLES JUST BEFORE customSetup()------*/
// name vars starting with your letter to avoid duplicate variables!
// float aXpos = 0;
// int aSpeed = 0;
void eSetup() { // custom setup = runs once
}
void eDraw() { // custom draw = renders fooorever
//SETTINGS [change, but don't delete any]
credits = "lena.meier"; // put your name[s] here!
myTextFont = "FreeSans.ttf"; // set font
myTextSize = height; // *NEW* set text size (0 - height)
useLowerCase = false; // *NEW* optionally set true for lowercase
myTextLength = 15; // custom cut length
processType(); // takes care of type for you, turn off if using custom
background(0); // default background
//backgroundFade(30); // very experimental.. sorta fails in 3D
pushMatrix(); // only adjusts translate/scale within matrix
translate(width/2, height/2, -height/2); // suggestion to draw from center out
pushMatrix();
rotateY(radians(map(sin(frameCount*.1),-1,1,-10,10)));
rotateZ(radians(frameCount));
//rotate(radians(frameCount));
for (int k=0; k< 25; k++) { // loop
pushMatrix();
translate(0, 0, k*4*easeAudio);
if (pointPaths != null) { // only draw if points ready
//noFill();
fill(255, 50); // optional..
stroke(255); // optional...
//translate(0, 0, 100*k);
//rotateX(radians((-k+1)*100));
//rotateY(radians((-k+1)*50));
rotateZ(radians((-k+1)*10));
for (int i = 0; i < pointPaths.length; i++) {
beginShape();
/*translate(0, 0, 50);
rotateX(radians(-k+1*0.5*frameCount));
rotateY(radians(-k+1*0.5*frameCount));
rotateZ(radians(-k+1*0.5*frameCount));*/
//scale(1); // changes scale of shape drawn
for (int j=0; j < pointPaths[i].length; j++) {
int audioWaveIndex = floor(map(j, 0, pointPaths[i].length, 0, in.bufferSize()));
float audioWave = in.left.get(audioWaveIndex)*ampWave;
//float audioWave = in.right.get(audioWaveIndex)*ampWave;
vertex(pointPaths[i][j].x, pointPaths[i][j].y); // try other shapes
// [i] refers to which character, [j] refers to which point in that character
/*if (k%10 == 0) {
xstroke(255, 0, 0);
noFill();
xvertex(pointPaths[i][j].x, pointPaths[i][j].y);
} else {
fill(255, 20);
vertex(pointPaths[i][j].x, pointPaths[i][j].y);
}*/
if (k%70 == 0) {
} else {
vertex(pointPaths[i][j].x, pointPaths[i][j].y);
}
}
endShape(CLOSE);
xbeginShape();
/*translate(0, 0, 50);
rotateX(radians(-k+1*0.5*frameCount));
rotateY(radians(-k+1*0.5*frameCount));
rotateZ(radians(-k+1*0.5*frameCount));*/
//scale(1); // changes scale of shape drawn
for (int j=0; j < pointPaths[i].length; j++) {
int audioWaveIndex = floor(map(j, 0, pointPaths[i].length, 0, in.bufferSize()));
float audioWave = in.left.get(audioWaveIndex)*ampWave;
//float audioWave = in.right.get(audioWaveIndex)*ampWave;
//vertex(pointPaths[i][j].x, pointPaths[i][j].y); // try other shapes
// [i] refers to which character, [j] refers to which point in that character
/*if (k%10 == 0) {
xstroke(255, 0, 0);
noFill();
xvertex(pointPaths[i][j].x, pointPaths[i][j].y);
} else {
fill(255, 20);
vertex(pointPaths[i][j].x, pointPaths[i][j].y);
}*/
if (k%70 == 0) {
noFill();
xstroke(0, 0, 255);
xvertex(pointPaths[i][j].x, pointPaths[i][j].y);
} else {
//vertex(pointPaths[i][j].x, pointPaths[i][j].y);
}
}
xendShape();
}
}
popMatrix();
}
popMatrix();
popMatrix();
} // draw
/*---- YOUR CUSTOM CODE ABOVE ------------------------*/
/***** DON'T EDIT BELOW *******************************/