|
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.
|