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

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 bool getModeUsage (ModeUsage &usage) 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 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.

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

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]
 

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

Gets the texture subload width.

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::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.


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 Wed Jun 7 05:04:36 2006 for OpenSceneGraph by  doxygen 1.4.4