OpenSceneGraph 2.8.3
|
Encapsulates OpenGl 2D texture functionality. More...
Classes | |
class | Extensions |
Encapsulates queries of extension availability, obtains extension function pointers, and provides convenience wrappers for calling extension functions. More... | |
class | SubloadCallback |
Public Member Functions | |
Texture3D () | |
Texture3D (Image *image) | |
Texture3D (const Texture3D &text, const CopyOp ©op=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 GLenum | getTextureTarget () const |
void | setImage (Image *image) |
Sets the texture image. | |
Image * | getImage () |
Gets the texture image. | |
const Image * | getImage () const |
Gets the const texture image. | |
unsigned int & | getModifiedCount (unsigned int contextID) const |
virtual void | setImage (unsigned int, Image *image) |
Sets the texture image, ignoring face. | |
virtual Image * | getImage (unsigned int) |
Gets the texture image, ignoring face. | |
virtual const Image * | getImage (unsigned int) const |
Gets the const texture image, ignoring face. | |
virtual unsigned int | getNumImages () const |
Gets the number of images that can be assigned to the Texture. | |
void | setTextureSize (int width, int height, int depth) const |
Sets the texture width, height, and depth. | |
void | getTextureSize (int &width, int &height, int &depth) const |
Gets the texture subload width. | |
void | setTextureWidth (int width) |
void | setTextureHeight (int height) |
void | setTextureDepth (int depth) |
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 |
Helper function. | |
unsigned int | getNumMipmapLevels () const |
Gets the number of mipmap levels created. | |
void | 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. | |
virtual void | apply (State &state) const |
Bind the texture object. | |
Static Public Member Functions | |
static Extensions * | getExtensions (unsigned int contextID, bool createIfNotInitalized) |
Encapsulates queries of extension availability, obtains extension function pointers, and provides convenience wrappers for calling extension functions. | |
static void | setExtensions (unsigned int contextID, Extensions *extensions) |
Overrides Extensions objects across graphics contexts. | |
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 | allocateMipmap (State &state) const |
Allocate mipmap levels of the texture by subsequent calling of glTexImage* function. | |
void | applyTexImage3D (GLenum target, Image *image, State &state, GLsizei &inwidth, GLsizei &inheight, GLsizei &indepth, GLsizei &numMipmapLevels) const |
Protected Attributes | |
ref_ptr< Image > | _image |
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. | |
GLsizei | _textureWidth |
Subloaded images can have different texture and image sizes. | |
GLsizei | _textureHeight |
GLsizei | _textureDepth |
GLsizei | _numMipmapLevels |
Number of mip map levels the the texture has been created with,. | |
ref_ptr< SubloadCallback > | _subloadCallback |
ImageModifiedCount | _modifiedCount |
Encapsulates OpenGl 2D texture functionality.
Doesn't support cube maps, so ignore face parameters.
typedef buffered_value<unsigned int> osg::Texture3D::ImageModifiedCount [protected] |
osg::Texture3D::Texture3D | ( | ) |
osg::Texture3D::Texture3D | ( | Image * | image | ) |
Copy constructor using CopyOp to manage deep vs shallow copy.
virtual osg::Texture3D::~Texture3D | ( | ) | [protected, virtual] |
void osg::Texture3D::allocateMipmap | ( | State & | state | ) | const [protected, virtual] |
Allocate mipmap levels of the texture by subsequent calling of glTexImage* function.
Implements osg::Texture.
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 convenience wrappers for calling extension functions.
Reimplemented from osg::Texture.
Image* osg::Texture3D::getImage | ( | ) | [inline] |
Gets the texture image.
virtual Image* osg::Texture3D::getImage | ( | unsigned int | ) | [inline, virtual] |
Gets the texture image, ignoring face.
Implements osg::Texture.
virtual const Image* osg::Texture3D::getImage | ( | unsigned int | ) | const [inline, virtual] |
Gets the const texture image, ignoring face.
Implements osg::Texture.
const Image* osg::Texture3D::getImage | ( | ) | const [inline] |
Gets the const 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.
SubloadCallback* osg::Texture3D::getSubloadCallback | ( | ) | [inline] |
const SubloadCallback* osg::Texture3D::getSubloadCallback | ( | ) | const [inline] |
virtual int osg::Texture3D::getTextureDepth | ( | ) | const [inline, virtual] |
Reimplemented from osg::Texture.
virtual int osg::Texture3D::getTextureHeight | ( | ) | const [inline, virtual] |
Reimplemented from osg::Texture.
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.
References GL_TEXTURE_3D.
virtual int osg::Texture3D::getTextureWidth | ( | ) | const [inline, virtual] |
Reimplemented from osg::Texture.
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 systems with different graphics pipes.
Reimplemented from osg::Texture.
virtual void osg::Texture3D::setImage | ( | unsigned int | , |
Image * | image | ||
) | [inline, virtual] |
Sets the texture image, ignoring face.
Implements osg::Texture.
References setImage().
Referenced by setImage().
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::Texture::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] |
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.
![]() | Generated at Tue Mar 22 2011 13:20:24 for the OpenSceneGraph by doxygen 1.7.3. |