-/**
- * Apply fog to a span of RGBA pixels.
- * Input: ctx -
- * span - where span->fog and span->fogStep have to be set.
- * red, green, blue, alpha - pixel colors
- * Output: red, green, blue, alpha - fogged pixel colors
- */
-void
-_mesa_fog_rgba_pixels( const GLcontext *ctx, struct sw_span *span,
- GLchan rgba[][4] )
-{
- GLuint i;
- GLfloat fog = span->fog, Dfog = span->fogStep;
- GLchan rFog, gFog, bFog;
-
- /* printf("%s\n", __FUNCTION__);*/
- ASSERT(ctx->Fog.Enabled);
- ASSERT(span->interpMask & SPAN_FOG);
- ASSERT(span->filledColor == GL_TRUE || (span->arrayMask & SPAN_RGBA));
-
- UNCLAMPED_FLOAT_TO_CHAN(rFog, ctx->Fog.Color[RCOMP]);
- UNCLAMPED_FLOAT_TO_CHAN(gFog, ctx->Fog.Color[GCOMP]);
- UNCLAMPED_FLOAT_TO_CHAN(bFog, ctx->Fog.Color[BCOMP]);
-
- for (i = 0; i < span->end; i++) {
- const GLfloat one_min_fog = 1.0F - fog;
- rgba[i][RCOMP] = (GLchan) (fog * rgba[i][RCOMP] + one_min_fog * rFog);
- rgba[i][GCOMP] = (GLchan) (fog * rgba[i][GCOMP] + one_min_fog * gFog);
- rgba[i][BCOMP] = (GLchan) (fog * rgba[i][BCOMP] + one_min_fog * bFog);
- fog += Dfog;
- }
-}
-
-
-/**
- * Apply fog given in an array to RGBA pixels.
- * Input: ctx -
- * span -
- * fog - array of fog factors in [0,1]
- * red, green, blue, alpha - pixel colors
- * Output: red, green, blue, alpha - fogged pixel colors
- */
-void
-_mesa_fog_rgba_pixels_with_array( const GLcontext *ctx, struct sw_span *span,
- const GLfloat fog[], GLchan rgba[][4] )
-{
- GLuint i;
- GLchan rFog, gFog, bFog;
-
- /* printf("%s\n", __FUNCTION__);*/
- ASSERT(fog != NULL);
- ASSERT(ctx->Fog.Enabled);
- ASSERT(span->filledColor == GL_TRUE || (span->arrayMask & SPAN_RGBA));
-
- UNCLAMPED_FLOAT_TO_CHAN(rFog, ctx->Fog.Color[RCOMP]);
- UNCLAMPED_FLOAT_TO_CHAN(gFog, ctx->Fog.Color[GCOMP]);
- UNCLAMPED_FLOAT_TO_CHAN(bFog, ctx->Fog.Color[BCOMP]);
-
- for (i = span->start; i < span->end; i++) {
- const GLfloat f = fog[i];
- const GLfloat g = 1.0F - f;
- rgba[i][RCOMP] = (GLchan) (f * rgba[i][RCOMP] + g * rFog);
- rgba[i][GCOMP] = (GLchan) (f * rgba[i][GCOMP] + g * gFog);
- rgba[i][BCOMP] = (GLchan) (f * rgba[i][BCOMP] + g * bFog);
- }
-}
-
-/**
- * Apply fog to an array of RGBA pixels.
- * Input: n - number of pixels
- * fog - array of fog factors in [0,1]
- * red, green, blue, alpha - pixel colors
- * Output: red, green, blue, alpha - fogged pixel colors
- */
-void
-_old_fog_rgba_pixels( const GLcontext *ctx,
- GLuint n,
- const GLfloat fog[],
- GLchan rgba[][4] )
-{
- GLuint i;
- GLchan rFog, gFog, bFog;
-
- /* printf("%s\n", __FUNCTION__);*/
- UNCLAMPED_FLOAT_TO_CHAN(rFog, ctx->Fog.Color[RCOMP]);
- UNCLAMPED_FLOAT_TO_CHAN(gFog, ctx->Fog.Color[GCOMP]);
- UNCLAMPED_FLOAT_TO_CHAN(bFog, ctx->Fog.Color[BCOMP]);
-
- for (i = 0; i < n; i++) {
- const GLfloat f = fog[i];
- const GLfloat g = 1.0F - f;
- rgba[i][RCOMP] = (GLchan) (f * rgba[i][RCOMP] + g * rFog);
- rgba[i][GCOMP] = (GLchan) (f * rgba[i][GCOMP] + g * gFog);
- rgba[i][BCOMP] = (GLchan) (f * rgba[i][BCOMP] + g * bFog);
- }
-}
-
-
-/**
- * Apply fog to a span of color index pixels.
- * Input: ctx -
- * span - where span->fog and span->fogStep have to be set.
- * index - pixel color indexes
- * Output: index - fogged pixel color indexes
- */
-void
-_mesa_fog_ci_pixels( const GLcontext *ctx, struct sw_span *span,
- GLuint index[] )
-{
- GLuint idx = (GLuint) ctx->Fog.Index;
- GLuint i;
- GLfloat fog = span->fog, Dfog = span->fogStep;
-
- ASSERT(ctx->Fog.Enabled);
- ASSERT(span->interpMask & SPAN_FOG);
- ASSERT(span->interpMask & SPAN_INDEX);
-
- for (i = 0; i < span->end; i++) {
- const GLfloat f = CLAMP(fog, 0.0F, 1.0F);
- index[i] = (GLuint) ((GLfloat) index[i] + (1.0F - f) * idx);
- fog += Dfog;
- }
-}
-
-
-/**
- * Apply fog given in an array to a span of color index pixels.
- * Input: ctx -
- * span -
- * fog - array of fog factors in [0,1]
- * index - pixel color indexes
- * Output: index - fogged pixel color indexes
- */
-void
-_mesa_fog_ci_pixels_with_array( const GLcontext *ctx, struct sw_span *span,
- const GLfloat fog[], GLuint index[] )
-{
- GLuint idx = (GLuint) ctx->Fog.Index;
- GLuint i;
-
- ASSERT(fog != NULL);
- ASSERT(ctx->Fog.Enabled);
- ASSERT((span->filledColor == GL_TRUE) || (span->arrayMask & SPAN_INDEX));
-
- for (i = span->start; i < span->end; i++) {
- const GLfloat f = CLAMP(fog[i], 0.0F, 1.0F);
- index[i] = (GLuint) ((GLfloat) index[i] + (1.0F - f) * idx);
- }
-}
-
-/**
- * Apply fog to an array of color index pixels.
- * Input: n - number of pixels
- * fog - array of fog factors in [0,1]
- * index - pixel color indexes
- * Output: index - fogged pixel color indexes
- */
-void
-_old_fog_ci_pixels( const GLcontext *ctx,
- GLuint n, const GLfloat fog[], GLuint index[] )
-{
- GLuint idx = (GLuint) ctx->Fog.Index;
- GLuint i;
-
- for (i = 0; i < n; i++) {
- const GLfloat f = CLAMP(fog[i], 0.0F, 1.0F);
- index[i] = (GLuint) ((GLfloat) index[i] + (1.0F - f) * idx);
- }
-}
-
-
-