I'm using stock OpenGL with no shaders and several light sources. I've noticed that regardless of my light sources' RGBA settings or number of lights the brightest a model will get is the actual image being used for the texture map. I can have the diffuse, ambient, etc. settings for a light source all set to something ridiculous like 1000 but a material with a dark texture map will still appear dark under extremely bright lighting, as if the lighting is being clamped or normalized. I'd expect them to become saturated or solid white with a high enough lighting intensity.

My lighting strategy is to have all the lights set to various intensities of white and control the color tinting of the material texture maps (generally being light-gray metallic textures) using Gl_Materialfv. The issue remains even when setting both the lighting and material parameters to large values.

Is this a limitation of OpenGL, or is there a proper way to use an arbitrary texture map, set its color tint with Gl_Materialfv, and have the light sources make it brighter than the texture map's source image? Here's the (hopefully) relevant source code:


And yes, I'm Jon Snow and I know nothing.