18 #ifndef INCLUDED_VERTEXARRAY 19 #define INCLUDED_VERTEXARRAY 147 Attribute() : type(0), elems(0), offset(0), vertexArray(0) { }
160 VertexArray(GLenum usage, GLenum target = GL_ARRAY_BUFFER);
164 void SetNumVertices(
size_t num);
180 void PrepareForRendering();
186 void FreeBackingStore();
226 #endif // INCLUDED_VERTEXARRAY GLenum m_Target
Definition: VertexArray.h:199
VertexArray * vertexArray
Definition: VertexArray.h:145
VertexArrayIterator operator-(ssize_t rhs) const
Definition: VertexArray.h:99
size_t GetStride() const
Definition: VertexArray.h:111
CVertexBuffer::VBChunk * m_VB
Definition: VertexArray.h:203
VertexArrayIterator & operator--()
Definition: VertexArray.h:70
T & operator*() const
Definition: VertexArray.h:54
VertexArrayIterator< T > MakeIterator(const Attribute *attr)
Definition: VertexArray.h:192
VBChunk: describes a portion of this vertex buffer.
Definition: VertexBuffer.h:62
uint8_t u8
Definition: types.h:37
A VertexArray that is specialised to handle 16-bit array indices.
Definition: VertexArray.h:214
#define ENSURE(expr)
ensure the expression <expr> evaluates to non-zero.
Definition: debug.h:287
size_t m_Stride
Definition: VertexArray.h:204
Definition: VertexArray.h:135
T & operator[](size_t idx) const
Definition: VertexArray.h:56
VertexArrayIterator operator++(int)
Definition: VertexArray.h:64
T * operator->() const
Definition: VertexArray.h:55
Definition: VertexArray.h:132
VertexArrayIterator & operator-=(ssize_t rhs)
Definition: VertexArray.h:87
char * m_BackingStore
Definition: VertexArray.h:205
#define T(string_literal)
Definition: secure_crt.cpp:76
GLenum type
Definition: VertexArray.h:138
T Type
Definition: VertexArray.h:28
GLuint elems
Definition: VertexArray.h:140
std::vector< Attribute * > m_Attributes
Definition: VertexArray.h:201
Attribute m_Attr
Definition: VertexArray.h:223
intptr_t ssize_t
Definition: wposix_types.h:82
VertexArrayIterator()
Definition: VertexArray.h:31
char * m_Data
Definition: VertexArray.h:117
VertexArrayIterator & operator++()
Definition: VertexArray.h:59
VertexArrayIterator(char *data, size_t stride)
Definition: VertexArray.h:36
size_t m_Stride
Definition: VertexArray.h:118
VertexArrayIterator operator+(ssize_t rhs) const
Definition: VertexArray.h:93
VertexArrayIterator & operator+=(ssize_t rhs)
Definition: VertexArray.h:82
Definition: VertexArray.h:25
VertexArrayIterator operator--(int)
Definition: VertexArray.h:75
char * GetData() const
Definition: VertexArray.h:107
GLenum m_Usage
Definition: VertexArray.h:198
size_t m_NumVertices
Definition: VertexArray.h:200
size_t offset
Definition: VertexArray.h:143
void Free(void *p, size_t size)
decommit memory and release address space.
Definition: uvm.cpp:113
size_t GetStride() const
Definition: VertexArray.h:169
VertexArrayIterator & operator=(const VertexArrayIterator &rhs)
Definition: VertexArray.h:46
VertexArrayIterator(const VertexArrayIterator &rhs)
Definition: VertexArray.h:41
size_t GetNumVertices() const
Definition: VertexArray.h:168
Attribute()
Definition: VertexArray.h:147