gKitGL
|
00001 00002 #ifndef _GKTEXTURE_MANAGER_H 00003 #define _GKTEXTURE_MANAGER_H 00004 00005 #include "GLManager.h" 00006 #include "GL/GLPlatform.h" 00007 #include "GL/TPTexture.h" 00008 00009 00010 namespace gk { 00011 00012 //! \ingroup openGL 00013 //@{ 00014 00015 //! gestion 'auto' des ressources openGL : pour les textures couleurs. 00016 inline 00017 GLTexture2D *createTexture2D( const int unit, const int w, const int h, const TextureFormat& format= TextureRGBA ) 00018 { 00019 return GLManager<GLTexture2D>::manager().insert( 00020 new GLTexture2D(unit, w, h, format) ); 00021 } 00022 00023 //! gestion 'auto' des ressources openGL : pour les textures couleurs. 00024 inline 00025 GLTexture2D *createTexture2D( const int unit, const HDRImage *image, const TextureFormat& format= TextureRGBA32F ) 00026 { 00027 return GLManager<GLTexture2D>::manager().insert( 00028 new GLTexture2D(unit, image, format) ); 00029 } 00030 00031 //! gestion 'auto' des ressources openGL : pour les textures couleurs. 00032 inline 00033 GLTexture2D *createTexture2D( const int unit, const Image *image, const TextureFormat& format= TextureRGBA ) 00034 { 00035 return GLManager<GLTexture2D>::manager().insert( 00036 new GLTexture2D(unit, image, format) ); 00037 } 00038 00039 //! gestion 'auto' des ressources openGL : pour les textures profondeur. 00040 inline 00041 GLDepthTexture *createDepthTexture( const int unit, const int w, const int h, const TextureFormat& format= TextureDepth ) 00042 { 00043 return GLManager<GLDepthTexture>::manager().insert( 00044 new GLDepthTexture(unit, w, h, format) ); 00045 } 00046 00047 00048 //! gestion 'auto' des ressources openGL : pour les tableaux de textures 2d. 00049 inline 00050 GLTexture2DArray *createTexture2DArray( const int unit, const int w, const int h, const int count, const TextureFormat& format= TextureRGBA ) 00051 { 00052 return GLManager<GLTexture2DArray>::manager().insert( 00053 new GLTexture2DArray(unit, w, h, count, format) ); 00054 } 00055 00056 //! gestion 'auto' des ressources openGL : pour les tableaux de textures 2d. 00057 inline 00058 GLTexture2DArray *createTexture2DArray( const int unit, const HDRImageArray *images, const TextureFormat& format= TextureRGBA32F ) 00059 { 00060 return GLManager<GLTexture2DArray>::manager().insert( 00061 new GLTexture2DArray(unit, images, format) ); 00062 } 00063 00064 //! gestion 'auto' des ressources openGL : pour les tableaux de textures 2d. 00065 inline 00066 GLTexture2DArray *createTexture2DArray( const int unit, const ImageArray *images, const TextureFormat& format= TextureRGBA ) 00067 { 00068 return GLManager<GLTexture2DArray>::manager().insert( 00069 new GLTexture2DArray(unit, images, format) ); 00070 } 00071 00072 //! \todo other types of textures declared in GL/TPTexture.h 00073 00074 //@} 00075 } 00076 00077 #endif