compute fog coord in eye space, not clip space

This commit is contained in:
Brian Paul 2004-02-17 22:00:45 +00:00
parent 09da0b8e66
commit 4e41eb1061

View file

@ -102,6 +102,7 @@ static void Key( unsigned char key, int x, int y )
(void) y;
switch (key) {
case ' ':
case 'a':
Anim = !Anim;
if (Anim)
glutIdleFunc(Idle);
@ -224,6 +225,7 @@ static void Init( void )
"!!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 @@ static void Init( void )
"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 @@ static void Init( void )
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