osg::Texture3D Class Reference

Inheritance diagram for osg::Texture3D:

osg::Texture osg::StateAttribute osg::Object osg::Referenced List of all members.

Public Member Functions

 Texture3D ()
 Texture3D (const Texture3D &text, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 META_StateAttribute (osg, Texture3D, TEXTURE)
virtual int compare (const StateAttribute &rhs) const
virtual GLenum getTextureTarget () const
void setImage (Image *image)
ImagegetImage ()
const ImagegetImage () const
unsigned int & getModifiedCount (unsigned int contextID) const
virtual void setImage (unsigned int, Image *image)
virtual ImagegetImage (unsigned int)
virtual const ImagegetImage (unsigned int) const
virtual unsigned int getNumImages () const
void setTextureSize (int width, int height, int depth) const
void getTextureSize (int &width, int &height, int &depth) const
void setTextureWidth (int width)
int getTextureWidth () const
void setTextureHeight (int height)
int getTextureHeight () const
void setTextureDepth (int depth)
int getTextureDepth () const
void setSubloadCallback (SubloadCallback *cb)
SubloadCallbackgetSubloadCallback ()
const SubloadCallbackgetSubloadCallback () const
void setNumMipmapLevels (unsigned int num) const
unsigned int getNumMipmapLevels () const
void copyTexSubImage3D (State &state, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height)
virtual void apply (State &state) const

Static Public Member Functions

static ExtensionsgetExtensions (unsigned int contextID, bool createIfNotInitalized)
static void setExtensions (unsigned int contextID, Extensions *extensions)

Protected Types

typedef buffered_value< unsigned
int > 
ImageModifiedCount

Protected Member Functions

virtual ~Texture3D ()
void computeRequiredTextureDimensions (State &state, const osg::Image &image, GLsizei &width, GLsizei &height, GLsizei &depth, GLsizei &numMipmapLevels) const
virtual void computeInternalFormat () const
void applyTexImage3D (GLenum target, Image *image, State &state, GLsizei &inwidth, GLsizei &inheight, GLsizei &indepth, GLsizei &numMipmapLevels) const

Protected Attributes

ref_ptr< Image_image
GLsizei _textureWidth
GLsizei _textureHeight
GLsizei _textureDepth
GLsizei _numMipmapLevels
ref_ptr< SubloadCallback_subloadCallback
ImageModifiedCount _modifiedCount

Classes

class  Extensions
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::Texture3D::ImageModifiedCount [protected]


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]

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

Implements osg::Texture.

void osg::Texture3D::applyTexImage3D ( GLenum  target,
Image image,
State state,
GLsizei &  inwidth,
GLsizei &  inheight,
GLsizei &  indepth,
GLsizei &  numMipmapLevels 
) 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::computeRequiredTextureDimensions ( State state,
const osg::Image image,
GLsizei &  width,
GLsizei &  height,
GLsizei &  depth,
GLsizei &  numMipmapLevels 
) const [protected]

void osg::Texture3D::copyTexSubImage3D ( State state,
int  xoffset,
int  yoffset,
int  zoffset,
int  x,
int  y,
int  width,
int  height 
)

Copies a two-dimensional texture subimage, as per glCopyTexSubImage3D. 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, yoffset, and zoffset. width and height must be powers of two.

static Extensions* osg::Texture3D::getExtensions ( unsigned int  contextID,
bool  createIfNotInitalized 
) [static]

Encapsulates queries of extension availability, obtains extension function pointers, and provides convinience wrappers for calling extension functions.

Reimplemented from osg::Texture.

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

Gets the const texture image, ignoring face.

Implements osg::Texture.

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

Gets the texture image, ignoring face.

Implements osg::Texture.

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

Gets the const texture image.

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

Gets the texture image.

unsigned int& osg::Texture3D::getModifiedCount ( unsigned int  contextID  )  const [inline]

virtual unsigned int osg::Texture3D::getNumImages (  )  const [inline, virtual]

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

Implements osg::Texture.

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

Gets the number of mipmap levels created.

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

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

int osg::Texture3D::getTextureDepth (  )  const [inline]

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

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

Gets the texture subload width.

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

Implements osg::Texture.

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

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

static void osg::Texture3D::setExtensions ( unsigned int  contextID,
Extensions extensions 
) [static]

Overrides Extensions objects across graphics contexts. Typically used to ensure the same lowest common denominator of extensions on sustems with different graphics pipes.

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

Sets the texture image, ignoring face.

Implements osg::Texture.

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

Sets the texture image.

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

void osg::Texture3D::setTextureDepth ( int  depth  )  [inline]

void osg::Texture3D::setTextureHeight ( int  height  )  [inline]

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

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

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


Member Data Documentation

ref_ptr<Image> osg::Texture3D::_image [mutable, 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.

ImageModifiedCount osg::Texture3D::_modifiedCount [mutable, protected]

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

Number of mip map levels the the texture has been created with,

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

GLsizei osg::Texture3D::_textureDepth [mutable, protected]

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

GLsizei osg::Texture3D::_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 Thu Sep 28 18:43:39 2006 for openscenegraph by  doxygen 1.4.7