gKitGL
|
00001 00002 #ifndef _GLRESOURCE_H 00003 #define _GLRESOURCE_H 00004 00005 #include "GL/GLPlatform.h" 00006 00007 00008 namespace gk { 00009 00010 //! \defgroup openGL gestion des objets openGL. 00011 //@{ 00012 00013 //! classe de base des resources openGL, referencees par l'application, proprietes du contexte openGL. cf \ref GLResource, gestion des objets openGL. 00014 class GLResource 00015 { 00016 //! non copyable. 00017 GLResource( const GLResource& ); 00018 //! non copyable. 00019 GLResource& operator=( const GLResource& ); 00020 00021 protected: 00022 GLuint m_name; 00023 00024 public: 00025 GLResource( ) 00026 : 00027 m_name(0) 00028 {} 00029 00030 virtual ~GLResource( ) {} 00031 00032 //! comportement par defaut, necessaire pour GLManager, a redefinir dans les classes derivees. 00033 virtual int createGLResource( )= 0; 00034 00035 //! comportement par defaut, necessaire pour GLManager, a redefinir dans les classes derivees. 00036 virtual int releaseGLResource( )= 0; 00037 00038 //! renvoie l'identifiant de l'objet openGL. 00039 GLuint name( ) const 00040 { 00041 return m_name; 00042 } 00043 }; 00044 // @} 00045 00046 } // namespace 00047 00048 #endif