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

osg::Texture2D Class Reference

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

Inheritance diagram for osg::Texture2D:

Inheritance graph
[legend]
List of all members.

Public Methods

 Texture2D ()
 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 void getAssociatedModes (std::vector< GLMode > &modes) const
 return the modes associated with this StateSet

void setImage (Image *image)
 Set the texture image.

ImagegetImage ()
 Get the texture image.

const ImagegetImage () const
 Get the const texture image.

void setTextureSize (const int width, const int height) const
 Set the texture width and height.

void getTextureSize (int &width, int &height) const
 Get the texture subload width.

void setSubloadCallback (SubloadCallback *cb)
SubloadCallbackgetSubloadCallback ()
const SubloadCallbackgetSubloadCallback () const
void setNumMipmapLevels (unsigned int num) const
 Set the number of mip map levels the the texture has been created with, should only be called within an osg::Texuture::apply() and custom OpenGL texture load.

unsigned int getNumMipmapLevels () const
 Get the number of mip map levels the the texture has been created with.

void copyTexImage2D (State &state, int x, int y, int width, int height)
 Copy 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)
 Copy a two-dimensional texture subimage.

virtual void apply (State &state) const
 On first apply (unless already compiled), create the minmapped texture and bind it, subsequent apply will simple bind to texture.


Protected Methods

virtual ~Texture2D ()
virtual void computeInternalFormat () const

Protected Attributes

ref_ptr< Image_image
GLsizei _textureWidth
GLsizei _textureHeight
GLsizei _numMimpmapLevels
ref_ptr< SubloadCallback_subloadCallback

Detailed Description

Texture state class which encapsulates OpenGl texture functionality.


Constructor & Destructor Documentation

osg::Texture2D::Texture2D  
 

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]
 

On first apply (unless already compiled), create the minmapped texture and bind it, subsequent apply will simple bind to texture.

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
 

Copy pixels into a 2D texture image.As per glCopyTexImage2D.

Creates an OpenGL texture object from the current OpenGL background framebuffer contents at pos 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
 

Copy a two-dimensional texture subimage.

As per glCopyTexSubImage2D. Updates portion of an existing OpenGL texture object from the current OpenGL background framebuffer contents at pos x, y with width width and height height. width and height must be a power of two, and writing into the texture with offset xoffset and yoffset.

virtual void osg::Texture2D::getAssociatedModes std::vector< GLMode > &    modes const [inline, virtual]
 

return the modes associated with this StateSet

Reimplemented from osg::StateAttribute.

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

Get the const texture image.

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

Get the texture image.

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

Get the number of mip map levels the the texture has been created with.

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

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

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

Get the texture subload width.

osg::Texture2D::META_StateAttribute osg   ,
Texture2D   ,
TEXTURE   
 

void osg::Texture2D::setImage Image   image
 

Set the texture image.

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

Set the number of mip map levels the the texture has been created with, should only be called within an osg::Texuture::apply() and custom OpenGL texture load.

void osg::Texture2D::setSubloadCallback SubloadCallback   cb [inline]
 

void osg::Texture2D::setTextureSize const int    width,
const 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.


Member Data Documentation

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

GLsizei osg::Texture2D::_numMimpmapLevels [protected]
 

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

GLsizei osg::Texture2D::_textureHeight [protected]
 

GLsizei osg::Texture2D::_textureWidth [protected]
 


The documentation for this class was generated from the following file:
Generated at Wed Sep 18 13:55:45 2002 for the Open Scene Graph by doxygen 1.2.16.