osg::BindImageTexture Class Reference

`#include <BindImageTexture>`

Inheritance diagram for osg::BindImageTexture:

## Public Types

enum | Access { NOT_USED = 0 , READ_ONLY = GL_READ_ONLY_ARB , WRITE_ONLY = GL_WRITE_ONLY_ARB , READ_WRITE = GL_READ_WRITE_ARB }
Public Types inherited from osg::StateAttribute
enum | Values { OFF = 0x0 , ON = 0x1 , OVERRIDE = 0x2 , PROTECTED = 0x4 , INHERIT = 0x8 }

enum

Type {
TEXTURE , POLYGONMODE , POLYGONOFFSET , MATERIAL ,
ALPHAFUNC , ANTIALIAS , COLORTABLE , CULLFACE ,
FOG , FRONTFACE , LIGHT , POINT ,
LINEWIDTH , LINESTIPPLE , POLYGONSTIPPLE , SHADEMODEL ,
TEXENV , TEXENVFILTER , TEXGEN , TEXMAT ,
LIGHTMODEL , BLENDFUNC , BLENDEQUATION , LOGICOP ,
STENCIL , COLORMASK , DEPTH , VIEWPORT ,
SCISSOR , BLENDCOLOR , MULTISAMPLE , CLIPPLANE ,
COLORMATRIX , VERTEXPROGRAM , FRAGMENTPROGRAM , POINTSPRITE ,
PROGRAM , CLAMPCOLOR , HINT , SAMPLEMASKI ,
PRIMITIVERESTARTINDEX , CLIPCONTROL , VALIDATOR , VIEWMATRIXEXTRACTOR ,
OSGNV_PARAMETER_BLOCK , OSGNVEXT_TEXTURE_SHADER , OSGNVEXT_VERTEX_PROGRAM , OSGNVEXT_REGISTER_COMBINERS ,
OSGNVCG_PROGRAM , OSGNVSLANG_PROGRAM , OSGNVPARSE_PROGRAM_PARSER , UNIFORMBUFFERBINDING ,
TRANSFORMFEEDBACKBUFFERBINDING , ATOMICCOUNTERBUFFERBINDING , PATCH_PARAMETER , FRAME_BUFFER_OBJECT ,
VERTEX_ATTRIB_DIVISOR , SHADERSTORAGEBUFFERBINDING , INDIRECTDRAWBUFFERBINDING , VIEWPORTINDEXED ,
DEPTHRANGEINDEXED , SCISSORINDEXED , BINDIMAGETEXTURE , SAMPLER ,
CAPABILITY = 100
}

typedef GLenum | GLMode
typedef unsigned int | GLModeValue
typedef unsigned int | OverrideValue
typedef std::pair< Type, unsigned int > | TypeMemberPair
typedef std::vector< StateSet * > | ParentList
typedef osg::StateAttributeCallback | Callback
Public Types inherited from osg::Object
enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED }

## Public Member Functions

