From: Keith Whitwell Date: Sat, 28 Oct 2000 11:42:12 +0000 (+0000) Subject: Do per-pixel fog when GL_FOG_HINT is GL_NICEST. X-Git-Tag: 062012170305~27752 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a897b335bec7465ab688ef369c75b468b7251b05;p=profile%2Fivi%2Fmesa.git Do per-pixel fog when GL_FOG_HINT is GL_NICEST. Fix scaling bug in per-pixel fog calculations. --- diff --git a/src/mesa/main/fog.c b/src/mesa/main/fog.c index 8c473b3..1353631 100644 --- a/src/mesa/main/fog.c +++ b/src/mesa/main/fog.c @@ -1,4 +1,4 @@ -/* $Id: fog.c,v 1.22 2000/10/27 18:38:35 brianp Exp $ */ +/* $Id: fog.c,v 1.23 2000/10/28 11:42:12 keithw Exp $ */ /* * Mesa 3-D graphics library @@ -271,7 +271,6 @@ _mesa_fog_rgba_pixels( const GLcontext *ctx, for (i=0;i> FIXED_SHIFT; rgba[i][1] = (f*rgba[i][1] + g*gFog) >> FIXED_SHIFT; rgba[i][2] = (f*rgba[i][2] + g*bFog) >> FIXED_SHIFT; @@ -329,12 +328,13 @@ _mesa_win_fog_coords_from_z( const GLcontext *ctx, case GL_LINEAR: { GLfloat fogEnd = ctx->Fog.End; - GLfloat fogScale = 1.0F / (ctx->Fog.End - ctx->Fog.Start); + GLfloat fogScale = (GLfloat) FIXED_ONE / (ctx->Fog.End - + ctx->Fog.Start); for (i=0;iFog.Density * eyez ); + fogcoord[i] = FloatToFixed(exp( -ctx->Fog.Density * eyez )); } break; case GL_EXP2: @@ -358,7 +358,7 @@ _mesa_win_fog_coords_from_z( const GLcontext *ctx, if (tmp < FLT_MIN_10_EXP) tmp = FLT_MIN_10_EXP; #endif - fogcoord[i] = exp( tmp ); + fogcoord[i] = FloatToFixed(exp( tmp )); } } break;