42 #ifndef GLS_VERTEX_ARRAY_H
43 #define GLS_VERTEX_ARRAY_H
56 class GlsStateManager;
62 static const GLuint
VERT_SIZE =
sizeof( GL_FLOAT ) * 3;
63 static const GLuint TEX_SIZE =
sizeof( GL_FLOAT ) * 2;
64 static const GLuint NORMAL_SIZE =
sizeof( GL_FLOAT ) * 3;
65 static const GLuint COLOR_SIZE =
sizeof( GL_UNSIGNED_BYTE ) * 4;
81 void Setup(
const int nVerts,
const bool hasT,
const bool hasC,
const bool hasN );
137 void Draw(
const unsigned int glPrimitive,
IGlsStateManager* stateManager,
const bool texture,
const bool color,
const bool normal );
152 const bool texture,
const bool color,
const bool normal );
167 void MultiDraw(
const unsigned int glPrimitive,
const unsigned int offset,
const unsigned int count,
const unsigned int primitiveSize,
GlsIndexArray& indexBuffer,
IGlsStateManager* stateManager,
const bool texture,
const bool color,
const bool normal );
void SetTexCoord(const unsigned int index, const Vector &v)
void SetColors(const Vertex verts[])
bool _hasT
Definition: gls_vertex_array.h:176
The disti::DynamicArray class. A templated array of objects capable of dynamically growing...
A base class for objects that are not copyable via the standard C++ copy constructor.
void AllocateBuffer(const unsigned int size)
unsigned char * _vertexData
Definition: gls_vertex_array.h:170
unsigned int _normalOffset
Definition: gls_vertex_array.h:182
void Draw(const unsigned int glPrimitive, IGlsStateManager *stateManager, const bool texture, const bool color, const bool normal)
Definition: gls_state_manager_interface.h:66
unsigned int _componentSize
Definition: gls_vertex_array.h:180
The Color class: Implements a 4 component RGBA color.
unsigned int _colorOffset
Definition: gls_vertex_array.h:183
A file for all GL Studio files to include.
void MultiDraw(const unsigned int glPrimitive, const unsigned int offset, const unsigned int count, const unsigned int primitiveSize, GlsIndexArray &indexBuffer, IGlsStateManager *stateManager, const bool texture, const bool color, const bool normal)
The Image class. All textures are converted internally into Images.
virtual ~GlsVertexArray()
unsigned int _nVerts
Definition: gls_vertex_array.h:184
void Bake(IGlsStateManager *stateManager)
The disti::Vertex class. A class for manipulating 3D vertices.
Definition: gls_vertex_array.h:58
unsigned int _bufferSize
Definition: gls_vertex_array.h:173
void SetVertex(const unsigned int index, const Vector &v)
unsigned int _vboHandle
Definition: gls_vertex_array.h:172
static const GLuint VERT_SIZE
Definition: gls_vertex_array.h:62
void Setup(const int nVerts, const bool hasT, const bool hasC, const bool hasN)
bool _hasN
Definition: gls_vertex_array.h:177
void SetTexCoords(const Vector verts[])
void SetVertices(const Vertex verts[])
Definition: gls_index_array.h:52
void SetNormals(const Vector verts[])
Definition: non_copyable.h:45
The disti::GlsIndexArray class, for managing index buffers.
bool _setup
Definition: gls_vertex_array.h:174
Definition: bmpimage.h:46
bool _hasC
Definition: gls_vertex_array.h:178
unsigned int _texOffset
Definition: gls_vertex_array.h:181