Browse Source

Getter for vertex count in Mesh.

vectorfields
Vladimír Vondruš 16 years ago
parent
commit
197288e82a
  1. 4
      src/Mesh.cpp
  2. 9
      src/Mesh.h

4
src/Mesh.cpp

@ -69,7 +69,7 @@ void Mesh::draw() {
it->first->unbind();
}
glDrawArrays(_primitive, 0, count);
glDrawArrays(_primitive, 0, _vertexCount);
/* Disable vertex arrays for all attributes */
for(set<GLuint>::const_iterator it = _attributes.begin(); it != _attributes.end(); ++it)
@ -111,7 +111,7 @@ void Mesh::finalize() {
ait->pointer = reinterpret_cast<const GLvoid*>(position);
/* Add attribute size (for all vertices) to position */
position += ait->size*sizeOf(ait->type)*count;
position += ait->size*sizeOf(ait->type)*_vertexCount;
}
}
}

9
src/Mesh.h

@ -83,9 +83,9 @@ class Mesh {
/**
* @brief Constructor
* @param primitive Primitive type
* @param _count Vertex count
* @param vertexCount Vertex count
*/
inline Mesh(Primitive primitive, GLsizei _count): _primitive(primitive), count(_count), finalized(false) {}
inline Mesh(Primitive primitive, GLsizei vertexCount): _primitive(primitive), _vertexCount(vertexCount), finalized(false) {}
/**
* @brief Destructor
@ -97,6 +97,9 @@ class Mesh {
/** @brief Primitive type */
inline Primitive primitive() const { return _primitive; }
/** @brief Vertex count */
inline GLsizei vertexCount() const { return _vertexCount; }
/**
* @brief Add buffer
* @param interleaved If storing more than one attribute data in the
@ -164,7 +167,7 @@ class Mesh {
private:
Primitive _primitive;
GLsizei count;
GLsizei _vertexCount;
bool finalized;
std::map<Buffer*, std::pair<bool, std::vector<Attribute> > > _buffers;

Loading…
Cancel
Save