}
-/**
- * Update the gl_fog_attrib::_Scale field.
- */
-static void
-update_fog_scale(struct gl_context *ctx)
-{
- if (ctx->Fog.End == ctx->Fog.Start)
- ctx->Fog._Scale = 1.0f;
- else
- ctx->Fog._Scale = 1.0f / (ctx->Fog.End - ctx->Fog.Start);
-}
-
-
void GLAPIENTRY
_mesa_Fogfv( GLenum pname, const GLfloat *params )
{
return;
FLUSH_VERTICES(ctx, _NEW_FOG);
ctx->Fog.Start = *params;
- update_fog_scale(ctx);
break;
case GL_FOG_END:
if (ctx->Fog.End == *params)
return;
FLUSH_VERTICES(ctx, _NEW_FOG);
ctx->Fog.End = *params;
- update_fog_scale(ctx);
break;
case GL_FOG_INDEX:
if (ctx->API != API_OPENGL_COMPAT)
ctx->Fog.End = 1.0;
ctx->Fog.ColorSumEnabled = GL_FALSE;
ctx->Fog.FogCoordinateSource = GL_FRAGMENT_DEPTH_EXT;
- ctx->Fog._Scale = 1.0f;
ctx->Fog.FogDistanceMode = GL_EYE_PLANE_ABSOLUTE_NV;
}
GLfloat Index; /**< Fog index */
GLenum16 Mode; /**< Fog mode */
GLenum16 FogCoordinateSource;/**< GL_EXT_fog_coord */
- GLfloat _Scale; /**< (End == Start) ? 1.0 : 1.0 / (End - Start) */
GLenum16 FogDistanceMode; /**< GL_NV_fog_distance */
};