summaryrefslogtreecommitdiffstats
path: root/src/graphics/common/vertex.h
diff options
context:
space:
mode:
authorPiotr Dziwinski <piotrdz@gmail.com>2012-06-20 19:34:54 +0200
committerPiotr Dziwinski <piotrdz@gmail.com>2012-06-20 19:34:54 +0200
commit11df0ebf94e0842566bdc8d627ab50cc5309605d (patch)
tree13b0533002025a288e308165badb66d4550cabe0 /src/graphics/common/vertex.h
parent4ecc4bb4c0c3b4bb180d30a1ee54de41fb5d605c (diff)
downloadcolobot-11df0ebf94e0842566bdc8d627ab50cc5309605d.tar.gz
colobot-11df0ebf94e0842566bdc8d627ab50cc5309605d.tar.bz2
colobot-11df0ebf94e0842566bdc8d627ab50cc5309605d.zip
Vertex and Light structures
Diffstat (limited to 'src/graphics/common/vertex.h')
-rw-r--r--src/graphics/common/vertex.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/graphics/common/vertex.h b/src/graphics/common/vertex.h
new file mode 100644
index 0000000..b54b56e
--- /dev/null
+++ b/src/graphics/common/vertex.h
@@ -0,0 +1,47 @@
+#pragma once
+
+#include "math/vector.h"
+#include "math/point.h"
+
+namespace Gfx {
+
+/**
+ * \struct Vertex Vertex of a primitive
+ *
+ * This structure was created as analog to DirectX's D3DVERTEX.
+ *
+ * It contains:
+ * - vertex coordinates (x,y,z) as Math::Vector,
+ * - normal coordinates (nx,ny,nz) as Math::Vector
+ * - texture coordinates (u,v) as Math::Point.
+ */
+struct Vertex
+{
+ Math::Vector coord;
+ Math::Vector normal;
+ Math::Point texCoord;
+
+ Vertex(Math::Vector aCoord = Math::Vector(),
+ Math::Vector aNormal = Math::Vector(),
+ Math::Point aTexCoord = Math::Point())
+ : coord(aCoord), normal(aNormal), texCoord(aTexCoord) {}
+};
+
+/**
+ * \struct VertexTex2 Vertex with secondary texture coordinates
+ *
+ * In addition to fields from Gfx::Vector, it contains
+ * secondary texture coordinates (u2, v2) as Math::Point
+ */
+struct VertexTex2 : public Gfx::Vertex
+{
+ Math::Point texCoord2;
+
+ VertexTex2(Math::Vector aCoord = Math::Vector(),
+ Math::Vector aNormal = Math::Vector(),
+ Math::Point aTexCoord = Math::Point(),
+ Math::Point aTexCoord2 = Math::Point())
+ : Vertex(aCoord, aNormal, aTexCoord), texCoord2(aTexCoord2) {}
+};
+
+};