| BindImageTexture (GLuint imageunit=0, osg::Texture *target=0, Access access=READ_ONLY, GLenum format=GL_RGBA8, int level=0, bool layered=GL_FALSE, int layer=0)
| BindImageTexture (const BindImageTexture &o, osg::CopyOp op=osg::CopyOp::SHALLOW_COPY)
virtual | ~BindImageTexture ()
| META_StateAttribute (osg, BindImageTexture, BINDIMAGETEXTURE) inline void setImageUnit(GLuint i)
GLuint | getImageUnit () const
void | setLevel (GLint i)
GLint | getLevel () const
void | setIsLayered (GLboolean i)
GLboolean | getIsLayered () const
void | setLayer (GLint i)
GLint | getLayer () const
void | setAccess (Access i)
Access | getAccess () const
void | setFormat (GLenum i)
GLenum | getFormat () const
void | setTexture (osg::Texture *target)
osg::Texture * | getTexture ()
const osg::Texture * | getTexture () const
virtual void | apply (osg::State &state) const
virtual int | compare (const osg::StateAttribute &sa) const
virtual unsigned | getMember () const
Public Member Functions inherited from osg::StateAttribute
| StateAttribute ()
| StateAttribute (const StateAttribute &sa, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual Object * | cloneType () const =0
virtual Object * | clone (const CopyOp &) const =0
virtual bool | isSameKindAs (const Object *obj) const
virtual const char * | libraryName () const
virtual const char * | className () const
virtual StateAttribute * | asStateAttribute ()
virtual const StateAttribute * | asStateAttribute () const
virtual Texture * | asTexture ()
virtual const Texture * | asTexture () const
virtual Type | getType () const =0
TypeMemberPair | getTypeMemberPair () const
virtual bool | isTextureAttribute () const
bool | operator< (const StateAttribute &rhs) const
bool | operator== (const StateAttribute &rhs) const
bool | operator!= (const StateAttribute &rhs) const
const ParentList & | getParents () const
StateSet * | getParent (unsigned int i)
const StateSet * | getParent (unsigned int i) const
unsigned int | getNumParents () const
void | setShaderComponent (ShaderComponent *sc)
ShaderComponent * | getShaderComponent ()
const ShaderComponent * | getShaderComponent () const
virtual bool | getModeUsage (ModeUsage &) const
virtual bool | checkValidityOfAssociatedModes (osg::State &) const
void | setUpdateCallback (StateAttributeCallback *uc)
StateAttributeCallback * | getUpdateCallback ()
const StateAttributeCallback * | getUpdateCallback () const
void | setEventCallback (StateAttributeCallback *ec)
StateAttributeCallback * | getEventCallback ()
const StateAttributeCallback * | getEventCallback () const
virtual void | compileGLObjects (State &) const
virtual void | resizeGLObjectBuffers (unsigned int)
virtual void | releaseGLObjects (State *=0) const
Public Member Functions inherited from osg::Object
| Object ()
| Object (bool threadSafeRefUnref)
| Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
std::string | getCompoundClassName () const
virtual Node * | asNode ()
virtual const Node * | asNode () const
virtual NodeVisitor * | asNodeVisitor ()
virtual const NodeVisitor * | asNodeVisitor () const
virtual StateSet * | asStateSet ()
virtual const StateSet * | asStateSet () const
virtual Uniform * | asUniform ()
virtual const Uniform * | asUniform () const
virtual Camera * | asCamera ()
virtual const Camera * | asCamera () const
virtual Drawable * | asDrawable ()
virtual const Drawable * | asDrawable () const
virtual Callback * | asCallback ()
virtual const Callback * | asCallback () const
virtual CallbackObject * | asCallbackObject ()
virtual const CallbackObject * | asCallbackObject () const
virtual UserDataContainer * | asUserDataContainer ()
virtual const UserDataContainer * | asUserDataContainer () const
virtual ValueObject * | asValueObject ()
virtual const ValueObject * | asValueObject () const
virtual Image * | asImage ()
virtual const Image * | asImage () const
virtual void | setThreadSafeRefUnref (bool threadSafe)
virtual void | setName (const std::string &name)
void | setName (const char *name)
const std::string & | getName () const
void | setDataVariance (DataVariance dv)
DataVariance | getDataVariance () const
virtual void | computeDataVariance ()
void | setUserDataContainer (osg::UserDataContainer *udc)
template<class T>
void | setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainer * | getUserDataContainer ()
const osg::UserDataContainer * | getUserDataContainer () const
osg::UserDataContainer * | getOrCreateUserDataContainer ()
virtual void | setUserData (Referenced *obj)
template<class T>
void | setUserData (const ref_ptr< T > &ud)
virtual Referenced * | getUserData ()
virtual const Referenced * | getUserData () const
template<typename T>
bool | getUserValue (const std::string &name, T &value) const
template<typename T>
void | setUserValue (const std::string &name, const T &value)
template<typename T>
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) const

## Protected Attributes

osg::ref_ptr< osg::Texture > | _target
GLuint | _imageunit
GLint | _level
GLboolean | _layered
GLint | _layer
Access | _access
GLenum | _format
Protected Attributes inherited from osg::StateAttribute
ParentList | _parents
ref_ptr< ShaderComponent > | _shaderComponent
ref_ptr< StateAttributeCallback > | _updateCallback
ref_ptr< StateAttributeCallback > | _eventCallback
Protected Attributes inherited from osg::Object
std::string | _name
DataVariance | _dataVariance
osg::UserDataContainer * | _userDataContainer
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()
Protected Member Functions inherited from osg::StateAttribute
virtual | ~StateAttribute ()
void | addParent (osg::StateSet *object)
void | removeParent (osg::StateSet *object)
Protected Member Functions inherited from osg::Object
virtual | ~Object ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Detailed Description

Bind texture to an image unit (available only if GL version is 4.2 or greater) The format parameter for the image unit need not exactly match the texture internal format, but if it is set to 0, the texture internal format will be used. See http://www.opengl.org/registry/specs/ARB/shader_image_load_store.txt void bindToImageUnit(unsigned int unit, GLenum access, GLenum format=0, int level=0, bool layered=false, int layer=0);

## Member Enumeration Documentation

## Access

enum osg::BindImageTexture::Access

Type of access that will be performed on the texture image.

Enumerator
NOT_USED |
READ_ONLY |
WRITE_ONLY |
READ_WRITE |

## Constructor & Destructor Documentation

## BindImageTexture() [1/2]

osg::BindImageTexture::BindImageTexture | ( | GLuint | imageunit = 0,
|  | osg::Texture * | target = 0,
|  | Access | access = READ_ONLY,
|  | GLenum | format = GL_RGBA8,
|  | int | level = 0,
|  | bool | layered = GL_FALSE,
|  | int | layer = 0 )

