Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-07-23 15:16:56 +0000
committerStijn Buys <ingar@osirion.org>2008-07-23 15:16:56 +0000
commit426b766efbccdd8f5715de9526464db251fac30c (patch)
treef1abfea7c1d4d4f1e97bd534d447cb6907576e2f /src/model/fragment.cc
parent67517585e9b55967f5236ed5ebca77173eb2f2e3 (diff)
preparing for fragment rendering
Diffstat (limited to 'src/model/fragment.cc')
-rw-r--r--src/model/fragment.cc34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/model/fragment.cc b/src/model/fragment.cc
new file mode 100644
index 0000000..38990d5
--- /dev/null
+++ b/src/model/fragment.cc
@@ -0,0 +1,34 @@
+/*
+ model/fragment.cc
+ This file is part of the Osirion project and is distributed under
+ the terms of the GNU General Public License version 2
+*/
+
+#include "model/fragment.h"
+#include "model/vertexarray.h"
+
+namespace model
+{
+
+Fragment::Fragment(Type type, unsigned int material)
+{
+ fragment_type = type;
+ fragment_start = VertexArray::instance()->index();
+ fragment_material = material;
+ fragment_structural_size = 0;
+ fragment_detail_size = 0;
+}
+
+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;
+ return n;
+}
+
+}
+