|
Public Types |
typedef std::list< ref_ptr<
TextureObject > > | TextureObjectList |
typedef std::map< unsigned
int, TextureObjectList > | TextureObjectListMap |
| enum | WrapParameter { WRAP_S,
WRAP_T,
WRAP_R
} |
| enum | WrapMode {
CLAMP = GL_CLAMP,
CLAMP_TO_EDGE = GL_CLAMP_TO_EDGE,
CLAMP_TO_BORDER = GL_CLAMP_TO_BORDER_ARB,
REPEAT = GL_REPEAT,
MIRROR = GL_MIRRORED_REPEAT_IBM
} |
| enum | FilterParameter { MIN_FILTER,
MAG_FILTER
} |
| enum | FilterMode {
LINEAR = GL_LINEAR,
LINEAR_MIPMAP_LINEAR = GL_LINEAR_MIPMAP_LINEAR,
LINEAR_MIPMAP_NEAREST = GL_LINEAR_MIPMAP_NEAREST,
NEAREST = GL_NEAREST,
NEAREST_MIPMAP_LINEAR = GL_NEAREST_MIPMAP_LINEAR,
NEAREST_MIPMAP_NEAREST = GL_NEAREST_MIPMAP_NEAREST
} |
| enum | InternalFormatMode {
USE_IMAGE_DATA_FORMAT,
USE_USER_DEFINED_FORMAT,
USE_ARB_COMPRESSION,
USE_S3TC_DXT1_COMPRESSION,
USE_S3TC_DXT3_COMPRESSION,
USE_S3TC_DXT5_COMPRESSION
} |
| enum | ShadowCompareFunc { LEQUAL = GL_LEQUAL,
GEQUAL = GL_GEQUAL
} |
| enum | ShadowTextureMode { LUMINANCE = GL_LUMINANCE,
INTENSITY = GL_INTENSITY,
ALPHA = GL_ALPHA
} |
Public Member Functions |
| | Texture () |
| | Texture (const Texture &text, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
| | Copy constructor using CopyOp to manage deep vs shallow copy.
|
| virtual osg::Object * | cloneType () const=0 |
| | Clone the type of an attribute, with Object* return type.
|
| virtual osg::Object * | clone (const CopyOp ©op) const=0 |
| | Clone an attribute, with Object* return type.
|
| virtual bool | isSameKindAs (const osg::Object *obj) const |
| virtual const char * | libraryName () const |
| | Return the name of the attribute's library.
|
| virtual const char * | className () const |
| | Return the name of the attribute's class type.
|
| virtual Type | getType () const |
| | Return the Type identifier of the attribute's class type.
|
| virtual bool | isTextureAttribute () const |
| | Return true if StateAttribute is a type which controls texturing and needs to be issued w.r.t to specific texture unit.
|
| virtual GLenum | getTextureTarget () const=0 |
| virtual bool | getModeUsage (ModeUsage &usage) const |
| | Return the modes associated with this StateAttribute.
|
| void | setWrap (WrapParameter which, WrapMode wrap) |
| | Sets the texture wrap mode.
|
| WrapMode | getWrap (WrapParameter which) const |
| | Gets the texture wrap mode.
|
| void | setBorderColor (const Vec4 &color) |
| | Sets the border color.
|
| const Vec4 & | getBorderColor () const |
| | Gets the border color.
|
| void | setBorderWidth (GLint width) |
| | Sets the border width.
|
| GLint | getBorderWidth () const |
| void | setFilter (FilterParameter which, FilterMode filter) |
| | Sets the texture filter mode.
|
| FilterMode | getFilter (FilterParameter which) const |
| | Gets the texture filter mode.
|
| void | setMaxAnisotropy (float anis) |
| | Sets the maximum anisotropy value, default value is 1.0 for no anisotropic filtering.
|
| float | getMaxAnisotropy () const |
| | Gets the maximum anisotropy value.
|
| void | setUseHardwareMipMapGeneration (bool useHardwareMipMapGeneration) |
| | Sets the hardware mipmap generation hint.
|
| bool | getUseHardwareMipMapGeneration () const |
| | Gets the hardware mipmap generation hint.
|
| void | setUnRefImageDataAfterApply (bool flag) |
| | Sets whether or not the apply() function will unreference the image data.
|
| bool | getUnRefImageDataAfterApply () const |
| | Gets whether or not apply() unreferences image data.
|
| void | setClientStorageHint (bool flag) |
| | Sets whether to use client storage for the texture, if supported by the graphics system.
|
| bool | getClientStorageHint () const |
| | Gets whether to use client storage for the texture.
|
| void | setResizeNonPowerOfTwoHint (bool flag) |
| | Sets whether to force the texture to resize images that have dimensions that are not a power of two.
|
| bool | getResizeNonPowerOfTwoHint () const |
| | Gets whether texture will force non power to two images to be resized.
|
| void | setInternalFormatMode (InternalFormatMode mode) |
| | Sets the internal texture format mode.
|
| InternalFormatMode | getInternalFormatMode () const |
| | Gets the internal texture format mode.
|
| void | setInternalFormat (GLint internalFormat) |
| | Sets the internal texture format.
|
| GLint | getInternalFormat () const |
| | Gets the internal texture format.
|
| bool | isCompressedInternalFormat () const |
| | Return true if the internal format is one of the compressed formats.
|
| void | setSourceFormat (GLenum sourceFormat) |
| | Sets the external source image format, used as a fallback when no osg::Image is attached to provide the source image format.
|
| GLenum | getSourceFormat () const |
| | Gets the external source image format.
|
| void | setSourceType (GLenum sourceType) |
| | Sets the external source data type, used as a fallback when no osg::Image is attached to provide the source image format.
|
| GLenum | getSourceType () const |
| | Gets the external source data type.
|
| TextureObject * | getTextureObject (unsigned int contextID) const |
| | Returns a pointer to the texture object for the current context.
|
| void | dirtyTextureObject () |
| | Forces a recompile on next apply() of associated OpenGL texture objects.
|
| bool | areAllTextureObjectsLoaded () const |
| | Returns true if the texture objects for all the required graphics contexts are loaded.
|
| unsigned int & | getTextureParameterDirty (unsigned int contextID) const |
| | Gets the dirty flag for the current contextID.
|
| void | dirtyTextureParameters () |
| | Force a reset on next apply() of associated OpenGL texture parameters.
|
| void | setShadowComparison (bool flag) |
| | Sets GL_TEXTURE_COMPARE_MODE_ARB to GL_COMPARE_R_TO_TEXTURE_ARB See http://oss.sgi.com/projects/ogl-sample/registry/ARB/shadow.txt.
|
| void | setShadowCompareFunc (ShadowCompareFunc func) |
| | Sets shadow texture comparison function.
|
| ShadowCompareFunc | getShadowCompareFunc () |
| void | setShadowTextureMode (ShadowTextureMode mode) |
| | Sets shadow texture mode after comparison.
|
| ShadowTextureMode | getShadowTextureMode () |
| void | setShadowAmbient (float shadow_ambient) |
| | Sets the TEXTURE_COMPARE_FAIL_VALUE_ARB texture parameter.
|
| float | getShadowAmbient () |
| virtual void | setImage (unsigned int face, Image *image)=0 |
| | Sets the texture image for the specified face.
|
| virtual Image * | getImage (unsigned int face)=0 |
| | Gets the texture image for the specified face.
|
| virtual const Image * | getImage (unsigned int face) const=0 |
| | Gets the const texture image for specified face.
|
| virtual unsigned int | getNumImages () const=0 |
| | Gets the number of images that can be assigned to this Texture.
|
| void | setReadPBuffer (GraphicsContext *context) |
| | Set the PBuffer graphis context to read from when using PBuffers for RenderToTexture.
|
| GraphicsContext * | getReadPBuffer () |
| | Get the PBuffer graphis context to read from when using PBuffers for RenderToTexture.
|
| virtual void | apply (State &state) const=0 |
| | Texture is a pure virtual base class, apply must be overriden.
|
| virtual void | compileGLObjects (State &state) const |
| | Calls apply(state) to compile the texture.
|
| virtual void | releaseGLObjects (State *state=0) const |
| | If State is non-zero, this function releases OpenGL objects for the specified graphics context.
|
| void | applyTexImage2D_load (State &state, GLenum target, const Image *image, GLsizei width, GLsizei height, GLsizei numMipmapLevels) const |
| | Helper method.
|
| void | applyTexImage2D_subload (State &state, GLenum target, const Image *image, GLsizei width, GLsizei height, GLint inInternalFormat, GLsizei numMipmapLevels) const |
| | Helper method.
|
| void | takeTextureObjects (TextureObjectListMap &toblm) |
| | Takes the active texture objects from the Texture and places them in the specified TextureObjectListMap.
|
Static Public Member Functions |
| Extensions * | getExtensions (unsigned int contextID, bool createIfNotInitalized) |
| | Gets the extension for the specified context.
|
| void | setExtensions (unsigned int contextID, Extensions *extensions) |
| | Overrides Extensions objects across graphics contexts.
|
| TextureObject * | generateTextureObject (unsigned int contextID, GLenum target) |
| TextureObject * | generateTextureObject (unsigned int contextID, GLenum target, GLint numMipmapLevels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border) |
| void | setMinimumNumberOfTextureObjectsToRetainInCache (unsigned int minimum) |
| | Set the minimum number of texture objects to retain in the deleted display list cache.
|
| unsigned int | getMinimumNumberOfTextureObjectsToRetainInCache () |
| | Get the minimum number of display lists to retain in the deleted display list cache.
|
| void | flushAllDeletedTextureObjects (unsigned int contextID) |
| void | flushDeletedTextureObjects (unsigned int contextID, double currentTime, double &availableTime) |
Static Public Attributes |
| unsigned int | s_numberTextureReusedLastInLastFrame |
| unsigned int | s_numberNewTextureInLastFrame |
| unsigned int | s_numberDeletedTextureInLastFrame |
Protected Types |
typedef buffered_value< unsigned
int > | TexParameterDirtyList |
typedef buffered_object< ref_ptr<
TextureObject > > | TextureObjectBuffer |
Protected Member Functions |
| virtual | ~Texture () |
| virtual void | computeInternalFormat () const=0 |
| void | computeInternalFormatWithImage (const osg::Image &image) const |
| void | computeRequiredTextureDimensions (State &state, const osg::Image &image, GLsizei &width, GLsizei &height, GLsizei &numMipmapLevels) const |
| bool | isCompressedInternalFormat (GLint internalFormat) const |
| void | getCompressedSize (GLenum internalFormat, GLint width, GLint height, GLint depth, GLint &blockSize, GLint &size) const |
| void | applyTexParameters (GLenum target, State &state) const |
| | Helper method.
|
| int | compareTexture (const Texture &rhs) const |
| | Returns -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.
|
Protected Attributes |
| TexParameterDirtyList | _texParametersDirtyList |
| WrapMode | _wrap_s |
| WrapMode | _wrap_t |
| WrapMode | _wrap_r |
| FilterMode | _min_filter |
| FilterMode | _mag_filter |
| float | _maxAnisotropy |
| bool | _useHardwareMipMapGeneration |
| bool | _unrefImageDataAfterApply |
| bool | _clientStorageHint |
| bool | _resizeNonPowerOfTwoHint |
| Vec4 | _borderColor |
| GLint | _borderWidth |
| InternalFormatMode | _internalFormatMode |
| GLint | _internalFormat |
| GLenum | _sourceFormat |
| GLenum | _sourceType |
| bool | _use_shadow_comparison |
| ShadowCompareFunc | _shadow_compare_func |
| ShadowTextureMode | _shadow_texture_mode |
| float | _shadow_ambient |
| TextureObjectBuffer | _textureObjectBuffer |
| ref_ptr< GraphicsContext > | _readPBuffer |