summaryrefslogtreecommitdiffstats
path: root/src/graphics/common/vertex.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/graphics/common/vertex.h')
-rw-r--r--src/graphics/common/vertex.h141
1 files changed, 0 insertions, 141 deletions
diff --git a/src/graphics/common/vertex.h b/src/graphics/common/vertex.h
deleted file mode 100644
index 0a74587..0000000
--- a/src/graphics/common/vertex.h
+++ /dev/null
@@ -1,141 +0,0 @@
-// * This file is part of the COLOBOT source code
-// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
-// *
-// * This program is free software: you can redistribute it and/or modify
-// * it under the terms of the GNU General Public License as published by
-// * the Free Software Foundation, either version 3 of the License, or
-// * (at your option) any later version.
-// *
-// * This program is distributed in the hope that it will be useful,
-// * but WITHOUT ANY WARRANTY; without even the implied warranty of
-// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// * GNU General Public License for more details.
-// *
-// * You should have received a copy of the GNU General Public License
-// * along with this program. If not, see http://www.gnu.org/licenses/.
-
-// vertex.h
-
-#pragma once
-
-
-#include "graphics/common/color.h"
-#include "math/vector.h"
-#include "math/point.h"
-
-#include <sstream>
-
-namespace Gfx {
-
-/**
- * \struct Vertex
- * \brief 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) {}
-
-
- //! Returns a string "(c: [...], n: [...], tc: [...])"
- inline std::string ToString() const
- {
- std::stringstream s;
- s.precision(3);
- s << "(c: " << coord.ToString() << ", n: " << normal.ToString()
- << ", tc: " << texCoord.ToString() << ")";
- return s.str();
- }
-};
-
-/**
- * \struct VertexCol
- * \brief Vertex with color information
- *
- * This structure was created as analog to DirectX's D3DLVERTEX.
- *
- * It contains:
- * - vertex coordinates (x,y,z) as Math::Vector,
- * - RGBA color as Gfx::Color,
- * - RGBA specular color as Gfx::Color,
- * - texture coordinates (u,v) as Math::Point.
- */
-struct VertexCol
-{
- Math::Vector coord;
- Gfx::Color color;
- Gfx::Color specular;
- Math::Point texCoord;
-
- VertexCol(Math::Vector aCoord = Math::Vector(),
- Gfx::Color aColor = Gfx::Color(),
- Gfx::Color aSpecular = Gfx::Color(),
- Math::Point aTexCoord = Math::Point())
- : coord(aCoord), color(aColor), specular(aSpecular), texCoord(aTexCoord) {}
-
- //! Returns a string "(c: [...], col: [...], sp: [...], tc: [...])"
- inline std::string ToString() const
- {
- std::stringstream s;
- s.precision(3);
- s << "(c: " << coord.ToString() << ", col: " << color.ToString() << ", sp: "
- << specular.ToString() << ", tc: " << texCoord.ToString() << ")";
- return s.str();
- }
-};
-
-
-/**
- * \struct VertexTex2
- * \brief Vertex with secondary texture coordinates
- *
- * In addition to fields from Gfx::Vector, it contains
- * secondary texture coordinates (u2, v2) as Math::Point
- */
-struct VertexTex2
-{
- Math::Vector coord;
- Math::Vector normal;
- Math::Point texCoord;
- Math::Point texCoord2;
-
- VertexTex2(Math::Vector aCoord = Math::Vector(),
- Math::Vector aNormal = Math::Vector(),
- Math::Point aTexCoord = Math::Point(),
- Math::Point aTexCoord2 = Math::Point())
- : coord(aCoord), normal(aNormal), texCoord(aTexCoord), texCoord2(aTexCoord2) {}
-
- //! Sets the fields from Gfx::Vertex with texCoord2 = (0,0)
- void FromVertex(const Gfx::Vertex &v)
- {
- coord = v.coord;
- normal = v.normal;
- texCoord = v.texCoord;
- texCoord2 = Math::Point();
- }
-
- //! Returns a string "(c: [...], n: [...], tc: [...], tc2: [...])"
- inline std::string ToString() const
- {
- std::stringstream s;
- s.precision(3);
- s << "(c: " << coord.ToString() << ", n: " << normal.ToString()
- << ", tc: " << texCoord.ToString() << ", tc2: " << texCoord2.ToString() << ")";
- return s.str();
- }
-};
-
-}; // namespace Gfx