From 60072c1d8089ffd3294e76636198d14710be95b8 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sat, 9 Sep 2017 07:55:22 +0100 Subject: Restructuring --- yage/base/vertex.h | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 yage/base/vertex.h (limited to 'yage/base/vertex.h') diff --git a/yage/base/vertex.h b/yage/base/vertex.h new file mode 100644 index 00000000..15b46ed9 --- /dev/null +++ b/yage/base/vertex.h @@ -0,0 +1,84 @@ +/* ---------------------------------------------------------------------------- + * vertex.h + * + * Copyright (c) 2017 Yann Herklotz Grave -- MIT License + * See file LICENSE for more details + * ---------------------------------------------------------------------------- + */ + +#ifndef VERTEX_H +#define VERTEX_H + +#include + +namespace yage +{ + +struct Position { + float x; + float y; + + Position() = default; + + Position(float x_, float y_) : x(x_), y(y_) {} +}; + +struct Color { + GLubyte r; + GLubyte g; + GLubyte b; + GLubyte a; + + Color() = default; + + Color(GLubyte r_, GLubyte g_, GLubyte b_, GLubyte a_) + : r(r_), g(g_), b(b_), a(a_) + { + } +}; + +struct UV { + float u; + float v; + + UV() = default; + + UV(float u_, float v_) : u(u_), v(v_) {} +}; + +struct Vertex { + Position position; + Color color; + UV uv; + + Vertex() = default; + + Vertex(const Position &position_, const Color &color_, const UV &uv_) + : position(position_), color(color_), uv(uv_) + { + } + + void setPosition(float x, float y) + { + position.x = x; + position.y = y; + } + + void setColor(GLubyte r, GLubyte g, GLubyte b, GLubyte a) + { + color.r = r; + color.g = g; + color.b = b; + color.a = a; + } + + void setUv(float u, float v) + { + uv.u = u; + uv.v = v; + } +}; + +} // namespace yage + +#endif -- cgit