GlobeEngine
ge::Texture2D< T, PROPERTIES > Class Template Reference

#include <Texture.h>

Inheritance diagram for ge::Texture2D< T, PROPERTIES >:
ge::TextureType< 2, T, PROPERTIES > ge::TextureHandle ge::DepthTexture< T, PROPERTIES >

Public Member Functions

 Texture2D ()
 
GLuint loadEmptyWithDefaultParameter (vmml::Vector2s _dim, TextureTypeInternals _type, bool _allocateTexImage=true)
 
GLuint loadEmpty (const vmml::Vector2s &_dim, TextureTypeInternals _type, TextureMinMagParameters _minmag, TextureWrapParameter2D _wrap, bool _allocateTexImage=true)
 
GLuint load (const vmml::Vector2s &_dim, TextureTypeInternals _type, TextureMinMagParameters _minmag, TextureWrapParameter2D _wrap, T *_data)
 
GLuint loadWithDefaultParameter (const vmml::Vector2s &_dim, TextureTypeInternals _type, T *_data)
 
GLuint loadSynchWithDefaultParameter (const vmml::Vector2s &_dim, TextureTypeInternals _type, T *_data)
 
void preloadSyncWithDefaultParameter (const vmml::Vector2s &_dim, TextureTypeInternals _type, T *_data)
 
void preloadCommit ()
 
GLuint loadFromImage (std::string _filename)
 
void setTextureStorage (const vmml::Vector2s &_dim, GLsizei _levels, GLenum _internalFormat)
 
- Public Member Functions inherited from ge::TextureType< 2, T, PROPERTIES >
 TextureType ()
 
 ~TextureType ()
 
void clear ()
 
int countPixel () const
 
void setMinMagParameter (TextureMinMagParameters _minmag)
 
void generateMipMaps ()
 
void bindTextureForCompute (GLuint _unit, GLint _level, GLboolean _layered, GLint _layer, GLenum _access)
 
std::string getName ()
 
short getHeight () const
 
short getWidth () const
 
int getStorageSize () const
 
vmml::vector< D, short > getDimensions () const
 
GLint getInternalFormat () const
 
GLenum getFormat () const
 
GLenum getType () const
 
const T & getData () const
 
T * mapStoragePointer ()
 
- Public Member Functions inherited from ge::TextureHandle
 TextureHandle ()
 
virtual ~TextureHandle ()
 
void clear ()
 
void createHandle (GLenum _target)
 
void createFromExistingHandle (GLenum _target, GLuint _handle)
 
void bind (GLint _unit=-1) const
 
void unbind (GLint _unit=-1) const
 
GLenum getTarget () const
 
void overrideHandle (GLuint _handle)
 
GLuint getHandle () const
 
void deleteHandle ()
 
void bindTextureToShader (GLuint _shaderUnit, GLenum _internalFormat, GLenum _access=GL_READ_WRITE, GLint _texlevel=0, GLboolean _islayered=GL_FALSE, GLint _texlayer=0)
 
GLuint64 getBindlessHandle () const
 
BindlessState getBindlessState () const
 
void setBindlessHandle ()
 
void makeTextureResident ()
 
void makeTextureNonResident ()
 

Protected Member Functions

void loadImage (std::string _filename)
 
void setWrapParameter (TextureWrapParameter2D _wrap)
 
void setTextureData (T *_pixels)
 
- Protected Member Functions inherited from ge::TextureType< 2, T, PROPERTIES >
void loadDataToPBO (T *_data)
 
void unmapStoragePointer ()
 
void unpackPBO ()
 
void setSize (vmml::vector< D, short > _dim)
 
- Protected Member Functions inherited from ge::TextureHandle
void getOpenGLError (std::string _input)
 

Protected Attributes

std::shared_ptr< ge::ImageimageRef
 
- Protected Attributes inherited from ge::TextureType< 2, T, PROPERTIES >
vmml::vector< D, short > dim
 
T * data
 
std::string name
 
PROPERTIES properties
 
ge::PixelUnpackBuffer textureBuffer
 
- Protected Attributes inherited from ge::TextureHandle
GLenum target
 
