I have a bizarre problem. There is a simple OpenGL fixed-function light drawn at (0.0f,10.0f,-1.0f). There are several boxes that happen to have faces lying in the plane z=-1.0f. Consequently, the light vector and the normal are exactly orthogonal.
When this happens, instead of being black, the color flickers light and dark along that face, even when the camera is stationary. The draw settings are identical each frame. It's not a z-fighting effect; there's only one layer of polygons, and the flickering continues even when the camera is stationary. Each vertex of the face appears either lit or unlit, though it's unpredictable which a given vertex will be from frame to frame.
The light has no ambient, and by tweaking the light's diffuse and specular factors, I find that the problem only occurs when the light's specular coefficient is nonzero. Perturbing the light slightly along z fixes the problem; it's only when the light is exactly in line with the surface that the problem occurs. I can fix the problem better by just using a shader (which I plan to do anyway), but I'm wondering if anyone has encountered this before?
I suspect it may be some kind of driver bug.
Hardware: NVIDIA GeForce GTX 580M
Edited by Geometrian, 27 May 2013 - 06:04 PM.