compute fog coord in eye space, not clip space
diff --git a/progs/demos/arbfplight.c b/progs/demos/arbfplight.c
index 369da2a..14d7d3e 100644
--- a/progs/demos/arbfplight.c
+++ b/progs/demos/arbfplight.c
@@ -102,6 +102,7 @@
    (void) y;
    switch (key) {
      case ' ':
+     case 'a':
         Anim = !Anim;
         if (Anim)
            glutIdleFunc(Idle);
@@ -224,6 +225,7 @@
       "!!ARBvp1.0\n"
       "ATTRIB pos = vertex.position; \n"
       "ATTRIB norm = vertex.normal; \n"
+      "PARAM modelview[4] = { state.matrix.modelview }; \n"
       "PARAM modelviewProj[4] = { state.matrix.mvp }; \n"
       "PARAM invModelview[4] = { state.matrix.modelview.invtrans }; \n"
 
@@ -240,8 +242,8 @@
       "DP3 result.texcoord[0].w, norm, invModelview[3]; \n"
 
 #if DO_FRAGMENT_FOG
-      "# compute fog coordinate\n"
-      "DP4 result.fogcoord, pos, modelviewProj[2]; \n"
+      "# compute fog coordinate = vertex eye-space Z coord (negated)\n"
+      "DP4 result.fogcoord, -pos, modelview[2]; \n"
 #endif
       "END\n";
       ;
@@ -360,7 +362,7 @@
       glFogi(GL_FOG_MODE, GL_LINEAR);
       glFogfv(GL_FOG_COLOR, fogColor);
       glFogf(GL_FOG_START, 5.0);
-      glFogf(GL_FOG_END, 10.0);
+      glFogf(GL_FOG_END, 25.0);
       glEnable(GL_FOG);
    }
 #endif