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.

Image * getImage ()
 Get the texture image.

const Image * getImage () 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)
SubloadCallback * getSubloadCallback ()
const SubloadCallback * getSubloadCallback () 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.