Home | History | Annotate | Download | only in raw
      1 varying float pointSize;
      2 
      3 void main() {
      4     float dist = ATTRIB_position.y / 4.0;
      5     float angle = ATTRIB_position.x;
      6 
      7     float x = dist * sin(angle) * 0.8;
      8     float y = dist * cos(angle) * 0.8;
      9     float p = dist * 7.5;
     10     float s = cos(p);
     11     float t = sin(p);
     12     vec4 pos;
     13     pos.x = t*x + s*y;
     14     pos.y = s*x - t*y;
     15     pos.z = ATTRIB_position.z;
     16     pos.w = 1.0;
     17     pos.y = pos.y * 0.5;
     18     gl_Position = UNI_MVP * pos;
     19     pointSize = 170.0-(pos.y*pos.y*1.2*1.2 + pos.x*pos.x)*400.0;
     20     if (pointSize<=30.0) {
     21         pointSize = 30.0;
     22     }
     23     gl_PointSize = pointSize;
     24 }