source: trunk/tools/neercs/video/color.lolfx @ 1829

Last change on this file since 1829 was 1829, checked in by rez, 8 years ago

added COPPER \:D/ (still buggy btw)

File size: 1.1 KB
Line 
1-- GLSL.Vert --
2
3#version 120
4
5void main()
6        {
7        gl_Position=gl_Vertex;
8        gl_TexCoord[0]=gl_MultiTexCoord0;
9        }
10
11-- GLSL.Frag --
12
13#version 120
14
15uniform sampler2D texture;
16uniform vec2 screen_size;
17uniform float time;
18uniform vec3 filter;
19uniform vec3 color;
20uniform float flash;
21
22void main(void)
23        {
24        vec2 p=gl_FragCoord.xy/screen_size.xy;
25        vec3 c=texture2D(texture,p).xyz;
26        vec3 o=c;
27
28        float sinus=0.125+0.125*sin(p.x*float(screen_size.x/32)+time)+0.125*cos(p.y*float(screen_size.x/32)+time);
29        vec3 copper=vec3(0.5+sinus);
30        copper.x+=0.5*cos(p.y*float(screen_size.y/64)+time);
31        copper.z+=0.5*sin(p.y*float(screen_size.y/64)+time);
32        copper*=0.5+0.25*cos(p.y*float(screen_size.x/6)-time*2.0);
33
34        copper.x=float(int(copper.x*8.0)*32)/256.0;
35        copper.y=float(int(copper.y*8.0)*32)/256.0;
36        copper.z=float(int(copper.z*8.0)*32)/256.0;
37
38        float a=(c.x+c.y+c.z)/3.0;
39        c=mix(c,vec3(a),color.z);                                                               // grayscale
40        c*=filter;                                                                                              // filter
41        c*=color.x;                                                                                             // brightness
42        c=0.5+(c-0.5)*color.y;                                                                  // contrast
43        c+=flash;                                                                                               // flash
44
45        //gl_FragColor=vec4(c,1.0);
46        gl_FragColor=vec4((o.x>0.5&&o.y>0.5&&o.z>0.5)?copper:c,1.0);
47        }
Note: See TracBrowser for help on using the repository browser.