I have been trying to write some code to draw lines and points with different sizes.

I have tried this in the vertex shader:
//Vertex shader
void main()
{
gl_Position = ...;
gl_PointSize = 3.0;
}

if I modify the value of gl_PointSize anything happens (between 1 and 63), the points are always drawn in the same way. What am I doing wrong?