|
- [vert.glsl]
-
- #version 120
-
- varying vec2 pass_TexCoord;
-
- void main()
- {
- gl_Position = gl_Vertex;
- pass_TexCoord = vec2(0.5, 0.5) + 0.5 * gl_Vertex.xy;
- }
-
- [frag.glsl]
-
- #version 120
-
- varying vec2 pass_TexCoord;
-
- uniform sampler2D texture;
- uniform vec2 screen_size;
- uniform float time;
- uniform vec4 copper;
- uniform vec3 mask_color;
-
- void main(void)
- {
- vec2 p = pass_TexCoord;
- vec3 source = texture2D(texture, p).xyz;
-
- vec3 color = vec3(0.5);
-
- color.x += 0.5 * cos(p.y*float(screen_size.y / copper.w) + time);
- color.z += 0.5 * sin(p.y*float(screen_size.y / copper.w) + time);
-
- color *= copper.x + copper.y * cos(p.y * float(screen_size.x / copper.z));// - time);
-
- color.x = float(int(color.x * 8.0) * 32) / 256.0;
- color.y = float(int(color.y * 8.0) * 32) / 256.0;
- color.z = float(int(color.z * 8.0) * 32) / 256.0;
-
- gl_FragColor = vec4((abs(source.x - mask_color.x) < 0.025 && abs(source.y - mask_color.y) < 0.025 && abs(source.z - mask_color.z) < 0.025) ? color : source, 1.0);
- }
|