inline

References _access, _format, _imageunit, _layer, _layered, _level, _target, GL_RGBA8, READ_ONLY, and osg::StateAttribute::StateAttribute().

Referenced by BindImageTexture(), and META_StateAttribute().

## BindImageTexture() [2/2]

osg::BindImageTexture::BindImageTexture | ( | const BindImageTexture & | o,
|  | osg::CopyOp | op = osg::CopyOp::SHALLOW_COPY )

inline

References _access, _format, _imageunit, _layer, _layered, _level, _target, BindImageTexture(), osg::CopyOp::SHALLOW_COPY, and osg::StateAttribute::StateAttribute().

## ~BindImageTexture()

virtual osg::BindImageTexture::~BindImageTexture | ( |  | ) |

inline virtual

## Member Function Documentation

## apply()

virtual void osg::BindImageTexture::apply | ( | osg::State & |  | ) | const

virtual

apply the OpenGL state attributes. The render info for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state.

Reimplemented from osg::StateAttribute.

## compare()

virtual int osg::BindImageTexture::compare | ( | const osg::StateAttribute & | sa | ) | const

virtual

Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.

Implements osg::StateAttribute.

## getAccess()

Access osg::BindImageTexture::getAccess | ( |  | ) | const

inline

References _access.

## getFormat()

GLenum osg::BindImageTexture::getFormat | ( |  | ) | const

inline

References _format.

## getImageUnit()

GLuint osg::BindImageTexture::getImageUnit | ( |  | ) | const

inline

References _imageunit.

## getIsLayered()

GLboolean osg::BindImageTexture::getIsLayered | ( |  | ) | const

inline

References _layered.

## getLayer()

GLint osg::BindImageTexture::getLayer | ( |  | ) | const

inline

References _layer.

## getLevel()

GLint osg::BindImageTexture::getLevel | ( |  | ) | const

inline

References _level.

## getMember()

virtual unsigned osg::BindImageTexture::getMember | ( |  | ) | const

inline virtual

Return the member identifier within the attribute's class type. Used for light number/clip plane number etc.

Reimplemented from osg::StateAttribute.

References _imageunit.

## getTexture() [1/2]

osg::Texture * osg::BindImageTexture::getTexture | ( |  | ) |

inline

References _target.

## getTexture() [2/2]

const osg::Texture * osg::BindImageTexture::getTexture | ( |  | ) | const

inline

References _target.

## META_StateAttribute()

osg::BindImageTexture::META_StateAttribute | ( | osg | ,
|  | BindImageTexture | ,
|  | BINDIMAGETEXTURE | )

inline

References _imageunit, osg::StateAttribute::BINDIMAGETEXTURE, and BindImageTexture().

## setAccess()

void osg::BindImageTexture::setAccess | ( | Access | i | ) |

inline

References _access.

## setFormat()

void osg::BindImageTexture::setFormat | ( | GLenum | i | ) |

inline

References _format.

## setIsLayered()

void osg::BindImageTexture::setIsLayered | ( | GLboolean | i | ) |

inline

References _layered.

## setLayer()

void osg::BindImageTexture::setLayer | ( | GLint | i | ) |

inline

References _layer.

## setLevel()

void osg::BindImageTexture::setLevel | ( | GLint | i | ) |

inline

References _level.

## setTexture()

void osg::BindImageTexture::setTexture | ( | osg::Texture * | target | ) |

inline

References _target.

## Member Data Documentation

## _access

Access osg::BindImageTexture::_access

protected

Referenced by BindImageTexture(), BindImageTexture(), getAccess(), and setAccess().

## _format

GLenum osg::BindImageTexture::_format

protected

Referenced by BindImageTexture(), BindImageTexture(), getFormat(), and setFormat().

## _imageunit

GLuint osg::BindImageTexture::_imageunit

protected

Referenced by BindImageTexture(), BindImageTexture(), getImageUnit(), getMember(), and META_StateAttribute().

## _layer

GLint osg::BindImageTexture::_layer

protected

Referenced by BindImageTexture(), BindImageTexture(), getLayer(), and setLayer().

## _layered

GLboolean osg::BindImageTexture::_layered

protected

Referenced by BindImageTexture(), BindImageTexture(), getIsLayered(), and setIsLayered().

## _level

GLint osg::BindImageTexture::_level

protected

Referenced by BindImageTexture(), BindImageTexture(), getLevel(), and setLevel().

## _target

osg::ref_ptr<osg::Texture> osg::BindImageTexture::_target

protected

Referenced by BindImageTexture(), BindImageTexture(), getTexture(), getTexture(), and setTexture().

The documentation for this class was generated from the following file:

- BindImageTexture