/* Copyright (c) 2001, Stanford University
* All rights reserved
*
* See the file LICENSE.txt for information on redistributing this software.
*/
#include <stdio.h>
#include "state.h"
#include "state/cr_statetypes.h"
#include "state_internals.h"
{
f->density = 1.0f;
f->end = 1.0f;
f->start = 0.0f;
f->index = 0;
#ifdef CR_NV_fog_distance
#endif
#ifdef CR_EXT_fog_coord
#endif
}
{
}
{
}
{
switch (pname)
{
case GL_FOG_MODE:
case GL_FOG_DENSITY:
case GL_FOG_START:
case GL_FOG_END:
case GL_FOG_INDEX:
break;
case GL_FOG_COLOR:
break;
#ifdef CR_NV_fog_distance
case GL_FOG_DISTANCE_MODE_NV:
break;
#endif
#ifdef CR_EXT_fog_coord
break;
#endif
default:
return;
}
}
{
CRContext *g = GetCurrentContext();
CRFogState *f = &(g->fog);
if (g->current.inBeginEnd)
{
return;
}
FLUSH();
switch (pname)
{
case GL_FOG_MODE:
{
{
return;
}
f->mode = e;
}
break;
case GL_FOG_DENSITY:
if (f->density < 0.0f)
{
f->density = 0.0f;
}
break;
case GL_FOG_START:
break;
case GL_FOG_END:
break;
case GL_FOG_INDEX:
break;
case GL_FOG_COLOR:
break;
#ifdef CR_NV_fog_distance
case GL_FOG_DISTANCE_MODE_NV:
if (g->extensions.NV_fog_distance)
{
if (param[0] != GL_EYE_RADIAL_NV &&
param[0] != GL_EYE_PLANE &&
param[0] != GL_EYE_PLANE_ABSOLUTE_NV )
{
return;
}
}
else
{
return;
}
break;
#endif
#ifdef CR_EXT_fog_coord
if (g->extensions.EXT_fog_coord)
{
{
return;
}
}
else
{
return;
}
break;
#endif
default:
return;
}
}