Ignore:
Timestamp:
Aug 27, 2012, 2:06:44 AM (9 years ago)
Author:
rez
Message:

moved some code from postfx to a new shader -> color.lolfx

File:
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/tools/neercs/video/color.lolfx

    r1819 r1820  
    1515uniform sampler2D texture;
    1616uniform vec2 screen_size;
    17 uniform float time;
    18 uniform float value1;
    19 uniform float value2;
    20 uniform float color;
    21 
    22 float PI=3.14159265358979323846;
    23 
    24 vec3 deform(in vec2 p)
    25         {
    26         vec2 uv;
    27         float zoom=0.5;
    28         uv.x=p.x*zoom-0.5;
    29         uv.y=p.y*zoom-0.5;
    30         return texture2D(texture,uv).xyz;
    31         }
     17uniform vec3 filter;
     18uniform vec3 color;
     19uniform float flash;
    3220
    3321void main(void)
    3422        {
    35         int n=32;
     23        vec2 p=gl_FragCoord.xy/screen_size.xy;
     24        vec3 c=texture2D(texture,p).xyz;
    3625
    37         vec2 p=-1.0+4.0*gl_TexCoord[0].xy;
    38         vec2 s=p;
    39         vec3 source=deform(s);
     26        float a=(c.x+c.y+c.z)/3.0;
     27        c=mix(c,vec3(a),color.z);                                                               // grayscale
     28        c*=filter;                                                                                              // filter
     29        c*=color.x;                                                                                             // brightness
     30        c=0.5+(c-0.5)*color.y;                                                                  // contrast
     31        c+=flash;                                                                                               // flash
    4032
    41         vec3 total=vec3(0,1.0,1.0);
    42 
    43         vec2 d=-p/float(n*2);
    44         float w=value1;
    45         for(int i=0;i<n;i++)
    46                 {
    47                 vec3 c=deform(s);
    48                 vec3 data=c+vec3(c.x*color-p.x*color,c.z*color+p.y*color,c.y*color+p.x*color);
    49                 total+=data*w;
    50                 w*=value2;
    51                 s+=d;
    52                 }
    53         gl_FragColor=vec4(source*0.625+total*0.025,1.0);
     33        gl_FragColor=vec4(c,1.0);
    5434        }
Note: See TracChangeset for help on using the changeset viewer.