Open CASCADE Technology
6.9.0
|
Texture resource. More...
#include <OpenGl_Texture.hxx>
Public Member Functions | |
OpenGl_Texture (const Handle< Graphic3d_TextureParams > &theParams=NULL) | |
Create uninitialized VBO. More... | |
virtual | ~OpenGl_Texture () |
Destroy object. More... | |
bool | IsValid () const |
GLenum | GetTarget () const |
GLsizei | SizeX () const |
GLsizei | SizeY () const |
GLuint | TextureId () const |
GLenum | GetFormat () const |
bool | IsAlpha () const |
Return true for GL_RED and GL_ALPHA formats. More... | |
void | SetAlpha (const bool theValue) |
Setup to interprete the format as Alpha by Shader Manager (should be GL_ALPHA within compatible context or GL_RED otherwise). More... | |
bool | Create (const Handle< OpenGl_Context > &theCtx) |
Creates Texture id if not yet generated. Data should be initialized by another method. More... | |
virtual void | Release (OpenGl_Context *theCtx) |
Destroy object - will release GPU memory if any. More... | |
void | Bind (const Handle< OpenGl_Context > &theCtx, const GLenum theTextureUnit=GL_TEXTURE0) const |
Bind this Texture to specified unit. More... | |
void | Unbind (const Handle< OpenGl_Context > &theCtx, const GLenum theTextureUnit=GL_TEXTURE0) const |
Unbind texture from specified unit. More... | |
bool | Init (const Handle< OpenGl_Context > &theCtx, const Image_PixMap &theImage, const Graphic3d_TypeOfTexture theType) |
Notice that texture will be unbound after this call. More... | |
bool | Init (const Handle< OpenGl_Context > &theCtx, const GLint theTextFormat, const GLenum thePixelFormat, const GLenum theDataType, const GLsizei theSizeX, const GLsizei theSizeY, const Graphic3d_TypeOfTexture theType, const Image_PixMap *theImage=NULL) |
Initialize the texture with specified format, size and texture type. If theImage is empty the texture data will contain trash. Notice that texture will be unbound after this call. More... | |
bool | InitRectangle (const Handle< OpenGl_Context > &theCtx, const Standard_Integer theSizeX, const Standard_Integer theSizeY, const OpenGl_TextureFormat &theFormat) |
Allocates texture rectangle with specified format and size. More... | |
const Standard_Boolean | HasMipmaps () const |
const Handle < Graphic3d_TextureParams > & | GetParams () const |
void | SetParams (const Handle< Graphic3d_TextureParams > &theParams) |
![]() | |
OpenGl_Resource () | |
Empty constructor. More... | |
virtual | ~OpenGl_Resource () |
Destructor. Inheritors should call Clean (NULL) within it. More... | |
![]() | |
Standard_Transient () | |
Empty constructor. More... | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. More... | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. More... | |
virtual | ~Standard_Transient () |
Destructor must be virtual. More... | |
virtual void | Delete () const |
Memory deallocator for transient classes. More... | |
virtual const Handle_Standard_Type & | DynamicType () const |
Returns a type information object about this object. More... | |
Standard_Boolean | IsInstance (const Handle_Standard_Type &theType) const |
Returns a true value if this is an instance of Type. More... | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. More... | |
Standard_Boolean | IsKind (const Handle_Standard_Type &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
virtual Handle_Standard_Transient | This () const |
Returns a Handle which references this object. Must never be called to objects created in stack. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. More... | |
Static Public Member Functions | |
static bool | GetDataFormat (const Handle< OpenGl_Context > &theCtx, const Image_PixMap &theData, GLint &theTextFormat, GLenum &thePixelFormat, GLenum &theDataType) |
Return texture type and format by Image_PixMap data format. More... | |
Static Public Attributes | |
static const GLuint | NO_TEXTURE = 0 |
Helpful constants. More... | |
Protected Attributes | |
GLuint | myTextureId |
GL resource ID. More... | |
GLenum | myTarget |
GL_TEXTURE_1D/GL_TEXTURE_2D. More... | |
GLsizei | mySizeX |
texture width More... | |
GLsizei | mySizeY |
texture height More... | |
GLenum | myTextFormat |
texture format - GL_RGB, GL_RGBA,... More... | |
Standard_Boolean | myHasMipmaps |
flag indicates that texture was uploaded with mipmaps More... | |
bool | myIsAlpha |
indicates alpha format More... | |
Handle< Graphic3d_TextureParams > | myParams |
texture parameters More... | |
Texture resource.
OpenGl_Texture::OpenGl_Texture | ( | const Handle< Graphic3d_TextureParams > & | theParams = NULL | ) |
Create uninitialized VBO.
|
virtual |
Destroy object.
void OpenGl_Texture::Bind | ( | const Handle< OpenGl_Context > & | theCtx, |
const GLenum | theTextureUnit = GL_TEXTURE0 |
||
) | const |
Bind this Texture to specified unit.
bool OpenGl_Texture::Create | ( | const Handle< OpenGl_Context > & | theCtx | ) |
Creates Texture id if not yet generated. Data should be initialized by another method.
|
static |
Return texture type and format by Image_PixMap data format.
|
inline |
const Handle< Graphic3d_TextureParams >& OpenGl_Texture::GetParams | ( | ) | const |
|
inline |
const Standard_Boolean OpenGl_Texture::HasMipmaps | ( | ) | const |
bool OpenGl_Texture::Init | ( | const Handle< OpenGl_Context > & | theCtx, |
const Image_PixMap & | theImage, | ||
const Graphic3d_TypeOfTexture | theType | ||
) |
Notice that texture will be unbound after this call.
bool OpenGl_Texture::Init | ( | const Handle< OpenGl_Context > & | theCtx, |
const GLint | theTextFormat, | ||
const GLenum | thePixelFormat, | ||
const GLenum | theDataType, | ||
const GLsizei | theSizeX, | ||
const GLsizei | theSizeY, | ||
const Graphic3d_TypeOfTexture | theType, | ||
const Image_PixMap * | theImage = NULL |
||
) |
Initialize the texture with specified format, size and texture type. If theImage is empty the texture data will contain trash. Notice that texture will be unbound after this call.
bool OpenGl_Texture::InitRectangle | ( | const Handle< OpenGl_Context > & | theCtx, |
const Standard_Integer | theSizeX, | ||
const Standard_Integer | theSizeY, | ||
const OpenGl_TextureFormat & | theFormat | ||
) |
Allocates texture rectangle with specified format and size.
|
inline |
Return true for GL_RED and GL_ALPHA formats.
|
inline |
|
virtual |
Destroy object - will release GPU memory if any.
Implements OpenGl_Resource.
Reimplemented in OpenGl_PointSprite.
|
inline |
Setup to interprete the format as Alpha by Shader Manager (should be GL_ALPHA within compatible context or GL_RED otherwise).
void OpenGl_Texture::SetParams | ( | const Handle< Graphic3d_TextureParams > & | theParams | ) |
texture | parameters |
|
inline |
|
inline |
|
inline |
void OpenGl_Texture::Unbind | ( | const Handle< OpenGl_Context > & | theCtx, |
const GLenum | theTextureUnit = GL_TEXTURE0 |
||
) | const |
Unbind texture from specified unit.
|
protected |
flag indicates that texture was uploaded with mipmaps
|
protected |
indicates alpha format
|
protected |
texture parameters
|
protected |
texture width
|
protected |
texture height
|
protected |
GL_TEXTURE_1D/GL_TEXTURE_2D.
|
protected |
texture format - GL_RGB, GL_RGBA,...
|
protected |
GL resource ID.
|
static |
Helpful constants.