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