source: trunk/neercs/video/radial.lolfx @ 1459

Last change on this file since 1459 was 1459, checked in by sam, 8 years ago

neercs: some refactoring.

File size: 840 bytes
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 float value1;
19uniform float value2;
20uniform float color;
21
22float PI=3.14159265358979323846;
23
24vec3 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        }
32
33void main(void)
34        {
35        int n=32;
36
37        vec2 p=-1.0+4.0*gl_TexCoord[0].xy;
38        vec2 s=p;
39        vec3 source=deform(s);
40
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);
54        }
Note: See TracBrowser for help on using the repository browser.