osg::Texture1D Class Reference

Inheritance diagram for osg::Texture1D:

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

Public Member Functions

 Texture1D ()
 Texture1D (const Texture1D &text, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 META_StateAttribute (osg, Texture1D, TEXTURE)
virtual int compare (const StateAttribute &rhs) const
virtual GLenum getTextureTarget () const
void setImage (Image *image)
Image * getImage ()
const Image * getImage () const
unsigned int & getModifiedCount (unsigned int contextID) const
virtual void setImage (unsigned int, Image *image)
virtual Image * getImage (unsigned int)
virtual const Image * getImage (unsigned int) const
virtual unsigned int getNumImages () const
void setTextureWidth (int width) const
virtual int getTextureWidth () const
virtual int getTextureHeight () const
virtual int getTextureDepth () const
void setSubloadCallback (SubloadCallback *cb)
SubloadCallback * getSubloadCallback ()
const SubloadCallback * getSubloadCallback () const
void setNumMipmapLevels (unsigned int num) const
unsigned int getNumMipmapLevels () const
void copyTexImage1D (State &state, int x, int y, int width)
void copyTexSubImage1D (State &state, int xoffset, int x, int y, int width)
virtual void apply (State &state) const

Protected Types

typedef buffered_value< unsigned
int > 
ImageModifiedCount

Protected Member Functions

virtual ~Texture1D ()
virtual void computeInternalFormat () const
void applyTexImage1D (GLenum target, Image *image, State &state, GLsizei &width, GLsizei &numMipmapLevels) const

Protected Attributes

ref_ptr< Image > _image
GLsizei _textureWidth
GLsizei _numMipmapLevels
ref_ptr< SubloadCallback > _subloadCallback
ImageModifiedCount _modifiedCount

Classes

class  SubloadCallback

Detailed Description

Encapsulates OpenGl 1D texture functionality. Doesn't support cube maps, so ignore face parameters.


Member Typedef Documentation

typedef buffered_value<unsigned int> osg::Texture1D::ImageModifiedCount [protected]


Constructor & Destructor Documentation

osg::Texture1D::Texture1D (  ) 

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

Copy constructor using CopyOp to manage deep vs shallow copy.

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


Member Function Documentation

virtual void osg::Texture1D::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::Texture1D::applyTexImage1D ( GLenum  target,
Image *  image,
State &  state,
GLsizei &  width,
GLsizei &  numMipmapLevels 
) const [protected]

Helper method. Createa the texture without setting or using a texture binding.

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

Implements osg::Texture.

void osg::Texture1D::copyTexImage1D ( State &  state,
int  x,
int  y,
int  width 
)

Copies pixels into a 1D texture image, as per glCopyTexImage1D. Creates an OpenGL texture object from the current OpenGL background framebuffer contents at position x, y with width width. width must be a power of two.

void osg::Texture1D::copyTexSubImage1D ( State &  state,
int  xoffset,
int  x,
int  y,
int  width 
)

Copies a one-dimensional texture subimage, as per glCopyTexSubImage1D. Updates a portion of an existing OpenGL texture object from the current OpenGL background framebuffer contents at position x, y with width width.

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

Gets the const texture image, ignoring face.

Implements osg::Texture.

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

Gets the texture image, ignoring face.

Implements osg::Texture.

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

Gets the const texture image.

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

Gets the texture image.

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

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

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

Implements osg::Texture.

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

Gets the number of mipmap levels created.

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

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

virtual int osg::Texture1D::getTextureDepth (  )  const [inline, virtual]

Reimplemented from osg::Texture.

virtual int osg::Texture1D::getTextureHeight (  )  const [inline, virtual]

Reimplemented from osg::Texture.

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

Implements osg::Texture.

virtual int osg::Texture1D::getTextureWidth (  )  const [inline, virtual]

Gets the texture width.

Reimplemented from osg::Texture.

osg::Texture1D::META_StateAttribute ( osg  ,
Texture1D  ,
TEXTURE   
)

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

Sets the texture image, ignoring face.

Implements osg::Texture.

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

Sets the texture image.

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

void osg::Texture1D::setTextureWidth ( int  width  )  const [inline]

Sets the texture width. If width is zero, calculate the value from the source image width.


Member Data Documentation

ref_ptr<Image> osg::Texture1D::_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::Texture1D::_modifiedCount [mutable, protected]

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

Number of mipmap levels created.

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

GLsizei osg::Texture1D::_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 Sun Oct 1 13:17:08 2006 for openscenegraph by  doxygen 1.4.7