diff options
Diffstat (limited to 'src/model/fragment.cc')
-rw-r--r-- | src/model/fragment.cc | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/model/fragment.cc b/src/model/fragment.cc index 38990d5..b655807 100644 --- a/src/model/fragment.cc +++ b/src/model/fragment.cc @@ -10,10 +10,14 @@ namespace model { +/* + Triangles: the number of triangles is size/3 + Quads: the number of Quads is size/4 +*/ Fragment::Fragment(Type type, unsigned int material) { fragment_type = type; - fragment_start = VertexArray::instance()->index(); + fragment_index = VertexArray::instance()->index() / 3; fragment_material = material; fragment_structural_size = 0; fragment_detail_size = 0; @@ -22,11 +26,12 @@ Fragment::Fragment(Type type, unsigned int material) size_t Fragment::add_vertex(math::Vector3f const & vertex, math::Vector3f const &normal, math::Color const & color, bool detail) { size_t n = VertexArray::instance()->add_vertex(vertex, normal, color); - - if (detail) - fragment_detail_size += n; - else - fragment_structural_size += n; + if (n) { + if (detail) + fragment_detail_size += n; + else + fragment_structural_size += n; + } return n; } |