1
1
import processing.video.* ;
2
2
3
- String [] shaders = new String []{
4
- " wrap.glsl" , " deform.glsl" , " pixelrolls.glsl" , " patches.glsl" ,
3
+ String [] shaders = new String [] {
5
4
" brcosa.glsl" , " hue.glsl" , " pixelate.glsl" , " blur.glsl" ,
6
- " channels.glsl" , " threshold.glsl" , " neon.glsl" , " edges.glsl" ,
7
- " modcolor.glsl" , " halftone.glsl" };
5
+ " channels.glsl" , " threshold.glsl" , " neon.glsl" , " edges.glsl" ,
6
+ " wrap.glsl" , " deform.glsl" , " pixelrolls.glsl" , " patches.glsl" ,
7
+ " modcolor.glsl" , " halftone.glsl" , " invert.glsl" };
8
8
9
9
PShader shade;
10
10
PImage img1, img2, img3;
11
11
Movie mov;
12
12
13
- // shaders
14
- // - inversion
15
- // - more?
16
-
17
13
int idxSource = 0 ;
18
14
int idxShader = 0 ;
19
15
@@ -22,7 +18,7 @@ void setup()
22
18
size (640 , 480 , P2D );
23
19
textSize (22 );
24
20
fill (0 );
25
-
21
+
26
22
// load sources
27
23
img1 = loadImage (" hummingbird.jpg" );
28
24
img2 = loadImage (" fruit-stand.jpg" );
@@ -35,14 +31,14 @@ void setup()
35
31
void draw ()
36
32
{
37
33
setShaderParameters();
38
-
34
+
39
35
// turn on shader and display source
40
36
shader(shade);
41
37
if (idxSource == 0 ) image (img1, 0 , 0 , width , height );
42
38
else if (idxSource == 1 ) image (img2, 0 , 0 , width , height );
43
39
else if (idxSource == 2 ) image (img3, 0 , 0 , width , height );
44
40
else if (idxSource == 3 ) image (mov, 0 , 0 , width , height );
45
-
41
+
46
42
// turn off shader before displaying filename
47
43
resetShader();
48
44
text (shaders[idxShader], 5 , 20 );
@@ -51,104 +47,109 @@ void draw()
51
47
void setupShader()
52
48
{
53
49
shade = loadShader(shaders[idxShader]);
54
-
50
+
55
51
// shader 3 works better on paused movie
56
52
if (idxShader == 3 ) {
57
53
mov. pause();
58
- } else {
54
+ }
55
+ else {
59
56
mov. loop();
60
57
}
61
58
}
62
59
63
60
void setShaderParameters()
64
61
{
65
- // wrap
66
- if (idxShader == 0 ) {
67
- shade. set(" radius" , map (mouseX , 0 , width , 0 , 2 ));
68
- shade. set(" radTwist" , map (mouseY , 0 , height , 1.0 , 10 ));
69
- }
70
-
71
- // deform
72
- else if (idxShader == 1 ) {
73
- shade. set(" time" , (float ) millis ()/ 1000.0 );
74
- shade. set(" mouse" , (float ) mouseX / width , (float ) mouseY / height );
75
- shade. set(" turns" , map (sin (0.01 * frameCount ), - 1 , 1 , 2.0 , 10.0 ));
76
- }
77
-
78
- // pixelRolls
79
- else if (idxShader == 2 ) {
80
- shade. set(" time" , (float ) millis ()/ 1000.0 );
81
- shade. set(" pixels" , mouseX / 5 , 250.0 );
82
- shade. set(" rollRate" , map (mouseY , 0 , height , 0 , 10.0 ));
83
- shade. set(" rollAmount" , 0.25 );
84
- }
85
-
86
- // patches
87
- else if (idxShader == 3 ) {
88
- shade. set(" time" , (float ) millis ()/ 1000.0 );
89
- shade. set(" row" , map (mouseX , 0 , width , 0 , 1 ));
90
- shade. set(" col" , map (mouseY , 0 , height , 0 , 1 ));
91
- }
92
-
93
62
// brcosa
94
- else if (idxShader == 4 ) {
63
+ if (idxShader == 0 ) {
95
64
shade. set(" brightness" , 1.0 );
96
65
shade. set(" contrast" , map (mouseX , 0 , width , - 5 , 5 ));
97
66
shade. set(" saturation" , map (mouseY , 0 , height , - 5 , 5 ));
98
67
}
99
68
100
69
// hue
101
- else if (idxShader == 5 ) {
70
+ else if (idxShader == 1 ) {
102
71
shade. set(" hue" , map (mouseX , 0 , width , 0 , TWO_PI ));
103
72
}
104
73
105
74
// pixelate
106
- else if (idxShader == 6 ) {
75
+ else if (idxShader == 2 ) {
107
76
shade. set(" pixels" , 0.1 * mouseX , 0.1 * mouseY );
108
77
}
109
-
78
+
110
79
// blur
111
- else if (idxShader == 7 ) {
80
+ else if (idxShader == 3 ) {
112
81
shade. set(" sigma" , map (mouseX , 0 , width , 0 , 10.0 ));
113
82
shade. set(" blurSize" , (int ) map (mouseY , 0 , height , 0 , 30.0 ));
114
83
shade. set(" texOffset" , 1.0 , 1.0 );
115
84
}
116
-
85
+
117
86
// channels
118
- else if (idxShader == 8 ) {
87
+ else if (idxShader == 4 ) {
119
88
shade. set(" rbias" , 0.0 , 0.0 );
120
89
shade. set(" gbias" , map (mouseY , 0 , height , - 0.2 , 0.2 ), 0.0 );
121
90
shade. set(" bbias" , 0.0 , 0.0 );
122
91
shade. set(" rmult" , map (mouseX , 0 , width , 0.8 , 1.5 ), 1.0 );
123
92
shade. set(" gmult" , 1.0 , 1.0 );
124
93
shade. set(" bmult" , 1.0 , 1.0 );
125
94
}
126
-
127
- // edges
128
- else if (idxShader == 9 ) {
129
- shade. set(" threshold" , map (mouseX , 0 , width , 0 , 1 ));
130
- }
131
95
96
+ // threshold
97
+ else if (idxShader == 5 ) {
98
+ shade. set(" threshold" , map (mouseX , 0 , width , 0 , 1 ));
99
+ }
100
+
132
101
// neon
133
- else if (idxShader == 10 ) {
102
+ else if (idxShader == 6 ) {
134
103
shade. set(" brt" , map (mouseX , 0 , width , 0 , 0.5 ));
135
- shade. set(" rad" , (int ) map (mouseY , 0 , height , 0 , 3 ));
104
+ shade. set(" rad" , (int ) map (mouseY , 0 , height , 0 , 3 ));
136
105
}
137
-
106
+
138
107
// edges (no parameters)
139
-
108
+ else if (idxShader == 7 ) {
109
+ }
110
+
111
+ // wrap
112
+ else if (idxShader == 8 ) {
113
+ shade. set(" radius" , map (mouseX , 0 , width , 0 , 2 ));
114
+ shade. set(" radTwist" , map (mouseY , 0 , height , 1.0 , 10 ));
115
+ }
116
+
117
+ // deform
118
+ else if (idxShader == 9 ) {
119
+ shade. set(" time" , (float ) millis ()/ 1000.0 );
120
+ shade. set(" mouse" , (float ) mouseX / width , (float ) mouseY / height );
121
+ shade. set(" turns" , map (sin (0.01 * frameCount ), - 1 , 1 , 2.0 , 10.0 ));
122
+ }
123
+
124
+ // pixelRolls
125
+ else if (idxShader == 10 ) {
126
+ shade. set(" time" , (float ) millis ()/ 1000.0 );
127
+ shade. set(" pixels" , mouseX / 5 , 250.0 );
128
+ shade. set(" rollRate" , map (mouseY , 0 , height , 0 , 10.0 ));
129
+ shade. set(" rollAmount" , 0.25 );
130
+ }
131
+
132
+ // patches
133
+ else if (idxShader == 11 ) {
134
+ shade. set(" row" , map (mouseX , 0 , width , 0 , 1 ));
135
+ shade. set(" col" , map (mouseY , 0 , height , 0 , 1 ));
136
+ }
137
+
140
138
// modcolor
141
139
else if (idxShader == 12 ) {
142
140
shade. set(" modr" , map (mouseX , 0 , width , 0 , 0.5 ));
143
141
shade. set(" modg" , 0.3 );
144
142
shade. set(" modb" , map (mouseY , 0 , height , 0 , 0.5 ));
145
143
}
146
-
144
+
147
145
// halftone
148
146
else if (idxShader == 13 ) {
149
147
shade. set(" pixelsPerRow" , (int ) map (mouseX , 0 , width , 2 , 100 ));
150
148
}
151
-
149
+
150
+ // inversion (no parameters)
151
+ else if (idxShader == 14 ) {
152
+ }
152
153
}
153
154
154
155
void keyPressed () {
@@ -167,7 +168,7 @@ void keyPressed() {
167
168
idxSource = (idxSource + 1 ) % 4 ;
168
169
}
169
170
}
170
-
171
+
171
172
void movieEvent (Movie m ) {
172
173
m. read();
173
174
}
0 commit comments