infinite terrain experiments
[shady.git] / postprocess_hurl.glsl
blob1df5343eed8af67824881bb36d315d40cd9441da
2 @@@ FRAGMENT SHADER
4 uniform sampler2D render;
7 uniform float radius;
8 uniform float var;
9 uniform float time;
11 void main() {
12         vec2 p = gl_TexCoord[0].st;
13         
15         //generate noise
16         int a = 12547831;
17         a += int(1254.2654*time);
18         a -= a<<4;
19         a ^= a>>3;
20         a ^= a<<9;
21         a += a>>3;
22         a -= int(1254.2654*p.x);
23         a ^= a<<7;
24         a ^= a>>5;
25         a += a<<3;
26         a -= a>>6;
27         a ^= int(1254.2654*p.y);
28         a ^= a<<5;
29         a += a>>3;
30         a -= a<<2;
31         a ^= a>>9;
32         float hurlx = (2*float((a%1483))/1484)-1;
33         a -= a<<3;
34         a ^= a>>7;
35         float hurly = (2*float((a%3591))/3590)-1;
37         gl_FragColor = texture2D(render, p+0.01*var*vec2(hurlx,hurly));