scene.h

Go to the documentation of this file.
00001 //=============================================================================
00016 #ifndef __SCENE_H_ICNLDUDED__
00017 #define __SCENE_H_ICNLDUDED__
00018 
00019 #include "vector.h"
00020 
00021 // forward declarations
00022 class IModel;
00023 class IShader;
00024 class ICameraState;
00025 class ILightingState;
00026 class ITextureState;
00027 
00028 
00029 //=============================================================================
00030 //  IScene - manages test geometry and environment
00031 //=============================================================================
00032 
00039 class IScene
00040 {
00041 public:
00045     static IScene* create( void );
00046     virtual ~IScene( void ) {} 
00047 
00052     virtual void init( void ) = 0;
00053 
00056     virtual void shutdown( void ) = 0;
00057 
00060     virtual void render( void ) = 0;
00061 
00062 
00065     virtual ICameraState* getCameraState( void ) = 0;
00066 
00069     virtual ILightingState* getLightingState( void ) = 0;
00070 
00073     virtual ITextureState* getTextureState( void ) = 0;
00074 
00077     virtual IShader* getShader( void ) = 0;
00078 
00079 
00083     virtual void setClearColor( const vec4_t & color ) = 0;
00084 
00085 
00092     virtual void setCurrentModel( IModel* model ) = 0;
00093 
00095     virtual IModel* getCurrentModel( void ) = 0;
00096 
00097 
00103     virtual void setUseProgram( bool enable ) = 0;
00104 
00109     virtual void setShowOrigin( bool enable ) = 0;
00110 
00115     virtual void setShowNormals( bool enable ) = 0;
00116 
00121     virtual void setShowBoundingBox( bool enable ) = 0;
00122 
00127     virtual void setShowTangents( bool enable ) = 0;
00128 
00134     virtual void setWireframe( bool enable ) = 0;
00135 
00140     virtual void setBackFaceCulling( bool enable ) = 0;
00141 };
00142 
00143 
00144 #endif  // __SCENE_H_ICNLDUDED__

Generated on Sun Mar 2 17:12:31 2008 for Shader Maker by  doxygen 1.5.4