
#version 120
uniform float particle_size;
void main()
{
  vec4 P = vec4(gl_Vertex.xyz, 1.0);
  gl_Position = gl_ModelViewProjectionMatrix * P;
  vec4 eye = gl_ModelViewMatrix * P; 
  float d = length(eye);
  gl_PointSize = particle_size * 1.0/(0.0 + 0.08*d + 0.001*d*d);       
  gl_FrontColor = gl_Color;
}