GLuint handle
 
GLuint64 bindlessHandle
 
BindlessState bindlessState
 

Additional Inherited Members

- Public Types inherited from ge::TextureHandle
enum  eTEXTURE_TYPES {
  eNOTLOADED, eEMPTYTEXTURE, eEMPTYTEXTURE_R32, eEMPTYHDRTEXTURE,
  eEMPTYPICKINGTEXTURE, eEMPTY1DTEXTURE, eTEXTURE, eTEXTURE_R16,
  eTEXTURE_R32, eSHADOWMAP, eSTENCILTEX, eBUMPMAP,
  e1DTEXTUR, e3DTEXTUR
}
 
enum  BindlessState {
  NOHANDLE = 0, HANDLE, BINDLESSHANDLE, RESIDENT,
  NOTRESIDENT, INUSE
}
 
- Static Public Member Functions inherited from ge::TextureHandle
static void bindTextureHandle2DToUnit (GLuint _handle, GLint _unit)
 
static void unbindTextureHandle2DToUnit (GLuint _handle, GLint _unit)
 

Constructor & Destructor Documentation

template<typename T, typename PROPERTIES>
ge::Texture2D< T, PROPERTIES >::Texture2D ( )
inline

Member Function Documentation

template<typename T, typename PROPERTIES>
GLuint ge::Texture2D< T, PROPERTIES >::load ( const vmml::Vector2s &  _dim,
TextureTypeInternals  _type,
TextureMinMagParameters  _minmag,
TextureWrapParameter2D  _wrap,
T *  _data 
)
inline
template<typename T, typename PROPERTIES>
GLuint ge::Texture2D< T, PROPERTIES >::loadEmpty ( const vmml::Vector2s &  _dim,
TextureTypeInternals  _type,
TextureMinMagParameters  _minmag,
TextureWrapParameter2D  _wrap,
bool  _allocateTexImage = true 
)
inline
template<typename T, typename PROPERTIES>
GLuint ge::Texture2D< T, PROPERTIES >::loadEmptyWithDefaultParameter ( vmml::Vector2s  _dim,
TextureTypeInternals  _type,
bool  _allocateTexImage = true 
)
inline
template<typename T, typename PROPERTIES>
GLuint ge::Texture2D< T, PROPERTIES >::loadFromImage ( std::string  _filename)
inline
template<typename T, typename PROPERTIES>
void ge::Texture2D< T, PROPERTIES >::loadImage ( std::string  _filename)
inlineprotected
template<typename T, typename PROPERTIES>
GLuint ge::Texture2D< T, PROPERTIES >::loadSynchWithDefaultParameter ( const vmml::Vector2s &  _dim,
TextureTypeInternals  _type,
T *  _data 
)
inline
template<typename T, typename PROPERTIES>
GLuint ge::Texture2D< T, PROPERTIES >::loadWithDefaultParameter ( const vmml::Vector2s &  _dim,
TextureTypeInternals  _type,
T *  _data 
)
inline
template<typename T, typename PROPERTIES>
void ge::Texture2D< T, PROPERTIES >::preloadCommit ( )
inline
template<typename T, typename PROPERTIES>
void ge::Texture2D< T, PROPERTIES >::preloadSyncWithDefaultParameter ( const vmml::Vector2s &  _dim,
TextureTypeInternals  _type,
T *  _data 
)
inline
template<typename T, typename PROPERTIES>
void ge::Texture2D< T, PROPERTIES >::setTextureData ( T *  _pixels)
inlineprotectedvirtual
template<typename T, typename PROPERTIES>
void ge::Texture2D< T, PROPERTIES >::setTextureStorage ( const vmml::Vector2s &  _dim,
GLsizei  _levels,
GLenum  _internalFormat 
)
inline
template<typename T, typename PROPERTIES>
void ge::Texture2D< T, PROPERTIES >::setWrapParameter ( TextureWrapParameter2D  _wrap)
inlineprotected

Member Data Documentation

template<typename T, typename PROPERTIES>
std::shared_ptr<ge::Image> ge::Texture2D< T, PROPERTIES >::imageRef
protected

The documentation for this class was generated from the following file: