OpenGL is usually used to render meshes, not to compute them. And normals are part of the grid data. Typically, the grid builder is responsible for the delivery of normals.
In the case of a sphere, the normals are dead, just calculate fine. For a given vector position P on a sphere whose center is C, the normal value is norm(P - C) , where norm normalizes the vector.
source share