osg::BufferIndexBinding Class Reference

`#include <BufferIndexBinding>`

Inheritance diagram for osg::BufferIndexBinding:

## Public Member Functions

virtual unsigned | getMember () const
GLenum | getTarget () const
void | setTarget (GLenum t)
void | setBufferData (BufferData *bufferdata)
const BufferData * | getBufferData () const
BufferData * | getBufferData ()
GLuint | getIndex () const
void | setIndex (GLuint index)
void | setOffset (GLintptr offset)
GLintptr | getOffset () const
void | setSize (GLsizeiptr size)
GLsizeiptr | getSize () const
virtual void | apply (State &state) 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
virtual int | compare (const StateAttribute &sa) const =0
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 Member Functions

| BufferIndexBinding (GLenum target, GLuint index)
| BufferIndexBinding (GLenum target, GLuint index, BufferData *bd, GLintptr offset=0, GLsizeiptr size=0)
| BufferIndexBinding (const BufferIndexBinding &rhs, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual | ~BufferIndexBinding ()
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

## Protected Attributes

GLenum | _target
ref_ptr< BufferData > | _bufferData
GLuint | _index
GLintptr | _offset
GLsizeiptr | _size
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

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 }
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Detailed Description

Encapsulate binding buffer objects to index targets. This specifically supports the uniform buffer and transform feedback targets.

## Constructor & Destructor Documentation

## BufferIndexBinding() [1/3]

osg::BufferIndexBinding::BufferIndexBinding | ( | GLenum | target,
|  | GLuint | index )

protected

Referenced by BufferIndexBinding().

## BufferIndexBinding() [2/3]

osg::BufferIndexBinding::BufferIndexBinding | ( | GLenum | target,
|  | GLuint | index,
|  | BufferData * | bd,
|  | GLintptr | offset = 0,
|  | GLsizeiptr | size = 0 )

protected

## BufferIndexBinding() [3/3]

osg::BufferIndexBinding::BufferIndexBinding | ( | const BufferIndexBinding & | rhs,
|  | const CopyOp & | copyop = CopyOp::SHALLOW_COPY )

protected

References BufferIndexBinding(), and osg::CopyOp::SHALLOW_COPY.

## ~BufferIndexBinding()

virtual osg::BufferIndexBinding::~BufferIndexBinding | ( |  | ) |

protected virtual

## Member Function Documentation

## apply()

virtual void osg::BufferIndexBinding::apply | ( | 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.

## getBufferData() [1/2]

BufferData * osg::BufferIndexBinding::getBufferData | ( |  | ) |

inline

References _bufferData.

## getBufferData() [2/2]

const BufferData * osg::BufferIndexBinding::getBufferData | ( |  | ) | const

inline

Get the buffer data to be bound.

References _bufferData.

## getIndex()

GLuint osg::BufferIndexBinding::getIndex | ( |  | ) | const

inline

Get the index target.

References _index.

## getMember()

virtual unsigned osg::BufferIndexBinding::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 _index.

## getOffset()

GLintptr osg::BufferIndexBinding::getOffset | ( |  | ) | const

inline

References _offset.

## getSize()

GLsizeiptr osg::BufferIndexBinding::getSize | ( |  | ) | const

inline

References _size.

## getTarget()

GLenum osg::BufferIndexBinding::getTarget | ( |  | ) | const

inline

References _target.

## setBufferData()

void osg::BufferIndexBinding::setBufferData | ( | BufferData * | bufferdata | ) |

inline

References _bufferData, and _size.

## setIndex()

void osg::BufferIndexBinding::setIndex | ( | GLuint | index | ) |

Set the index target. (and update parents StateSets)

## setOffset()

void osg::BufferIndexBinding::setOffset | ( | GLintptr | offset | ) |

inline

Set the starting offset into the buffer data for the indexed target. Note: the required alignment on the offset may be quite large (e.g., 256 bytes on NVidia 8600M). This should be checked with glGetIntegerv(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT...).

References _offset.

## setSize()

void osg::BufferIndexBinding::setSize | ( | GLsizeiptr | size | ) |

inline

Set the size override of bufferdata binded for the indexed target.

References _size.

## setTarget()

void osg::BufferIndexBinding::setTarget | ( | GLenum | t | ) |

inline

enable arbitrary BufferBinding (user is responsible for _target mismatch with bufferdata what can be done is setting wrong _target and use the one of bd if not subclassed

References _target.

## Member Data Documentation

## _bufferData

ref_ptr<BufferData> osg::BufferIndexBinding::_bufferData

protected

Referenced by osg::AtomicCounterBufferBinding::compare(), osg::ShaderStorageBufferBinding::compare(), osg::TransformFeedbackBufferBinding::compare(), osg::UniformBufferBinding::compare(), getBufferData(), getBufferData(), and setBufferData().

## _index

GLuint osg::BufferIndexBinding::_index

protected

Referenced by osg::AtomicCounterBufferBinding::compare(), osg::ShaderStorageBufferBinding::compare(), osg::TransformFeedbackBufferBinding::compare(), osg::UniformBufferBinding::compare(), getIndex(), and getMember().

## _offset

GLintptr osg::BufferIndexBinding::_offset

protected

Referenced by osg::AtomicCounterBufferBinding::compare(), osg::ShaderStorageBufferBinding::compare(), osg::TransformFeedbackBufferBinding::compare(), osg::UniformBufferBinding::compare(), getOffset(), and setOffset().

## _size

GLsizeiptr osg::BufferIndexBinding::_size

protected

Referenced by osg::AtomicCounterBufferBinding::compare(), osg::ShaderStorageBufferBinding::compare(), osg::TransformFeedbackBufferBinding::compare(), osg::UniformBufferBinding::compare(), getSize(), setBufferData(), and setSize().

## _target

GLenum osg::BufferIndexBinding::_target

protected

Referenced by osg::AtomicCounterBufferBinding::compare(), osg::ShaderStorageBufferBinding::compare(), osg::TransformFeedbackBufferBinding::compare(), osg::UniformBufferBinding::compare(), getTarget(), and setTarget().

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

- BufferIndexBinding