uniform float CurrentTime; uniform float MaxTime; const vec4 Gravity = vec4(0.0, -4.4, 0.0, 0.0); void main() { vec4 velocity = vec4(0.0, 0.0, 0.0, 1.0); vec4 position = vec4(0.0, 0.0, 0.0, 1.0); velocity.x = gl_Vertex.x; velocity.y = gl_Vertex.y + Gravity.y*CurrentTime*0.001; velocity.z = gl_Vertex.z; position.x = velocity.x*CurrentTime*0.001; position.y = velocity.y*CurrentTime*0.001; position.z = velocity.z*CurrentTime*0.001; gl_Position = gl_ModelViewProjectionMatrix*position; gl_FrontColor = gl_Color; gl_PointSize = 4.0 - 3.9*CurrentTime/MaxTime; }