Many vendors provide proprietary extensions for allowing you to apply the specular highlight after the texture map. See this example code for how to do this on HP systems. Another method works on any OpenGL implementation, because it only uses regular OpenGL 1.0 functionality and doesn't depend on extensions. See this example code for a demonstration of how to do it. See this question in the display list section .
Texture objects store texture maps and their associated texture parameter state.
Texture objects were introduced in OpenGL 1.1. Some OpenGL 1.0 implementations simulated texture object functionality for texture maps that were stored in display lists . Also like display lists, texture objects can be shared across rendering contexts . Unlike display lists, texture objects are mutable. When a texture object is bound, changes to texture object state are stored in the texture object, including changes to the texture map itself.