diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2018-01-06 11:30:24 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2018-01-06 11:30:24 +0000 |
commit | c7090180503f263c60ec34844992e0e8d4bea85a (patch) | |
tree | 6ecc5b2e16856db49de056738b36e1ba103d3049 /yage/data/vertex.h | |
parent | cf4c73f2a75b470a4d4c4167105f92bc46f1926c (diff) | |
parent | 07012cf0982d3f86aebe83b5bdc4a67332c635da (diff) | |
download | YAGE-c7090180503f263c60ec34844992e0e8d4bea85a.tar.gz YAGE-c7090180503f263c60ec34844992e0e8d4bea85a.zip |
Merge branch 'develop'
Diffstat (limited to 'yage/data/vertex.h')
-rw-r--r-- | yage/data/vertex.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/yage/data/vertex.h b/yage/data/vertex.h new file mode 100644 index 00000000..4cd095a9 --- /dev/null +++ b/yage/data/vertex.h @@ -0,0 +1,84 @@ +/** --------------------------------------------------------------------------- + * @file: vertex.h + * + * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> + * MIT License, see LICENSE file for more details. + * ---------------------------------------------------------------------------- + */ + +#ifndef VERTEX_H +#define VERTEX_H + +#include <glad/glad.h> + +namespace yage +{ + +struct Position { + float x; + float y; + + Position() = default; + + Position(float x_, float y_) : x(x_), y(y_) {} +}; + +struct Colour { + GLubyte r; + GLubyte g; + GLubyte b; + GLubyte a; + + Colour() : r(0), g(0), b(0), a(0) {} + + Colour(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; + Colour colour; + UV uv; + + Vertex() = default; + + Vertex(const Position &position_, const Colour &colour_, const UV &uv_) + : position(position_), colour(colour_), uv(uv_) + { + } + + void setPosition(float x, float y) + { + position.x = x; + position.y = y; + } + + void setColour(GLubyte r, GLubyte g, GLubyte b, GLubyte a) + { + colour.r = r; + colour.g = g; + colour.b = b; + colour.a = a; + } + + void setUv(float u, float v) + { + uv.u = u; + uv.v = v; + } +}; + +} // namespace yage + +#endif |