OpenSceneGraph 2.8.4
Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
osg::Texture2D Class Reference

Encapsulates OpenGl 2D texture functionality. More...

Inheritance diagram for osg::Texture2D:
Inheritance graph
[legend]

List of all members.

Classes

class  SubloadCallback

Public Member Functions

 Texture2D ()
 Texture2D (Image *image)
 Texture2D (const Texture2D &text, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 Copy constructor using CopyOp to manage deep vs shallow copy.
 META_StateAttribute (osg, Texture2D, 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)
 Sets the texture image.
ImagegetImage ()
 Gets the texture image.
const ImagegetImage () const
 Gets the const texture image.
unsigned int & getModifiedCount (unsigned int contextID) const
virtual void setImage (unsigned int, Image *image)
 Sets the texture image, ignoring face.
virtual ImagegetImage (unsigned int)
 Gets the texture image, ignoring face.
virtual const ImagegetImage (unsigned int) const
 Gets the const texture image, ignoring face.
virtual unsigned int getNumImages () const
 Gets the number of images that can be assigned to the Texture.
void setTextureSize (int width, int height) const
 Sets the texture width and height.
void setTextureWidth (int width)
void setTextureHeight (int height)
virtual int getTextureWidth () const
virtual int getTextureHeight () const
virtual int getTextureDepth () const
void setSubloadCallback (SubloadCallback *cb)
SubloadCallbackgetSubloadCallback ()
const SubloadCallbackgetSubloadCallback () const
void setNumMipmapLevels (unsigned int num) const
 Helper function.
unsigned int getNumMipmapLevels () const
 Gets the number of mipmap levels created.
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
 Bind the texture object.

Protected Types

typedef buffered_value
< unsigned int > 
ImageModifiedCount

Protected Member Functions

virtual ~Texture2D ()
virtual void computeInternalFormat () const
void allocateMipmap (State &state) const
 Allocate mipmap levels of the texture by subsequent calling of glTexImage* function.

Protected Attributes

ref_ptr< Image_image
GLsizei _textureWidth
 Subloaded images can have different texture and image sizes.
GLsizei _textureHeight
GLsizei _numMipmapLevels
 Number of mipmap levels created.
ref_ptr< SubloadCallback_subloadCallback
ImageModifiedCount _modifiedCount

Detailed Description

Encapsulates OpenGl 2D texture functionality.

Doesn't support cube maps, so ignore face parameters.


Member Typedef Documentation

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

Constructor & Destructor Documentation

osg::Texture2D::Texture2D ( )
osg::Texture2D::Texture2D ( Image image)
osg::Texture2D::Texture2D ( const Texture2D text,
const CopyOp copyop = CopyOp::SHALLOW_COPY 
)

Copy constructor using CopyOp to manage deep vs shallow copy.

virtual osg::Texture2D::~Texture2D ( ) [protected, virtual]

Member Function Documentation

void osg::Texture2D::allocateMipmap ( State state) const [protected, virtual]

Allocate mipmap levels of the texture by subsequent calling of glTexImage* function.

Implements osg::Texture.

virtual void osg::Texture2D::apply ( State state) const [virtual]

Bind the texture object.

If the texture object hasn't already been compiled, create the texture mipmap levels.

Implements osg::Texture.

Reimplemented in osgText::Font::GlyphTexture.

virtual int osg::Texture2D::compare ( const StateAttribute rhs) const [virtual]

Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.

Implements osg::StateAttribute.

Reimplemented in osgText::Font::GlyphTexture.

virtual void osg::Texture2D::computeInternalFormat ( ) const [protected, virtual]

Implements osg::Texture.

void osg::Texture2D::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::Texture2D::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 Image* osg::Texture2D::getImage ( unsigned int  ) [inline, virtual]

Gets the texture image, ignoring face.

Implements osg::Texture.

Image* osg::Texture2D::getImage ( ) [inline]

Gets the texture image.

Referenced by osgUtil::Optimizer::TextureAtlasBuilder::Source::Source().

virtual const Image* osg::Texture2D::getImage ( unsigned int  ) const [inline, virtual]

Gets the const texture image, ignoring face.

Implements osg::Texture.

const Image* osg::Texture2D::getImage ( ) const [inline]

Gets the const texture image.

unsigned int& osg::Texture2D::getModifiedCount ( unsigned int  contextID) const [inline]
virtual unsigned int osg::Texture2D::getNumImages ( ) const [inline, virtual]

Gets the number of images that can be assigned to the Texture.

Implements osg::Texture.

unsigned int osg::Texture2D::getNumMipmapLevels ( ) const [inline]

Gets the number of mipmap levels created.

SubloadCallback* osg::Texture2D::getSubloadCallback ( ) [inline]
const SubloadCallback* osg::Texture2D::getSubloadCallback ( ) const [inline]
virtual int osg::Texture2D::getTextureDepth ( ) const [inline, virtual]

Reimplemented from osg::Texture.

virtual int osg::Texture2D::getTextureHeight ( ) const [inline, virtual]

Reimplemented from osg::Texture.

virtual GLenum osg::Texture2D::getTextureTarget ( ) const [inline, virtual]

Implements osg::Texture.

virtual int osg::Texture2D::getTextureWidth ( ) const [inline, virtual]

Reimplemented from osg::Texture.

osg::Texture2D::META_StateAttribute ( osg  ,
Texture2D  ,
TEXTURE   
)
void osg::Texture2D::setImage ( Image image)

Sets the texture image.

virtual void osg::Texture2D::setImage ( unsigned int  ,
Image image 
) [inline, virtual]

Sets the texture image, ignoring face.

Implements osg::Texture.

References setImage().

Referenced by setImage().

void osg::Texture2D::setNumMipmapLevels ( unsigned int  num) const [inline]

Helper function.

Sets the number of mipmap levels created for this texture. Should only be called within an osg::Texture::apply(), or during a custom OpenGL texture load.

void osg::Texture2D::setSubloadCallback ( SubloadCallback cb) [inline]
void osg::Texture2D::setTextureHeight ( int  height) [inline]
void osg::Texture2D::setTextureSize ( int  width,
int  height 
) const [inline]

Sets the texture width and height.

If width or height are zero, calculate the respective value from the source image size.

void osg::Texture2D::setTextureWidth ( int  width) [inline]

Member Data Documentation

GLsizei osg::Texture2D::_numMipmapLevels [mutable, protected]

Number of mipmap levels created.

GLsizei osg::Texture2D::_textureHeight [mutable, protected]
GLsizei osg::Texture2D::_textureWidth [mutable, protected]

Subloaded images can have different texture and image sizes.


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

osg logo
Generated at Sun Jan 8 2012 13:16:22 for the OpenSceneGraph by doxygen 1.7.4.