#version 120 attribute vec4 vColor; attribute float vSize; attribute vec4 vPosition; varying vec4 color; uniform float time = 1; void main() { float scaleDot; scaleDot = time + vSize; if (scaleDot > 1.0) { scaleDot = time - vSize; } scaleDot = clamp(scaleDot, 0.0, 1.0); gl_PointSize = 8*scaleDot; gl_Position = vPosition; color = vec4(vColor.rgb, 1.0); return; }