From: <cn...@us...> - 2009-11-13 07:44:19
|
Revision: 616 http://hgengine.svn.sourceforge.net/hgengine/?rev=616&view=rev Author: cnlohr Date: 2009-11-13 07:44:12 +0000 (Fri, 13 Nov 2009) Log Message: ----------- add new state changers Modified Paths: -------------- Mercury2/src/StateChanger.cpp Modified: Mercury2/src/StateChanger.cpp =================================================================== --- Mercury2/src/StateChanger.cpp 2009-11-13 07:43:08 UTC (rev 615) +++ Mercury2/src/StateChanger.cpp 2009-11-13 07:44:12 UTC (rev 616) @@ -78,7 +78,41 @@ REGISTER_STATECHANGE( LightingSwitch ); +///State changer for enabling/disabling lighting +class DepthTest : public StateChange +{ +public: + DepthTest( const MVector< MString > & sParameters ) : StateChange( sParameters ) + { + if( sParameters.size() < 1 ) + { + LOG.Write( ssprintf( "Error: DepthTest state has invalid number of parameters(%d).", sParameters.size() ) ); + return; + } + bEnable = StrToBool( sParameters[0] ); + } + + void Stringify( MString & sOut ) + { + sOut = ssprintf( "%f", bEnable ); + } + + void Activate() + { + if( bEnable ) + glEnable( GL_DEPTH_TEST ); + else + glDisable( GL_DEPTH_TEST ); + } + + STATECHANGE_RTTI( DepthTest ); + bool bEnable; +}; + +REGISTER_STATECHANGE( DepthTest ); + + //////////////////////////////////////STATE CHANGE CHUNK////////////////////////////////////// StateChangeRegister * StateChangeRegister::m_Instance; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |