Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

# osg::TextureRectangle Class Reference

Texture state class which encapsulates OpenGL texture functionality. More...

Inheritance diagram for osg::TextureRectangle:

[legend]
List of all members.

## Public Member Functions
| TextureRectangle ()
| TextureRectangle (Image *image)
| TextureRectangle (const TextureRectangle &text, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
| Copy constructor using CopyOp to manage deep vs shallow copy.
| META_StateAttribute (osg, TextureRectangle, TEXTURE)
virtual int | compare (const StateAttribute &rhs) const
| Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.
virtual GLenum | getTextureTarget () const
void | setImage (Image *image)
| Set the texture image.
Image * | getImage ()
| Get the texture image.
const Image * | getImage () const
| Get the const texture image.
unsigned int & | getModifiedCount (unsigned int contextID) const
virtual void | setImage (unsigned int, Image *image)
| Set the texture image, ignoring face value as there is only one image.
virtual Image * | getImage (unsigned int)
| Get the texture image, ignoring face value as there is only one image.
virtual const Image * | getImage (unsigned int) const
| Get the const texture image, ignoring face value as there is only one image.
virtual unsigned int | getNumImages () const
| Get the number of images that can be assigned to the Texture.
void | setTextureSize (int width, int height) const
| Set the texture width and height.
void | setTextureWidth (int width)
int | getTextureWidth () const
void | setTextureHeight (int height)
int | getTextureHeight () const
void | setSubloadCallback (SubloadCallback *cb)
SubloadCallback * | getSubloadCallback ()
const SubloadCallback * | getSubloadCallback () const
void | copyTexImage2D (State &state, int x, int y, int width, int height)
| Copies pixels into a 2D texture image, as per glCopyTexImage2D.
void | copyTexSubImage2D (State &state, int xoffset, int yoffset, int x, int y, int width, int height)
| Copies a two-dimensional texture subimage, as per glCopyTexSubImage2D.
virtual void | apply (State &state) const
| On first apply (unless already compiled), create and bind the texture, subsequent apply will simply bind to texture.
## Protected Types
typedef buffered_value< unsigned int > | ImageModifiedCount
## Protected Member Functions
virtual | ~TextureRectangle ()
virtual void | computeInternalFormat () const
void | applyTexParameters (GLenum target, State &state) const
| Helper method.
void | applyTexImage_load (GLenum target, Image *image, State &state, GLsizei &inwidth, GLsizei &inheight) const
void | applyTexImage_subload (GLenum target, Image *image, State &state, GLsizei &inwidth, GLsizei &inheight, GLint &inInternalFormat) const
## Protected Attributes
ref_ptr< Image > | _image
GLsizei | _textureWidth
GLsizei | _textureHeight
ref_ptr< SubloadCallback > | _subloadCallback
ImageModifiedCount | _modifiedCount

## Detailed Description

Texture state class which encapsulates OpenGL texture functionality.

## Member Typedef Documentation

typedef buffered_value<unsigned int> osg::TextureRectangle::ImageModifiedCount`[protected]`

## Constructor & Destructor Documentation

osg::TextureRectangle::TextureRectangle | ( |  | ) |

osg::TextureRectangle::TextureRectangle | ( | Image * | image | ) |

osg::TextureRectangle::TextureRectangle | ( | const TextureRectangle & | text,
|  | const CopyOp & | copyop = CopyOp::SHALLOW_COPY
| ) |

| Copy constructor using CopyOp to manage deep vs shallow copy.

virtual osg::TextureRectangle::~TextureRectangle | ( |  | ) | `[protected, virtual]`

## Member Function Documentation

virtual void osg::TextureRectangle::apply | ( | State & | state | ) | const`[virtual]`

| On first apply (unless already compiled), create and bind the texture, subsequent apply will simply bind to texture. Implements osg::Texture.

void osg::TextureRectangle::applyTexImage_load | ( | GLenum | target,
|  | Image * | image,
|  | State & | state,
|  | GLsizei & | inwidth,
|  | GLsizei & | inheight
| ) | const`[protected]`

void osg::TextureRectangle::applyTexImage_subload | ( | GLenum | target,
|  | Image * | image,
|  | State & | state,
|  | GLsizei & | inwidth,
|  | GLsizei & | inheight,
|  | GLint & | inInternalFormat
| ) | const`[protected]`

void osg::TextureRectangle::applyTexParameters | ( | GLenum | target,
|  | State & | state
| ) | const`[protected]`

| Helper method. Sets texture paramters. Reimplemented from osg::Texture.

virtual int osg::TextureRectangle::compare | ( | const StateAttribute & | rhs | ) | const`[virtual]`

| Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. Implements osg::StateAttribute.

virtual void osg::TextureRectangle::computeInternalFormat | ( |  | ) | const`[protected, virtual]`

| Implements osg::Texture.

void osg::TextureRectangle::copyTexImage2D | ( | State & | state,
|  | int | x,
|  | int | y,
|  | int | width,
|  | int | height
| ) |

| Copies pixels into a 2D texture image, as per glCopyTexImage2D. Creates an OpenGL texture object from the current OpenGL background framebuffer contents at position x, y with width width and height height. width and height must be a power of two.

void osg::TextureRectangle::copyTexSubImage2D | ( | State & | state,
|  | int | xoffset,
|  | int | yoffset,
|  | int | x,
|  | int | y,
|  | int | width,
|  | int | height
| ) |

| Copies a two-dimensional texture subimage, as per glCopyTexSubImage2D. Updates a portion of an existing OpenGL texture object from the current OpenGL background framebuffer contents at position x, y with width width and height height. Loads framebuffer data into the texture using offsets xoffset and yoffset. width and height must be powers of two.

virtual const Image* osg::TextureRectangle::getImage | ( | unsigned | int | ) | const`[inline, virtual]`

| Get the const texture image, ignoring face value as there is only one image. Implements osg::Texture.

virtual Image* osg::TextureRectangle::getImage | ( | unsigned | int | ) | `[inline, virtual]`

| Get the texture image, ignoring face value as there is only one image. Implements osg::Texture.

const Image* osg::TextureRectangle::getImage | ( |  | ) | const`[inline]`

| Get the const texture image.

Image* osg::TextureRectangle::getImage | ( |  | ) | `[inline]`

| Get the texture image.

unsigned int& osg::TextureRectangle::getModifiedCount | ( | unsigned int | contextID | ) | const`[inline]`

virtual unsigned int osg::TextureRectangle::getNumImages | ( |  | ) | const`[inline, virtual]`

| Get the number of images that can be assigned to the Texture. Implements osg::Texture.

const SubloadCallback* osg::TextureRectangle::getSubloadCallback | ( |  | ) | const`[inline]`

SubloadCallback* osg::TextureRectangle::getSubloadCallback | ( |  | ) | `[inline]`

int osg::TextureRectangle::getTextureHeight | ( |  | ) | const`[inline]`

virtual GLenum osg::TextureRectangle::getTextureTarget | ( |  | ) | const`[inline, virtual]`

| Implements osg::Texture.

int osg::TextureRectangle::getTextureWidth | ( |  | ) | const`[inline]`

osg::TextureRectangle::META_StateAttribute | ( | osg | ,
|  | TextureRectangle | ,
|  | TEXTURE |
| ) |

virtual void osg::TextureRectangle::setImage | ( | unsigned | int,
|  | Image * | image
| ) | `[inline, virtual]`

| Set the texture image, ignoring face value as there is only one image. Implements osg::Texture.

void osg::TextureRectangle::setImage | ( | Image * | image | ) |

| Set the texture image.

void osg::TextureRectangle::setSubloadCallback | ( | SubloadCallback * | cb | ) | `[inline]`

void osg::TextureRectangle::setTextureHeight | ( | int | height | ) | `[inline]`

void osg::TextureRectangle::setTextureSize | ( | int | width,
|  | int | height
| ) | const`[inline]`

| Set the texture width and height. If width or height are zero then the repsective size value is calculated from the source image sizes.

void osg::TextureRectangle::setTextureWidth | ( | int | width | ) | `[inline]`

## Member Data Documentation

ref_ptr<Image> osg::TextureRectangle::_image`[mutable, protected]`

ImageModifiedCount osg::TextureRectangle::_modifiedCount`[mutable, protected]`

ref_ptr<SubloadCallback> osg::TextureRectangle::_subloadCallback`[protected]`

GLsizei osg::TextureRectangle::_textureHeight`[mutable, protected]`

GLsizei osg::TextureRectangle::_textureWidth`[mutable, protected]`

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

- TextureRectangle