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

osg::Texture2D Class Reference

Inheritance diagram for osg::Texture2D:

osg::Texture osg::StateAttribute osg::Object osg::Referenced osgText::Font::GlyphTexture List of all members.

Public Member Functions

 Texture2D ()
 Texture2D (Image *image)
 Texture2D (const Texture2D &text, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 META_StateAttribute (osg, Texture2D, TEXTURE)
virtual int compare (const StateAttribute &rhs) const
virtual bool getModeUsage (ModeUsage &usage) const
void setImage (Image *image)
Image * getImage ()
const Image * getImage () const
unsigned int & getModifiedTag (unsigned int contextID) const
virtual void setImage (unsigned int, Image *image)
virtual Image * getImage (unsigned int)
virtual const Image * getImage (unsigned int) const
virtual unsigned int getNumImages () const
void setTextureSize (int width, int height) const
int getTextureWidth () const
int getTextureHeight () const
void getTextureSize (int &width, int &height) const
void setSubloadCallback (SubloadCallback *cb)
SubloadCallback * getSubloadCallback ()
const SubloadCallback * getSubloadCallback () const
void setNumMipmapLevels (unsigned int num) const
unsigned int getNumMipmapLevels () const
void copyTexImage2D (State &state, int x, int y, int width, int height)
void copyTexSubImage2D (State &state, int xoffset, int yoffset, int x, int y, int width, int height)
virtual void apply (State &state) const

Protected Types

typedef buffered_value< unsigned
int > 
ImageModifiedTag

Protected Member Functions

virtual ~Texture2D ()
virtual void computeInternalFormat () const

Protected Attributes

ref_ptr< Image > _image
GLsizei _textureWidth
GLsizei _textureHeight
GLsizei _numMipmapLevels
ref_ptr< SubloadCallback > _subloadCallback
ImageModifiedTag _modifiedTag

Classes

class  SubloadCallback

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::ImageModifiedTag [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

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.

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.

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

Gets the const texture image, ignoring face.

Implements osg::Texture.

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

Gets the texture image, ignoring face.

Implements osg::Texture.

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

Gets the const texture image.

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

Gets the texture image.

virtual bool osg::Texture2D::getModeUsage (  ModeUsage &  usage  )  const [inline, virtual]
 

Return the modes associated with this StateAttribute.

Reimplemented from osg::StateAttribute.

unsigned int& osg::Texture2D::getModifiedTag (  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.

const SubloadCallback* osg::Texture2D::getSubloadCallback (   )  const [inline]
 

SubloadCallback* osg::Texture2D::getSubloadCallback (   )  [inline]
 

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

void osg::Texture2D::getTextureSize (  int &  width,
int &  height
)  const [inline]
 

Deprecated.

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

osg::Texture2D::META_StateAttribute (  osg  ,
Texture2D  ,
TEXTURE 
) 
 

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

Sets the texture image, ignoring face.

Implements osg::Texture.

void osg::Texture2D::setImage (  Image *  image  ) 
 

Sets the texture image.

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::Texuture::apply(), or during a custom OpenGL texture load.

void osg::Texture2D::setSubloadCallback (  SubloadCallback *  cb  )  [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.


Member Data Documentation

ref_ptr<Image> osg::Texture2D::_image [protected]
 

It's not ideal that _image is mutable, but it's required since Image::ensureDimensionsArePowerOfTwo() can only be called in a valid OpenGL context, and therefore within Texture::apply, which is const.

ImageModifiedTag osg::Texture2D::_modifiedTag [mutable, protected]
 

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

Number of mipmap levels created.

ref_ptr<SubloadCallback> osg::Texture2D::_subloadCallback [protected]
 

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

Subloaded images can have different texture and image sizes.

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:
Generated on Fri May 13 15:15:49 2005 for openscenegraph by  doxygen 1.4.2