Advanced OpenGL Lighting

Color-material mode
Allows material values to be changed by glColor
glEnable(GL_COLOR_MATERIAL); glColorMaterial function

Secondary specular color
Specularity is added in after texture mapping
glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR)

Rescaling normals
glScale can affect normals adversely
glEnable(GL_NORMALIZE) or glEnable(GL_RESCALE_NORMAL)