Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gl_fog.cpp File Reference
#include "gfxlib.h"
#include "gl_globals.h"

Go to the source code of this file.

Classes

struct  _GFXFogState
 

Functions

void GFXFogMode (const FOGMODE fog)
 
void GFXFogDensity (const float fogdensity)
 
void GFXFogLimits (const float fognear, const float fogfar)
 
void GFXFogColor (GFXColor c)
 
void GFXFogIndex (const int index)
 

Variables

static struct _GFXFogState GFXFogState
 

Function Documentation

void GFXFogColor ( GFXColor  c)

Definition at line 69 of file gl_fog.cpp.

References GFXColor::a, GFXColor::b, _GFXFogState::c, c, GFXColor::g, GFXFogState, and GFXColor::r.

Referenced by GameNebula::SetFogState().

70 {
71  if (c.r != GFXFogState.c.r || c.g != GFXFogState.c.g || c.b != GFXFogState.c.b || c.a != GFXFogState.c.a) {
72  glFogfv( GL_FOG_COLOR, &c.r );
73  GFXFogState.c = c;
74  }
75 }
void GFXFogDensity ( const float  fogdensity)

Definition at line 51 of file gl_fog.cpp.

References _GFXFogState::density, and GFXFogState.

Referenced by GameNebula::SetFogState().

52 {
53  if (fogdensity != GFXFogState.density) {
54  glFogf( GL_FOG_DENSITY, fogdensity );
55  GFXFogState.density = fogdensity;
56  }
57 }
void GFXFogIndex ( const int  index)

Definition at line 77 of file gl_fog.cpp.

References GFXFogState, _GFXFogState::index, and index.

Referenced by GameNebula::SetFogState().

78 {
79  if (GFXFogState.index != index) {
80  glFogi( GL_FOG_INDEX, index );
82  }
83 }
void GFXFogLimits ( const float  fognear,
const float  fogfar 
)

Definition at line 59 of file gl_fog.cpp.

References _GFXFogState::ffar, GFXFogState, and _GFXFogState::nnear.

Referenced by GameNebula::SetFogState().

60 {
61  if (GFXFogState.nnear != fognear || GFXFogState.ffar != fogfar) {
62  GFXFogState.nnear = fognear;
63  GFXFogState.ffar = fogfar;
64  glFogf( GL_FOG_START, fognear );
65  glFogf( GL_FOG_END, fogfar );
66  }
67 }
void GFXFogMode ( const FOGMODE  fog)

Definition at line 23 of file gl_fog.cpp.

References _GFXFogState::curmode, _GFXFogState::enabled, FOG_EXP, FOG_EXP2, FOG_LINEAR, FOG_OFF, and GFXFogState.

Referenced by GameStarSystem::Draw(), Mesh::DrawNow(), Animation::ProcessDrawQueue(), GameNebula::SetFogState(), and SetupFogState().

24 {
25  if (GFXFogState.curmode != fog || !GFXFogState.enabled) {
26  switch (fog)
27  {
28  case FOG_OFF:
29  if (!GFXFogState.enabled)
30  return;
31  glDisable( GL_FOG );
32  GFXFogState.enabled = false;
33  return;
34  case FOG_EXP:
35  glFogi( GL_FOG_MODE, GL_EXP );
36  break;
37  case FOG_EXP2:
38  glFogi( GL_FOG_MODE, GL_EXP2 );
39  break;
40  case FOG_LINEAR:
41  glFogi( GL_FOG_MODE, GL_LINEAR );
42  break;
43  }
44  }
45  if (!GFXFogState.enabled) glEnable( GL_FOG );
46  GFXFogState.curmode = fog;
47  GFXFogState.enabled = true;
48  //glHint (GL_FOG_HINT,GL_NICEST );
49 }

Variable Documentation

struct _GFXFogState GFXFogState
static