I have this problem: I have a 3d scene and when I apply a texture to the floor the lighting gets darker. If I remove the texture the lights gets back to normal. I can't understand why because even the menu characters that are not affected by light get darker. It's weird because I only have this problem with some textures.
It seems like the darker the color of the texture is, the less light I have.
I tried to change glTexEnvf, I replaced GL_MODULATE and started to use GL_DECAL so the texture doesn't get affected by lights. It worked, the texture has its original color, but everything else gets white with no shapes (like a 3d object with lighting off)
I assume you don't want everything to be textured. If that's the case, then probably you have forgotten to disable texturing for the non textured objects/triangles (openGL is a state system, that means whatever state you set, that will remain and affect things until you change the state. Texturing is a state too, so as the currently "applied"/bound texture image, so as the lastly set texture coordinates. So in your case, all the drawn primitives will have the color of your texture's corner multiplied by the light color).
GL_MODULATE should be fine, I'm not sure why the textured object appears poorly lit. Maybe you should post a "before-after" image about the issue (no texturing vs texturing and GL_MODULATE)