summaryrefslogtreecommitdiffstats
path: root/res/raw/spacecloud_vs.glsl
blob: 3ddbd6fdbc486f42e4d9242df511f9377670672e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
varying float pointSize;

void main() {
    float dist = ATTRIB_position.y / 4.0;
    float angle = ATTRIB_position.x;

    float x = dist * sin(angle) * 0.8;
    float y = dist * cos(angle) * 0.8;
    float p = dist * 7.5;
    float s = cos(p);
    float t = sin(p);
    vec4 pos;
    pos.x = t*x + s*y;
    pos.y = s*x - t*y;
    pos.z = ATTRIB_position.z;
    pos.w = 1.0;
    pos.y = pos.y * 0.5;
    gl_Position = UNI_MVP * pos;
    pointSize = 170.0-(pos.y*pos.y*1.2*1.2 + pos.x*pos.x)*400.0;
    if (pointSize<=30.0) {
        pointSize = 30.0;
    }
    gl_PointSize = pointSize;
}