/* ---------------------------------------------------------------------------- * vertex.hpp * * Copyright (c) 2017 Yann Herklotz Grave -- MIT License * See file LICENSE for more details * ---------------------------------------------------------------------------- */ #ifndef VERTEX_HPP #define VERTEX_HPP #include namespace yage { struct Position { float x; float y; Position() {} Position(float x_, float y_) : x(x_), y(y_) {} }; struct Color { GLubyte r; GLubyte g; GLubyte b; GLubyte a; Color() {} Color(GLubyte r_, GLubyte g_, GLubyte b_, GLubyte a_) : r(r_), g(g_), b(b_), a(a_) {} }; struct UV { float u; float v; UV() {} UV(float u_, float v_) : u(u_), v(v_) {} }; struct Vertex { Position position; Color color; UV uv; Vertex() {} 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; } }; } // yage #endif