I'm trying to implement fog and it appears as though FOG_START and FOG_END values are being ignored by Fogf. It also appears as though the resulting fog begins at zero of the modelview matrix's Z axis rather than the "camera" as set by Glu.LookAt. As objects move farther away from zero on that axis they are more heavily colored by the fog. Different camera coordinates have no effect.

Here's what is hopefully the relevant code:

Code :
' Enable fog and set mode and parameters.
Gl.Enable(gl.FOG)
Gl.Fogi(Gl.FOG_MODE, Gl.LINEAR)
Gl.Hint(Gl.FOG_HINT, Gl.NICEST)
 
' Set projection mode.
Gl.MatrixMode(Gl.PROJECTION)
Gl.LoadIdentity()
Glu.Perspective(45, sWidth / sHeight, Camera.Near, Camera.Far)
Gl.Scalef(1, -1, 1)
 
' Update OpenGL matrix.
UpVec1 = Sin(Rad(- Camera.Orientation))
UpVec2 = Cos(Rad(- Camera.Orientation))
UpVec3 = 1
Glu.LookAt(Camera.WorldX, Camera.WorldY, Camera.WorldZ, Camera.WorldX, Camera.WorldY, -32768, UpVec1, UpVec2, UpVec3)
 
Fog(Working, Working, Working, Ignored, Camera.Near, Camera.Near + 10

Does this problem sound familiar or is there anything in my code that hints at the problem?