attribute float mode; attribute float clampSize; attribute float geomSize; attribute float minSize; attribute float maxSize; attribute float magnification; void main() { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; gl_FrontColor = gl_Color; float size; if( mode == 0 ) // Results size = minSize + ( maxSize - minSize ) * ( 1 - gl_Color.w / 241.0f ); else // Geometry and Uniform colored outside cursor size = geomSize; gl_PointSize = clamp( magnification * size * gl_ProjectionMatrix[1].y, 2.0, clampSize ); }