turns out we probably need a _tnl_allow_pixel_fog() function afterall

This commit is contained in:
Brian Paul 2004-02-24 16:10:52 +00:00
parent 4d5dddd125
commit 8d407300c2
3 changed files with 15 additions and 1 deletions

View file

@ -103,6 +103,7 @@ _tnl_CreateContext( GLcontext *ctx )
tnl->LoopbackDListCassettes = GL_FALSE;
tnl->CalcDListNormalLengths = GL_TRUE;
tnl->AllowVertexFog = GL_TRUE;
tnl->AllowPixelFog = GL_TRUE;
/* Hook our functions into exec and compile dispatch tables.
*/
@ -146,7 +147,9 @@ _tnl_InvalidateState( GLcontext *ctx, GLuint new_state )
TNLcontext *tnl = TNL_CONTEXT(ctx);
if (new_state & (_NEW_HINT)) {
tnl->_DoVertexFog = tnl->AllowVertexFog && (ctx->Hint.Fog != GL_NICEST);
ASSERT(tnl->AllowVertexFog || tnl->AllowPixelFog);
tnl->_DoVertexFog = (tnl->AllowVertexFog && (ctx->Hint.Fog != GL_NICEST))
|| !tnl->AllowPixelFog;
}
if (new_state & _NEW_ARRAY) {
@ -272,3 +275,10 @@ _tnl_allow_vertex_fog( GLcontext *ctx, GLboolean value )
tnl->AllowVertexFog = value;
}
void
_tnl_allow_pixel_fog( GLcontext *ctx, GLboolean value )
{
TNLcontext *tnl = TNL_CONTEXT(ctx);
tnl->AllowPixelFog = value;
}

View file

@ -705,6 +705,7 @@ typedef struct
GLboolean CalcDListNormalLengths;
GLboolean IsolateMaterials;
GLboolean AllowVertexFog;
GLboolean AllowPixelFog;
GLboolean _DoVertexFog; /* eval fog function at each vertex? */

View file

@ -80,5 +80,8 @@ _tnl_isolate_materials( GLcontext *ctx, GLboolean flag );
extern void
_tnl_allow_vertex_fog( GLcontext *ctx, GLboolean value );
extern void
_tnl_allow_pixel_fog( GLcontext *ctx, GLboolean value );
#endif