OpenSceneGraph/src/osg/Fog.cpp

48 lines
670 B
C++
Raw Normal View History

2001-01-11 00:32:10 +08:00
#include "osg/GL"
#include "osg/Fog"
using namespace osg;
Fog::Fog( void )
{
_mode = EXP;
_density = 1.0f;
_start = 0.0f;
_end = 1.0f;
_color.set( 0.0f, 0.0f, 0.0f, 0.0f);
}
Fog::~Fog( void )
{
}
Fog* Fog::instance()
{
static ref_ptr<Fog> s_fog(new Fog);
return s_fog.get();
}
void Fog::enable( void )
{
glEnable( GL_FOG );
}
void Fog::disable( void )
{
glDisable( GL_FOG );
}
void Fog::apply( void )
{
glFogi( GL_FOG_MODE, _mode );
glFogf( GL_FOG_DENSITY, _density );
glFogf( GL_FOG_START, _start );
glFogf( GL_FOG_END, _end );
glFogfv( GL_FOG_COLOR, (GLfloat*)_color.ptr() );
}