GlobeEngine
ge::TextureType< D, T, PROPERTIES > Class Template Referenceabstract

#include <Texture.h>

Inheritance diagram for ge::TextureType< D, T, PROPERTIES >:
ge::TextureHandle

Public Member Functions

 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

virtual void setTextureData (T *_pixels)=0
 
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

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
 

Friends

std::ostream & operator<< (std::ostream &out, const TextureType< D, T, PROPERTIES > &tex)
 

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<int D, typename T, typename PROPERTIES>
ge::TextureType< D, T, PROPERTIES >::TextureType ( )
inline
template<int D, typename T, typename PROPERTIES>
ge::TextureType< D, T, PROPERTIES >::~TextureType ( )
inline

Member Function Documentation

template<int D, typename T, typename PROPERTIES>
void ge::TextureType< D, T, PROPERTIES >::bindTextureForCompute ( GLuint  _unit,
GLint  _level,
GLboolean  _layered,
GLint  _layer,
GLenum  _access 
)
inline
template<int D, typename T, typename PROPERTIES>
void ge::TextureType< D, T, PROPERTIES >::clear ( )
inline
template<int D, typename T, typename PROPERTIES>
int ge::TextureType< D, T, PROPERTIES >::countPixel ( ) const
inline
template<int D, typename T, typename PROPERTIES>
void ge::TextureType< D, T, PROPERTIES >::generateMipMaps ( )
inline
template<int D, typename T, typename PROPERTIES>
const T& ge::TextureType< D, T, PROPERTIES >::getData ( ) const
inline
template<int D, typename T, typename PROPERTIES>
vmml::vector< D, short> ge::TextureType< D, T, PROPERTIES >::getDimensions ( ) const
inline
template<int D, typename T, typename PROPERTIES>
GLenum ge::TextureType< D, T, PROPERTIES >::getFormat ( ) const
inline
template<int D, typename T, typename PROPERTIES>
short ge::TextureType< D, T, PROPERTIES >::getHeight ( ) const
inline
template<int D, typename T, typename PROPERTIES>
GLint ge::TextureType< D, T, PROPERTIES >::getInternalFormat ( ) const
inline
template<int D, typename T, typename PROPERTIES>
std::string ge::TextureType< D, T, PROPERTIES >::getName ( )
inline
template<int D, typename T, typename PROPERTIES>
int ge::TextureType< D, T, PROPERTIES >::getStorageSize ( ) const
inline
template<int D, typename T, typename PROPERTIES>
GLenum ge::TextureType< D, T, PROPERTIES >::getType ( ) const
inline
template<int D, typename T, typename PROPERTIES>
short ge::TextureType< D, T, PROPERTIES >::getWidth ( ) const
inline
template<int D, typename T, typename PROPERTIES>
void ge::TextureType< D, T, PROPERTIES >::loadDataToPBO ( T *  _data)
inlineprotected
template<int D, typename T, typename PROPERTIES>
T* ge::TextureType< D, T, PROPERTIES >::mapStoragePointer ( )
inline
template<int D, typename T, typename PROPERTIES>
void ge::TextureType< D, T, PROPERTIES >::setMinMagParameter ( TextureMinMagParameters  _minmag)
inline
template<int D, typename T, typename PROPERTIES>
void ge::TextureType< D, T, PROPERTIES >::setSize ( vmml::vector< D, short >  _dim)
inlineprotected
template<int D, typename T, typename PROPERTIES>
virtual void ge::TextureType< D, T, PROPERTIES >::setTextureData ( T *  _pixels)
protectedpure virtual
template<int D, typename T, typename PROPERTIES>
void ge::TextureType< D, T, PROPERTIES >::unmapStoragePointer ( )
inlineprotected
template<int D, typename T, typename PROPERTIES>
void ge::TextureType< D, T, PROPERTIES >::unpackPBO ( )
inlineprotected

Friends And Related Function Documentation

template<int D, typename T, typename PROPERTIES>
std::ostream& operator<< ( std::ostream &  out,
const TextureType< D, T, PROPERTIES > &  tex 
)
friend

Member Data Documentation

template<int D, typename T, typename PROPERTIES>
T* ge::TextureType< D, T, PROPERTIES >::data
protected
template<int D, typename T, typename PROPERTIES>
vmml::vector< D, short> ge::TextureType< D, T, PROPERTIES >::dim
protected
template<int D, typename T, typename PROPERTIES>
std::string ge::TextureType< D, T, PROPERTIES >::name
protected
template<int D, typename T, typename PROPERTIES>
PROPERTIES ge::TextureType< D, T, PROPERTIES >::properties
protected
template<int D, typename T, typename PROPERTIES>
ge::PixelUnpackBuffer ge::TextureType< D, T, PROPERTIES >::textureBuffer
protected

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