OGRE  master
Object-Oriented Graphics Rendering Engine
Ogre::GLVertexArrayObject Class Reference

Specialisation of VertexDeclaration for OpenGL Vertex Array Object usage. More...

#include <OgreGLVertexArrayObject.h>

+ Inheritance diagram for Ogre::GLVertexArrayObject:

Public Member Functions

 GLVertexArrayObject ()
 
 ~GLVertexArrayObject ()
 
void bind (GLRenderSystemCommon *rs)
 
void bindToGpu (GLRenderSystemCommon *rs, VertexBufferBinding *vertexBufferBinding, size_t vertexStart)
 
bool needsUpdate (VertexBufferBinding *vertexBufferBinding, size_t vertexStart)
 
void notifyContextDestroyed (GLContext *context)
 
- Public Member Functions inherited from Ogre::VertexDeclaration
 VertexDeclaration ()
 Standard constructor, not you should use HardwareBufferManager::createVertexDeclaration. More...
 
virtual ~VertexDeclaration ()
 
const VertexElementaddElement (unsigned short source, size_t offset, VertexElementType theType, VertexElementSemantic semantic, unsigned short index=0)
 Adds a new VertexElement to this declaration. More...
 
VertexDeclarationclone (HardwareBufferManagerBase *mgr=0) const
 Clones this declaration. More...
 
void closeGapsInSource (void)
 Remove any gaps in the source buffer list used by this declaration. More...
 
const VertexElementfindElementBySemantic (VertexElementSemantic sem, unsigned short index=0) const
 Finds a VertexElement with the given semantic and index. More...
 
VertexElementList findElementsBySource (unsigned short source) const
 Based on the current elements, gets the size of the vertex for a given buffer source. More...
 
VertexDeclarationgetAutoOrganisedDeclaration (bool skeletalAnimation, bool vertexAnimation, bool vertexAnimationNormals) const
 Generates a new VertexDeclaration for optimal usage based on the current vertex declaration, which can be used with VertexData::reorganiseBuffers later if you wish, or simply used as a template. More...
 
const VertexElementgetElement (unsigned short index) const
 Get a single element. More...
 
size_t getElementCount (void) const
 Get the number of elements in the declaration. More...
 
const VertexElementListgetElements (void) const
 Gets read-only access to the list of vertex elements. More...
 
unsigned short getMaxSource (void) const
 Gets the index of the highest source value referenced by this declaration. More...
 
unsigned short getNextFreeTextureCoordinate () const
 Return the index of the next free texture coordinate set which may be added to this declaration. More...
 
size_t getVertexSize (unsigned short source) const
 Gets the vertex size defined by this declaration for a given source. More...
 
const VertexElementinsertElement (unsigned short atPosition, unsigned short source, size_t offset, VertexElementType theType, VertexElementSemantic semantic, unsigned short index=0)
 Inserts a new VertexElement at a given position in this declaration. More...
 
void modifyElement (unsigned short elem_index, unsigned short source, size_t offset, VertexElementType theType, VertexElementSemantic semantic, unsigned short index=0)
 Modify an element in-place, params as addElement. More...
 
bool operator!= (const VertexDeclaration &rhs) const
 
bool operator== (const VertexDeclaration &rhs) const
 
void removeAllElements (void)
 Remove all elements. More...
 
void removeElement (unsigned short elem_index)
 Remove the element at the given index from this declaration. More...
 
void removeElement (VertexElementSemantic semantic, unsigned short index=0)
 Remove the element with the given semantic and usage index. More...
 
void sort (void)
 Sorts the elements in this list to be compatible with D3D7 graphics cards. More...
 

Additional Inherited Members

- Public Types inherited from Ogre::VertexDeclaration
typedef std::list< VertexElementVertexElementList
 Defines the list of vertex elements that makes up this declaration. More...
 

Detailed Description

Specialisation of VertexDeclaration for OpenGL Vertex Array Object usage.

Constructor & Destructor Documentation

◆ GLVertexArrayObject()

Ogre::GLVertexArrayObject::GLVertexArrayObject ( )

◆ ~GLVertexArrayObject()

Ogre::GLVertexArrayObject::~GLVertexArrayObject ( )

Member Function Documentation

◆ notifyContextDestroyed()

void Ogre::GLVertexArrayObject::notifyContextDestroyed ( GLContext context)
inline

References bind(), bindToGpu(), and needsUpdate().

◆ bind()

void Ogre::GLVertexArrayObject::bind ( GLRenderSystemCommon rs)

Referenced by notifyContextDestroyed().

◆ needsUpdate()

bool Ogre::GLVertexArrayObject::needsUpdate ( VertexBufferBinding vertexBufferBinding,
size_t  vertexStart 
)

Referenced by notifyContextDestroyed().

◆ bindToGpu()

void Ogre::GLVertexArrayObject::bindToGpu ( GLRenderSystemCommon rs,
VertexBufferBinding vertexBufferBinding,
size_t  vertexStart 
)

Referenced by notifyContextDestroyed().


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