glNormalf is a command for establishing the normal of the polygon you are going to draw next.
In other words you should call it before drawing each polygon.
Once you use lighting in OpenGl you’ll have to use normals. Without normals opengl doesnt know how to shade.
Either you can manually calculate the normals (vector math) or you can load them from a program that already calculates them, for example 3d studio, etc. However you’ll have to code a way to parse a 3d studio file.
glEnable(GL_Normalize) normalizes the normal vectors for you with a small performance hit. Normals should be normalized (that is norm =1 ), if not shading looks bad.