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

osg::Texture3D Class Reference

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

Inheritance diagram for osg::Texture3D:

Inheritance graph
[legend]
List of all members.

Public Methods

 Texture3D ()
 Texture3D (const Texture3D &text, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 Copy constructor using CopyOp to manage deep vs shallow copy.

 META_StateAttribute (osg, Texture3D, 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 int depth) const
 Set the texture width and height.

void getTextureSize (int &width, int &height, int &depth) 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 copyTexSubImage3D (State &state, int xoffset, int yoffset, int zoffset, 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 ~Texture3D ()
virtual void computeInternalFormat () const
void applyTexImage3D (GLenum target, Image *image, State &state, GLsizei &inwidth, GLsizei &inheight, GLsizei &indepth, GLsizei &numMimpmapLevels) const

Protected Attributes

ref_ptr< Image > _image
GLsizei _textureWidth
GLsizei _textureHeight
GLsizei _textureDepth
GLsizei _numMimpmapLevels
ref_ptr< SubloadCallback > _subloadCallback

Detailed Description

Texture state class which encapsulates OpenGl 3D texture functionality.


Constructor & Destructor Documentation

osg::Texture3D::Texture3D (    ) 
 

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

Copy constructor using CopyOp to manage deep vs shallow copy.

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


Member Function Documentation

virtual void osg::Texture3D::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.

void osg::Texture3D::applyTexImage3D (  GLenum    target,
Image *    image,
State &    state,
GLsizei &    inwidth,
GLsizei &    inheight,
GLsizei &    indepth,
GLsizei &    numMimpmapLevels
)  const [protected]
 

virtual int osg::Texture3D::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::Texture3D::computeInternalFormat (    )  const [protected, virtual]
 

Implements osg::Texture.

void osg::Texture3D::copyTexSubImage3D (  State &    state,
int    xoffset,
int    yoffset,
int    zoffset,
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.

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

return the modes associated with this StateSet

Reimplemented from osg::StateAttribute.

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

Get the const texture image.

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

Get the texture image.

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

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

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

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

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

Get the texture subload width.

osg::Texture3D::META_StateAttribute (  osg   ,
Texture3D   ,
TEXTURE   
) 
 

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

Set the texture image.

void osg::Texture3D::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::Texture3D::setSubloadCallback (  SubloadCallback *    cb )  [inline]
 

void osg::Texture3D::setTextureSize (  const int    width,
const int    height,
const int    depth
)  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::Texture3D::_image [protected]
 

GLsizei osg::Texture3D::_numMimpmapLevels [protected]
 

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

GLsizei osg::Texture3D::_textureDepth [protected]
 

GLsizei osg::Texture3D::_textureHeight [protected]
 

GLsizei osg::Texture3D::_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.