Directional light attenuating when it shouldn't

I have a mesh that I want to render in lit, smooth shaded mode. This object will recede into the distance, and grow a proportionate amount so that the visual effect to the viewer is that it remains the same size. However, as the object recedes into the distance, it becomes steadily darker. This is frusterating, since I want its illuminaiton to be steady. I’m illuminating it with a single directional light that is pointing down the Z axis of my eye point. I’m using constant attenuation, but this is happening anyway.

Is this expected behaviour? How can I keep my object illuminated regardless of it’s size and distance from the eye?

My suspicion would be that you need to twiddle your surface normals so that they all have the same angle to the light.

Look like I forgot to call glEnable(GL_NORMALIZE). Thanks.