gKitGL
GLResource.h
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
 All Classes Namespaces Functions Variables Typedefs Enumerator Friends