| VRS - The Virtual Rendering System |
| version 3.3 |
#include <vrs/opengl/vertexattributebufferobjectgl.h>

Public Member Functions | |
| VertexAttributeBufferObjectGL (EngineGL *engine, UINT elements, DataType type, UsagePattern usagePattern) | |
| VertexAttributeBufferObjectGL (EngineGL *engine, Iterator< T > *iter, DataType type, UsagePattern usagePattern) | |
| VertexAttributeBufferObjectGL (EngineGL *engine, const std::vector< T > &values, DataType type, UsagePattern usagePattern) | |
| VertexAttributeBufferObjectGL (Iterator< T > *iter) | |
| virtual | ~VertexAttributeBufferObjectGL () |
| virtual GLenum | componentType () const |
| virtual UINT | components () const |
| virtual UINT | elements () const |
| See base class BaseVertexAttributeBufferObjectGL. | |
| T * | mapAttributePointer (MapAccess access) |
| const T * | mapAttributePointer (MapAccess access) const |
| bool | unmapAttributePointer () const |
| bool | attributePointerIsMapped () const |
| void | update (Iterator< T > *iter, UINT offset=0) |
| void | update (const std::vector< T > &values, UINT offset=0) |
| void | replace (Iterator< T > *iter) |
| void | replace (const std::vector< T > &values) |
| virtual SO < BaseVertexAttributeBufferObjectGL > | clone (EngineGL *engine, UsagePattern usagePattern) |
| Creates a new instance of the same derived class and copies the data into it. | |
| virtual SO < BaseVertexAttributeBufferObjectGL > | clone (EngineGL *engine, UINT elements, UsagePattern usagePattern) |
| Creates a new instance of the same derived class, but with new size and a new usage pattern. | |
| VRS_TYPEINFO (VertexAttributeBufferObjectGL, BaseVertexAttributeBufferObjectGL) | |
| VRS_SERIALIZABLE (VertexAttributeBufferObjectGL) | |
Static Protected Member Functions | |
| static UINT | getComponents (const GLubyte *) |
| static UINT | getComponents (const GLbyte *) |
| static UINT | getComponents (const GLushort *) |
| static UINT | getComponents (const GLshort *) |
| static UINT | getComponents (const GLuint *) |
| static UINT | getComponents (const GLint *) |
| static UINT | getComponents (const GLfloat *) |
| static UINT | getComponents (const GLdouble *) |
| static UINT | getComponents (const bool *) |
| template<unsigned int DIM, typename TYPE> | |
| static UINT | getComponents (const VertexData< DIM, TYPE > *) |
| static GLenum | getComponentType (const GLubyte *) |
| static GLenum | getComponentType (const GLbyte *) |
| static GLenum | getComponentType (const GLushort *) |
| static GLenum | getComponentType (const GLshort *) |
| static GLenum | getComponentType (const GLuint *) |
| static GLenum | getComponentType (const GLint *) |
| static GLenum | getComponentType (const GLfloat *) |
| static GLenum | getComponentType (const GLdouble *) |
| static GLenum | getComponentType (const bool *) |
| template<unsigned int DIM, typename TYPE> | |
| static GLenum | getComponentType (const VertexData< DIM, TYPE > *) |
| VRS::VertexAttributeBufferObjectGL< T >::VertexAttributeBufferObjectGL | ( | EngineGL * | engine, | |
| UINT | elements, | |||
| DataType | type, | |||
| UsagePattern | usagePattern | |||
| ) |
Allocates a buffer object for "elements"-many elements of type T. The content of the buffer will NOT be initialized to a default value! See base class BufferObjectGL for the descriptions of "type" and "usagePattern".
| VRS::VertexAttributeBufferObjectGL< T >::VertexAttributeBufferObjectGL | ( | EngineGL * | engine, | |
| Iterator< T > * | iter, | |||
| DataType | type, | |||
| UsagePattern | usagePattern | |||
| ) |
| VRS::VertexAttributeBufferObjectGL< T >::VertexAttributeBufferObjectGL | ( | EngineGL * | engine, | |
| const std::vector< T > & | values, | |||
| DataType | type, | |||
| UsagePattern | usagePattern | |||
| ) |
Allocates a buffer object for the elements provided by "iter" and copy the data of "iter" into this buffer. See base class BufferObjectGL for the descriptions of "type" and "usagePattern".
| VRS::VertexAttributeBufferObjectGL< T >::VertexAttributeBufferObjectGL | ( | Iterator< T > * | iter | ) |
This constructor provides the interface of the class VertexAttributeBufferObjectGL<T> for the data stored in the iterator "iter". If the data is stored as an array(-iterator), the data will NOT BE COPIED OR MOVED.
| virtual VRS::VertexAttributeBufferObjectGL< T >::~VertexAttributeBufferObjectGL | ( | ) | [virtual] |
| virtual GLenum VRS::VertexAttributeBufferObjectGL< T >::componentType | ( | ) | const [inline, virtual] |
Returns the type of the stored values of the buffer as an OpenGL enum, e.g., GL_FLOAT, GL_DOUBLE, GL_UNSIGNED_INT, ...
Implements VRS::BaseVertexAttributeBufferObjectGL.
| virtual UINT VRS::VertexAttributeBufferObjectGL< T >::components | ( | ) | const [inline, virtual] |
Returns the number of components belonging to one attribute, must be 1, 2, 3, or 4; e.g., 3 for VRS::Vector.
Implements VRS::BaseVertexAttributeBufferObjectGL.
| virtual UINT VRS::VertexAttributeBufferObjectGL< T >::elements | ( | ) | const [inline, virtual] |
See base class BaseVertexAttributeBufferObjectGL.
Implements VRS::BaseVertexAttributeBufferObjectGL.
| T* VRS::VertexAttributeBufferObjectGL< T >::mapAttributePointer | ( | MapAccess | access | ) | [inline] |
| const T* VRS::VertexAttributeBufferObjectGL< T >::mapAttributePointer | ( | MapAccess | access | ) | const [inline] |
| bool VRS::VertexAttributeBufferObjectGL< T >::unmapAttributePointer | ( | ) | const [inline] |
| bool VRS::VertexAttributeBufferObjectGL< T >::attributePointerIsMapped | ( | ) | const [inline] |
See base class BufferObjectGL. The mapAttributePointer() method provides a type-safe pointer to the buffer data.
| void VRS::VertexAttributeBufferObjectGL< T >::update | ( | Iterator< T > * | iter, | |
| UINT | offset = 0 | |||
| ) |
| void VRS::VertexAttributeBufferObjectGL< T >::update | ( | const std::vector< T > & | values, | |
| UINT | offset = 0 | |||
| ) |
See base class BufferObjectGL. This method allows to update the buffer content in a type-safe manner.
| void VRS::VertexAttributeBufferObjectGL< T >::replace | ( | Iterator< T > * | iter | ) |
| void VRS::VertexAttributeBufferObjectGL< T >::replace | ( | const std::vector< T > & | values | ) |
See base class BufferObjectGL. This method allows to replace the buffer content in a type-safe manner.
| virtual SO<BaseVertexAttributeBufferObjectGL> VRS::VertexAttributeBufferObjectGL< T >::clone | ( | EngineGL * | engine, | |
| UsagePattern | usagePattern | |||
| ) | [virtual] |
Creates a new instance of the same derived class and copies the data into it.
Implements VRS::BaseVertexAttributeBufferObjectGL.
| virtual SO<BaseVertexAttributeBufferObjectGL> VRS::VertexAttributeBufferObjectGL< T >::clone | ( | EngineGL * | engine, | |
| UINT | elements, | |||
| UsagePattern | usagePattern | |||
| ) | [virtual] |
Creates a new instance of the same derived class, but with new size and a new usage pattern.
Implements VRS::BaseVertexAttributeBufferObjectGL.
| VRS::VertexAttributeBufferObjectGL< T >::VRS_TYPEINFO | ( | VertexAttributeBufferObjectGL< T > | , | |
| BaseVertexAttributeBufferObjectGL< T > | ||||
| ) |
| VRS::VertexAttributeBufferObjectGL< T >::VRS_SERIALIZABLE | ( | VertexAttributeBufferObjectGL< T > | ) |
| static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents | ( | const GLubyte * | ) | [inline, static, protected] |
| static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents | ( | const GLbyte * | ) | [inline, static, protected] |
| static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents | ( | const GLushort * | ) | [inline, static, protected] |
| static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents | ( | const GLshort * | ) | [inline, static, protected] |
| static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents | ( | const GLuint * | ) | [inline, static, protected] |
| static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents | ( | const GLint * | ) | [inline, static, protected] |
| static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents | ( | const GLfloat * | ) | [inline, static, protected] |
| static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents | ( | const GLdouble * | ) | [inline, static, protected] |
| static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents | ( | const bool * | ) | [inline, static, protected] |
| static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents | ( | const VertexData< DIM, TYPE > * | ) | [inline, static, protected] |
| static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType | ( | const GLubyte * | ) | [inline, static, protected] |
| static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType | ( | const GLbyte * | ) | [inline, static, protected] |
| static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType | ( | const GLushort * | ) | [inline, static, protected] |
| static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType | ( | const GLshort * | ) | [inline, static, protected] |
| static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType | ( | const GLuint * | ) | [inline, static, protected] |
| static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType | ( | const GLint * | ) | [inline, static, protected] |
| static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType | ( | const GLfloat * | ) | [inline, static, protected] |
| static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType | ( | const GLdouble * | ) | [inline, static, protected] |
| static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType | ( | const bool * | ) | [inline, static, protected] |
| static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType | ( | const VertexData< DIM, TYPE > * | ) | [inline, static, protected] |