Texture state class which encapsulates OpenGl texture functionality
Inheritance:
Public Methods
-
Texture()
-
Texture(const Texture& text, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
- Copy constructor using CopyOp to manage deep vs shallow copy
-
META_StateAttribute(osg, Texture, TEXTURE)
-
virtual bool isTextureAttribute() const
-
virtual int compare(const StateAttribute& rhs) const
- return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
-
virtual void getAssociatedModes(std::vector<GLMode>& modes) const
-
void setImage(Image* image)
- Set the texture image.
-
Image* getImage()
- Get the texture image.
-
inline const Image* getImage() const
- Get the const texture image.
-
void copyTexImage2D(State& state, int x, int y, int width, int height )
- Copy pixels into a 2D texture imageAs per glCopyTexImage2D.
-
void copyTexSubImage2D(State& state, int xoffset, int yoffset, int x, int y, int width, int height )
- Copy a two-dimensional texture subimage.
-
void setWrap(const WrapParameter which, const WrapMode wrap)
- Set the texture wrap mode
-
const WrapMode getWrap(const WrapParameter which) const
- Get the texture wrap mode
-
void setBorderColor(const Vec4& color)
- Sets the border color for this texture.
-
const Vec4& borderColor(void) const
-
void setFilter(const FilterParameter which, const FilterMode filter)
- Set the texture filter mode
-
const FilterMode getFilter(const FilterParameter which) const
- Get the texture filter mode
-
inline void setInternalFormatMode(const InternalFormatMode mode)
- Set the internal format mode.
-
inline const InternalFormatMode getInternalFormatMode() const
- Get the internal format mode
-
inline void setInternalFormatValue(const int internalFormat)
- Set the internal format to use when creating OpenGL textures.
-
inline const int getInternalFormatValue() const
- Get the internal format to use when creating OpenGL textures
-
inline const uint getTextureObject(const uint contextID) const
- return the OpenGL texture object for specified context
-
inline void setSubloadMode(const SubloadMode mode)
- Set the texture subload mode.
-
inline const SubloadMode getSubloadMode() const
- Get the texture subload mode.
-
inline void setSubloadOffset(const int x, const int y)
- Set the texture subload offsets.
-
inline void getSubloadOffset(int& x, int& y) const
- Get the texture subload offsets.
-
inline void setSubloadSize(const int width, const int height)
- Set the texture subload width.
-
inline void getSubloadSize(int& width, int& height) const
- Get the texture subload width.
-
inline GLuint& getHandle(const uint contextID) const
- Get the handle to the texture object for the current context
-
inline uint& getModifiedTag(const uint contextID) const
-
void dirtyTextureObject()
- Force a recompile on next apply() of associated OpenGL texture objects
-
virtual void apply(State& state) const
- On first apply (unless already compiled), create the minmapped texture and bind it, subsequent apply will simple bind to texture
-
virtual void compile(State& state) const
- Compile the texture mip maps.
-
static void deleteTextureObject(uint contextID, GLuint handle)
- use deleteTextureObject instead of glDeleteTextures to allow OpenGL texture objects to cached until they can be deleted by the OpenGL context in which they were created, specified by contextID
-
static void flushDeletedTextureObjects(uint contextID)
- flush all the cached display list which need to be deleted in the OpenGL context related to contextID
Public Members
-
enum WrapParameter
-
enum WrapMode
-
enum FilterParameter
-
enum FilterMode
-
enum InternalFormatMode
-
enum SubloadMode
Protected Fields
-
mutable ref_ptr<Image> _image
-
GLenum _target
-
WrapMode _wrap_s
-
WrapMode _wrap_t
-
WrapMode _wrap_r
-
FilterMode _min_filter
-
FilterMode _mag_filter
-
mutable bool _texParamtersDirty
-
InternalFormatMode _internalFormatMode
-
int _internalFormatValue
-
Vec4 _borderColor
-
mutable GLsizei _textureWidth
-
mutable GLsizei _textureHeight
-
SubloadMode _subloadMode
-
GLint _subloadOffsX
-
GLint _subloadOffsY
-
GLsizei _subloadWidth
-
GLsizei _subloadHeight
Protected Methods
-
virtual ~Texture()
-
void applyTexParameters(GLenum target, State& state) const
- Method which does setting of texture paramters.
-
virtual void applyTexImage(GLenum target, Image* image, State& state) const
- Method which does the creation of the texture itself, and does not set or use texture binding.
Protected Members
-
typedef std::vector<GLuint> TextureNameList mutable TextureNameList _handleList
-
typedef std::vector<uint> ImageModifiedTag mutable ImageModifiedTag _modifiedTag
-
typedef std::map<uint,std::set<uint> >static DeletedTextureObjectCache DeletedTextureObjectCache s_deletedTextureObjectCache
Public Methods
-
virtual Object* cloneType() const
-
virtual Object* clone(const CopyOp&) const
-
virtual bool isSameKindAs(const Object* obj) const
-
virtual const char* libraryName() const
-
virtual const char* className() const
-
virtual const Type getType() const
-
bool operator < (const StateAttribute& rhs) const
-
bool operator == (const StateAttribute& rhs) const
-
bool operator != (const StateAttribute& rhs) const
Public Members
-
typedef GLenum GLMode
-
typedef unsigned int GLModeValue
-
typedef unsigned int OverrideValue
-
enum Values
-
typedef unsigned int Type
-
enum Types
Inherited from Object:
Public Methods
-
inline void setDataVariance(const DataVariance dv)
-
inline const DataVariance getDataVariance() const
-
inline void setUserData(Referenced* obj)
-
inline Referenced* getUserData()
-
inline const Referenced* getUserData() const
Public Members
-
enum DataVariance
Protected Fields
-
DataVariance _dataVariance
-
ref_ptr<Referenced> _userData
Public Methods
-
inline Referenced& operator = (Referenced&)
-
inline void ref() const
-
inline void unref() const
-
inline void unref_nodelete() const
-
inline const int referenceCount() const
Protected Fields
-
mutable int _refCount
Documentation
Texture state class which encapsulates OpenGl texture functionality
- Texture()
- Texture(const Texture& text, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
- Copy constructor using CopyOp to manage deep vs shallow copy
- META_StateAttribute(osg, Texture, TEXTURE)
- virtual bool isTextureAttribute() const
- virtual int compare(const StateAttribute& rhs) const
- return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
- virtual void getAssociatedModes(std::vector<GLMode>& modes) const
- void setImage(Image* image)
- Set the texture image.
- Image* getImage()
- Get the texture image.
- inline const Image* getImage() const
- Get the const texture image.
- void copyTexImage2D(State& state, int x, int y, int width, int height )
- Copy pixels into a 2D texture imageAs per glCopyTexImage2D.
Creates an OpenGL texture object from the current OpenGL background
framebuffer contents at pos \a x, \a y with width \a width and
height \a height. \a width and \a height must be a power of two.
- void copyTexSubImage2D(State& state, int xoffset, int yoffset, int x, int y, int width, int height )
- Copy a two-dimensional texture subimage. As per glCopyTexSubImage2D.
Updates portion of an existing OpenGL texture object from the current OpenGL background
framebuffer contents at pos \a x, \a y with width \a width and
height \a height. \a width and \a height must be a power of two,
and writing into the texture with offset \a xoffset and \a yoffset.
- enum WrapParameter
- WRAP_S
- WRAP_T
- WRAP_R
- enum WrapMode
- CLAMP
- CLAMP_TO_EDGE
- CLAMP_TO_BORDER
- REPEAT
- MIRROR
- void setWrap(const WrapParameter which, const WrapMode wrap)
- Set the texture wrap mode
- const WrapMode getWrap(const WrapParameter which) const
- Get the texture wrap mode
- void setBorderColor(const Vec4& color)
- Sets the border color for this texture. Makes difference only if
wrap mode is CLAMP_TO_BORDER
- const Vec4& borderColor(void) const
- enum FilterParameter
- MIN_FILTER
- MAG_FILTER
- enum FilterMode
- LINEAR
- LINEAR_MIPMAP_LINEAR
- LINEAR_MIPMAP_NEAREST
- NEAREST
- NEAREST_MIPMAP_LINEAR
- NEAREST_MIPMAP_NEAREST
- ANISOTROPIC
- void setFilter(const FilterParameter which, const FilterMode filter)
- Set the texture filter mode
- const FilterMode getFilter(const FilterParameter which) const
- Get the texture filter mode
- 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
- inline void setInternalFormatMode(const InternalFormatMode mode)
- Set the internal format mode.
Note, If the mode is set USE_IMAGE_DATA_FORMAT, USE_ARB_COMPRESSION,
USE_S3TC_COMPRESSION the internalFormat is automatically selected,
and will overwrite the previous _internalFormatValue.
- inline const InternalFormatMode getInternalFormatMode() const
- Get the internal format mode
- inline void setInternalFormatValue(const int internalFormat)
- Set the internal format to use when creating OpenGL textures.
Also sets the internalFormatMode to USE_USER_DEFINED_FORMAT.
- inline const int getInternalFormatValue() const
- Get the internal format to use when creating OpenGL textures
- inline const uint getTextureObject(const uint contextID) const
- return the OpenGL texture object for specified context
- enum SubloadMode
- OFF
- AUTO
- IF_DIRTY
- inline void setSubloadMode(const SubloadMode mode)
- Set the texture subload mode.
- inline const SubloadMode getSubloadMode() const
- Get the texture subload mode.
- inline void setSubloadOffset(const int x, const int y)
- Set the texture subload offsets.
- inline void getSubloadOffset(int& x, int& y) const
- Get the texture subload offsets.
- inline void setSubloadSize(const int width, const int height)
- Set the texture subload width. If width or height are zero then
the repsective size value is calculated from the source image sizes.
- inline void getSubloadSize(int& width, int& height) const
- Get the texture subload width.
- inline GLuint& getHandle(const uint contextID) const
- Get the handle to the texture object for the current context
- inline uint& getModifiedTag(const uint contextID) const
- void dirtyTextureObject()
- Force a recompile on next apply() of associated OpenGL texture objects
- virtual void apply(State& state) const
- On first apply (unless already compiled), create the minmapped
texture and bind it, subsequent apply will simple bind to texture
- virtual void compile(State& state) const
- Compile the texture mip maps. Implemented by simply calling apply().
- static void deleteTextureObject(uint contextID, GLuint handle)
- use deleteTextureObject instead of glDeleteTextures to allow
OpenGL texture objects to cached until they can be deleted
by the OpenGL context in which they were created, specified
by contextID
- static void flushDeletedTextureObjects(uint contextID)
- flush all the cached display list which need to be deleted
in the OpenGL context related to contextID
- virtual ~Texture()
- void applyTexParameters(GLenum target, State& state) const
- Method which does setting of texture paramters.
- virtual void applyTexImage(GLenum target, Image* image, State& state) const
- Method which does the creation of the texture itself, and
does not set or use texture binding.
- typedef std::vector<GLuint> TextureNameList mutable TextureNameList _handleList
- typedef std::vector<uint> ImageModifiedTag mutable ImageModifiedTag _modifiedTag
- mutable ref_ptr<Image> _image
- GLenum _target
- WrapMode _wrap_s
- WrapMode _wrap_t
- WrapMode _wrap_r
- FilterMode _min_filter
- FilterMode _mag_filter
- mutable bool _texParamtersDirty
- InternalFormatMode _internalFormatMode
- int _internalFormatValue
- Vec4 _borderColor
- mutable GLsizei _textureWidth
- mutable GLsizei _textureHeight
- SubloadMode _subloadMode
- GLint _subloadOffsX
- GLint _subloadOffsY
- GLsizei _subloadWidth
- GLsizei _subloadHeight
- typedef std::map<uint,std::set<uint> >static DeletedTextureObjectCache DeletedTextureObjectCache s_deletedTextureObjectCache
- Direct child classes:
- TextureCubeMap
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.