Ignore:
Timestamp:
Jul 24, 2012, 2:53:40 AM (9 years ago)
Author:
rez
Message:

fixed noise / added tons of control vars to postfx

File:
1 edited

Legend:

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

    r1661 r1663  
    1616uniform vec2 screen_size;
    1717uniform float time;
    18 uniform float flash;
    1918uniform float noise;
     19uniform float noise_h;
     20uniform float noise_v;
    2021uniform float aberration;
    2122uniform float deform;
    2223uniform bool scanline;
     24uniform float scanline_h_base;
     25uniform float scanline_h_var;
     26uniform float scanline_h_repeat_x;
     27uniform float scanline_h_repeat_y;
     28uniform float scanline_v_base;
     29uniform float scanline_v_var;
     30uniform float scanline_v_repeat_x;
     31uniform float scanline_v_repeat_y;
     32uniform float flash;
    2333uniform float sync;
    2434
     
    5969        float rnd1=rand(vec2(p.x+time,p.y-time));
    6070        float rnd2=rand(vec2(p.x-time,p.y+time));
    61         float d1=rnd1*noise/float(screen_size.x);
    62         float d2=rnd2*noise/float(screen_size.y);
     71        float d1=(noise_h-noise_h*2.0*rnd1)/float(screen_size.x);
     72        float d2=(noise_v-noise_v*2.0*rnd1)/float(screen_size.y);
    6373
    6474        vec3 source;
     
    7484        vec3 noise;
    7585        noise.x=get_color(texture,vec2(z.x+d1-v,z.y+d2)).x;
    76         noise.y=get_color(texture,vec2(z.x+d1  ,z.y-d2)).y;
    77         noise.z=get_color(texture,vec2(z.x+d1+v,z.y-d2)).z;
     86        noise.y=get_color(texture,vec2(z.x+d1  ,z.y+d2)).y;
     87        noise.z=get_color(texture,vec2(z.x+d1+v,z.y+d2)).z;
    7888
    7989        vec3 color=source+glass1*glass1*0.25+glass2*glass2*0.25+(scanline?noise:source);
     
    8393                {
    8494                color-=0.0125*mod(z.y*4.0+time*0.25,1.0);                                       // electron beam
    85                 color-=(vec3(rnd1,rnd1,rnd1)-vec3(rnd2,rnd2,rnd2))*0.1;         // noise
    86                 color*=0.75+0.25*cos(z.x*float(screen_size.x*2))*sin(0.5+z.y*float(screen_size.y));     // scanline w
    87                 color*=0.75+0.50*sin(z.y*float(screen_size.y*2));                       // scanline h
     95                color-=(vec3(rnd1,rnd1,rnd1)-vec3(rnd2,rnd2,rnd2))*noise;       // noise
     96                color*=scanline_h_base+scanline_h_var*cos(z.x*float(screen_size.x*scanline_h_repeat_x))*sin(z.y*float(screen_size.y*scanline_h_repeat_y));      // scanline w
     97                color*=scanline_v_base+scanline_v_var*sin(z.y*float(screen_size.x*scanline_v_repeat_x))*cos(z.y*float(screen_size.y*scanline_v_repeat_y));      // scanline h
    8898                }
    8999        else
     
    91101                color*=0.675;
    92102                }
    93         color=vec3(color.x*0.875,color.y*1.0,color.z*0.75);
     103        color=vec3(color.x*0.875,color.y*1.0,color.z*0.75);                             // hue
    94104        color*=mask;                                                                                                    // vignetting
    95105        color*=letterbox(z,-0.75,0.95);                                                                 // letterbox
Note: See TracChangeset for help on using the changeset viewer.