Each vertex in opengl can have a surface normal. A surface normal is a perpendicular vector with respect to the tangential surface at that vertex. So if you have a triangulated vertices on the surface of a sphere then the normal at each vertex may not be parallel to each other.