|
Crazy Eddie's GUI System
${CEGUI_VERSION}
|
Texture implementation for the OpenGLRenderer. More...
Inheritance diagram for CEGUI::OpenGLTexture:
Collaboration diagram for CEGUI::OpenGLTexture:Public Member Functions | |
| void | setOpenGLTexture (GLuint tex, const Sizef &size) |
| set the openGL texture that this Texture is based on to the specified texture, with the specified size. | |
| GLuint | getOpenGLTexture () const |
| Return the internal OpenGL texture id used by this Texture object. More... | |
| void | setTextureSize (const Sizef &sz) |
| set the size of the internal texture. More... | |
| void | grabTexture () |
| Grab the texture to a local buffer. More... | |
| void | restoreTexture () |
| Restore the texture from the locally buffered copy previously create by a call to grabTexture. | |
| const String & | getName () const |
| Returns the name given to the texture when it was created. More... | |
| const Sizef & | getSize () const |
| Returns the current pixel size of the texture. More... | |
| const Sizef & | getOriginalDataSize () const |
| Returns the original pixel size of the data loaded into the texture. More... | |
| const Vector2f & | getTexelScaling () const |
| Returns pixel to texel scale values that should be used for converting pixel values to texture co-ords. More... | |
| void | loadFromFile (const String &filename, const String &resourceGroup) |
| Loads the specified image file into the texture. The texture is resized as required to hold the image. More... | |
| void | loadFromMemory (const void *buffer, const Sizef &buffer_size, PixelFormat pixel_format) |
| Loads (copies) an image in memory into the texture. The texture is resized as required to hold the image. More... | |
| void | blitFromMemory (const void *sourceData, const Rectf &area) |
| Performs an area memory blit to the texture. More... | |
| void | blitToMemory (void *targetData) |
| Performs a complete blit from the texture surface to memory. More... | |
| bool | isPixelFormatSupported (const PixelFormat fmt) const |
| Return whether the specified pixel format is supported by the system for the CEGUI::Texture implementation. More... | |
| void | setOpenGLTexture (GLuint tex, const Sizef &size) |
| set the openGL texture that this Texture is based on to the specified texture, with the specified size. | |
| GLuint | getOpenGLTexture () const |
| Return the internal OpenGL texture id used by this Texture object. More... | |
| void | setTextureSize (const Sizef &sz) |
| set the size of the internal texture. More... | |
| void | grabTexture () |
| Grab the texture to a local buffer. More... | |
| void | restoreTexture () |
| Restore the texture from the locally buffered copy previously create by a call to grabTexture. | |
| const String & | getName () const |
| Returns the name given to the texture when it was created. More... | |
| const Sizef & | getSize () const |
| Returns the current pixel size of the texture. More... | |
| const Sizef & | getOriginalDataSize () const |
| Returns the original pixel size of the data loaded into the texture. More... | |
| const Vector2f & | getTexelScaling () const |
| Returns pixel to texel scale values that should be used for converting pixel values to texture co-ords. More... | |
| void | loadFromFile (const String &filename, const String &resourceGroup) |
| Loads the specified image file into the texture. The texture is resized as required to hold the image. More... | |
| void | loadFromMemory (const void *buffer, const Sizef &buffer_size, PixelFormat pixel_format) |
| Loads (copies) an image in memory into the texture. The texture is resized as required to hold the image. More... | |
| void | blitFromMemory (const void *sourceData, const Rectf &area) |
| Performs an area memory blit to the texture. More... | |
| void | blitToMemory (void *targetData) |
| Performs a complete blit from the texture surface to memory. More... | |
| bool | isPixelFormatSupported (const PixelFormat fmt) const |
| Return whether the specified pixel format is supported by the system for the CEGUI::Texture implementation. More... | |
Public Member Functions inherited from CEGUI::Texture | |
| virtual | ~Texture () |
| Destructor for Texture base class. | |
| virtual | ~Texture () |
| Destructor for Texture base class. | |
Protected Member Functions | |
| OpenGLTexture (OpenGLRendererBase &owner, const String &name) | |
| Basic constructor. | |
| OpenGLTexture (OpenGLRendererBase &owner, const String &name, const String &filename, const String &resourceGroup) | |
| Constructor that creates a Texture from an image file. | |
| OpenGLTexture (OpenGLRendererBase &owner, const String &name, const Sizef &size) | |
| Constructor that creates a Texture with a given size. | |
| OpenGLTexture (OpenGLRendererBase &owner, const String &name, GLuint tex, const Sizef &size) | |
| Constructor that wraps an existing GL texture. | |
| virtual | ~OpenGLTexture () |
| Destructor. | |
| void | generateOpenGLTexture () |
| generate the OpenGL texture and set some initial options. | |
| void | updateCachedScaleValues () |
| updates cached scale value used to map pixels to texture co-ords. | |
| void | cleanupOpenGLTexture () |
| clean up the GL texture, or the grab buffer if it had been grabbed | |
| void | initInternalPixelFormatFields (const PixelFormat fmt) |
| initialise the internal format flags for the given CEGUI::PixelFormat. | |
| void | setTextureSize_impl (const Sizef &sz) |
| internal texture resize function (does not reset format or other fields) | |
| void | loadUncompressedTextureBuffer (const Rectf &dest_area, const GLvoid *buffer) const |
| void | loadCompressedTextureBuffer (const Rectf &dest_area, const GLvoid *buffer) const |
| GLsizei | getCompressedTextureSize (const Sizef &pixel_size) const |
| OpenGLTexture (OpenGLRendererBase &owner, const String &name) | |
| Basic constructor. | |
| OpenGLTexture (OpenGLRendererBase &owner, const String &name, const String &filename, const String &resourceGroup) | |
| Constructor that creates a Texture from an image file. | |
| OpenGLTexture (OpenGLRendererBase &owner, const String &name, const Sizef &size) | |
| Constructor that creates a Texture with a given size. | |
| OpenGLTexture (OpenGLRendererBase &owner, const String &name, GLuint tex, const Sizef &size) | |
| Constructor that wraps an existing GL texture. | |
| virtual | ~OpenGLTexture () |
| Destructor. | |
| void | generateOpenGLTexture () |
| generate the OpenGL texture and set some initial options. | |
| void | updateCachedScaleValues () |
| updates cached scale value used to map pixels to texture co-ords. | |
| void | cleanupOpenGLTexture () |
| clean up the GL texture, or the grab buffer if it had been grabbed | |
| void | initInternalPixelFormatFields (const PixelFormat fmt) |
| initialise the internal format flags for the given CEGUI::PixelFormat. | |
| void | setTextureSize_impl (const Sizef &sz) |
| internal texture resize function (does not reset format or other fields) | |
| void | loadUncompressedTextureBuffer (const Rectf &dest_area, const GLvoid *buffer) const |
| void | loadCompressedTextureBuffer (const Rectf &dest_area, const GLvoid *buffer) const |
| GLsizei | getCompressedTextureSize (const Sizef &pixel_size) const |
Protected Attributes | |
| GLuint | d_ogltexture |
| The OpenGL texture we're wrapping. | |
| Sizef | d_size |
| Size of the texture. | |
| uint8 * | d_grabBuffer |
| cached image data for restoring the texture. | |
| Sizef | d_dataSize |
| original pixel of size data loaded into texture | |
| Vector2f | d_texelScaling |
| cached pixel to texel mapping scale values. | |
| OpenGLRendererBase & | d_owner |
| OpenGLRenderer that created and owns this OpenGLTexture. | |
| const String | d_name |
| The name given for this texture. | |
| GLenum | d_format |
| Texture format. | |
| GLenum | d_subpixelFormat |
| Texture subpixel format. | |
| bool | d_isCompressed |
| Whether Texture format is a compressed format. | |
Friends | |
| Texture & | OpenGLRendererBase::createTexture (const String &) |
| Texture & | OpenGLRendererBase::createTexture (const String &, const String &, const String &) |
| Texture & | OpenGLRendererBase::createTexture (const String &, const Sizef &) |
| Texture & | OpenGLRendererBase::createTexture (const String &, GLuint, const Sizef &) |
| void | OpenGLRendererBase::destroyTexture (Texture &) |
| void | OpenGLRendererBase::destroyTexture (const String &) |
| Texture & | OpenGLRendererBase::createTexture (const String &) |
| Texture & | OpenGLRendererBase::createTexture (const String &, const String &, const String &) |
| Texture & | OpenGLRendererBase::createTexture (const String &, const Sizef &) |
| Texture & | OpenGLRendererBase::createTexture (const String &, GLuint, const Sizef &) |
| void | OpenGLRendererBase::destroyTexture (Texture &) |
| void | OpenGLRendererBase::destroyTexture (const String &) |
Additional Inherited Members | |
Public Types inherited from CEGUI::Texture | |
| enum | PixelFormat { PF_RGB, PF_RGBA, PF_RGBA_4444, PF_RGB_565, PF_PVRTC2, PF_PVRTC4, PF_RGB_DXT1, PF_RGBA_DXT1, PF_RGBA_DXT3, PF_RGBA_DXT5, PF_RGB, PF_RGBA, PF_RGBA_4444, PF_RGB_565, PF_PVRTC2, PF_PVRTC4, PF_RGB_DXT1, PF_RGBA_DXT1, PF_RGBA_DXT3, PF_RGBA_DXT5 } |
| Enumerated type containing the supported pixel formats that can be passed to loadFromMemory. More... | |
| enum | PixelFormat { PF_RGB, PF_RGBA, PF_RGBA_4444, PF_RGB_565, PF_PVRTC2, PF_PVRTC4, PF_RGB_DXT1, PF_RGBA_DXT1, PF_RGBA_DXT3, PF_RGBA_DXT5, PF_RGB, PF_RGBA, PF_RGBA_4444, PF_RGB_565, PF_PVRTC2, PF_PVRTC4, PF_RGB_DXT1, PF_RGBA_DXT1, PF_RGBA_DXT3, PF_RGBA_DXT5 } |
| Enumerated type containing the supported pixel formats that can be passed to loadFromMemory. More... | |
Texture implementation for the OpenGLRenderer.
|
virtual |
Performs an area memory blit to the texture.
| sourceData | input data, the size must match area described by the given Rect |
| area | area where the blit will happen |
Implements CEGUI::Texture.
References d_isCompressed, and d_ogltexture.
Referenced by loadFromMemory(), and restoreTexture().
|
virtual |
Performs an area memory blit to the texture.
| sourceData | input data, the size must match area described by the given Rect |
| area | area where the blit will happen |
Implements CEGUI::Texture.
|
virtual |
Performs a complete blit from the texture surface to memory.
| targetData | the buffer where the target is stored |
Implements CEGUI::Texture.
|
virtual |
Performs a complete blit from the texture surface to memory.
| targetData | the buffer where the target is stored |
Implements CEGUI::Texture.
References d_format, d_isCompressed, d_ogltexture, and d_subpixelFormat.
Referenced by grabTexture().
|
virtual |
Returns the name given to the texture when it was created.
Implements CEGUI::Texture.
References d_name.
|
virtual |
Returns the name given to the texture when it was created.
Implements CEGUI::Texture.
| GLuint CEGUI::OpenGLTexture::getOpenGLTexture | ( | ) | const |
Return the internal OpenGL texture id used by this Texture object.
| GLuint CEGUI::OpenGLTexture::getOpenGLTexture | ( | ) | const |
Return the internal OpenGL texture id used by this Texture object.
References d_ogltexture.
Referenced by CEGUI::OpenGLGeometryBufferBase::performBatchManagement().
|
virtual |
Returns the original pixel size of the data loaded into the texture.
Implements CEGUI::Texture.
References d_dataSize.
|
virtual |
Returns the original pixel size of the data loaded into the texture.
Implements CEGUI::Texture.
|
virtual |
Returns the current pixel size of the texture.
Implements CEGUI::Texture.
|
virtual |
Returns the current pixel size of the texture.
Implements CEGUI::Texture.
References d_size.
|
virtual |
Returns pixel to texel scale values that should be used for converting pixel values to texture co-ords.
Implements CEGUI::Texture.
|
virtual |
Returns pixel to texel scale values that should be used for converting pixel values to texture co-ords.
Implements CEGUI::Texture.
References d_texelScaling.
| void CEGUI::OpenGLTexture::grabTexture | ( | ) |
Grab the texture to a local buffer.
This will destroy the OpenGL texture, and restoreTexture must be called before using it again.
References blitToMemory(), d_grabBuffer, d_ogltexture, and d_size.
| void CEGUI::OpenGLTexture::grabTexture | ( | ) |
Grab the texture to a local buffer.
This will destroy the OpenGL texture, and restoreTexture must be called before using it again.
|
virtual |
Return whether the specified pixel format is supported by the system for the CEGUI::Texture implementation.
The result of this call will vary according to the implementaion API and the capabilities of the hardware.
| fmt | One of the PixelFormat enumerated values specifying the pixel format that is to be tested. |
Implements CEGUI::Texture.
|
virtual |
Return whether the specified pixel format is supported by the system for the CEGUI::Texture implementation.
The result of this call will vary according to the implementaion API and the capabilities of the hardware.
| fmt | One of the PixelFormat enumerated values specifying the pixel format that is to be tested. |
Implements CEGUI::Texture.
References d_owner, CEGUI::OpenGLRendererBase::isS3TCSupported(), CEGUI::Texture::PF_RGB, CEGUI::Texture::PF_RGB_565, CEGUI::Texture::PF_RGB_DXT1, CEGUI::Texture::PF_RGBA, CEGUI::Texture::PF_RGBA_4444, CEGUI::Texture::PF_RGBA_DXT1, CEGUI::Texture::PF_RGBA_DXT3, and CEGUI::Texture::PF_RGBA_DXT5.
Referenced by loadFromMemory().
|
virtual |
Loads the specified image file into the texture. The texture is resized as required to hold the image.
| filename | The filename of the image file that is to be loaded into the texture |
| resourceGroup | Resource group identifier to be passed to the resource provider when loading the image file. |
Implements CEGUI::Texture.
|
virtual |
Loads the specified image file into the texture. The texture is resized as required to hold the image.
| filename | The filename of the image file that is to be loaded into the texture |
| resourceGroup | Resource group identifier to be passed to the resource provider when loading the image file. |
Implements CEGUI::Texture.
References CEGUI::ImageCodec::getIdentifierString(), CEGUI::System::getImageCodec(), CEGUI::System::getResourceProvider(), CEGUI::System::getSingleton(), CEGUI::System::getSingletonPtr(), and CEGUI::ImageCodec::load().
Referenced by OpenGLTexture().
|
virtual |
Loads (copies) an image in memory into the texture. The texture is resized as required to hold the image.
| buffer | Pointer to the buffer containing the image data. |
| buffer_size | Size of the buffer (in pixels as specified by pixelFormat) |
| pixel_format | PixelFormat value describing the format contained in buffPtr. |
Implements CEGUI::Texture.
References blitFromMemory(), d_dataSize, d_format, d_subpixelFormat, CEGUI::Rect< T >::getHeight(), CEGUI::Rect< T >::getSize(), CEGUI::Rect< T >::getWidth(), initInternalPixelFormatFields(), isPixelFormatSupported(), setTextureSize_impl(), and updateCachedScaleValues().
|
virtual |
Loads (copies) an image in memory into the texture. The texture is resized as required to hold the image.
| buffer | Pointer to the buffer containing the image data. |
| buffer_size | Size of the buffer (in pixels as specified by pixelFormat) |
| pixel_format | PixelFormat value describing the format contained in buffPtr. |
Implements CEGUI::Texture.
| void CEGUI::OpenGLTexture::setTextureSize | ( | const Sizef & | sz | ) |
set the size of the internal texture.
| sz | size for the internal texture, in pixels. |
| RendererException | thrown if the hardware is unable to support a texture large enough to fulfill the requested size. |
| void CEGUI::OpenGLTexture::setTextureSize | ( | const Sizef & | sz | ) |
set the size of the internal texture.
| sz | size for the internal texture, in pixels. |
| RendererException | thrown if the hardware is unable to support a texture large enough to fulfill the requested size. |
References d_dataSize, d_size, initInternalPixelFormatFields(), CEGUI::Texture::PF_RGBA, setTextureSize_impl(), and updateCachedScaleValues().
Referenced by OpenGLTexture().