Yet Another Game Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vertex.h
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include <glad/glad.h>
13 
14 namespace yage
15 {
16 
17 struct Position {
18  float x;
19  float y;
20 
21  Position() = default;
22 
23  Position(float x_, float y_) : x(x_), y(y_) {}
24 };
25 
26 struct Colour {
27  GLubyte r;
28  GLubyte g;
29  GLubyte b;
30  GLubyte a;
31 
32  Colour() : r(0), g(0), b(0), a(0) {}
33 
34  Colour(GLubyte r_, GLubyte g_, GLubyte b_, GLubyte a_)
35  : r(r_), g(g_), b(b_), a(a_)
36  {
37  }
38 };
39 
40 struct UV {
41  float u;
42  float v;
43 
44  UV() = default;
45 
46  UV(float u_, float v_) : u(u_), v(v_) {}
47 };
48 
49 struct Vertex {
52  UV uv;
53 
54  Vertex() = default;
55 
56  Vertex(const Position &position_, const Colour &colour_, const UV &uv_)
57  : position(position_), colour(colour_), uv(uv_)
58  {
59  }
60 
61  void setPosition(float x, float y)
62  {
63  position.x = x;
64  position.y = y;
65  }
66 
67  void setColour(GLubyte r, GLubyte g, GLubyte b, GLubyte a)
68  {
69  colour.r = r;
70  colour.g = g;
71  colour.b = b;
72  colour.a = a;
73  }
74 
75  void setUv(float u, float v)
76  {
77  uv.u = u;
78  uv.v = v;
79  }
80 };
81 
82 } // namespace yage
Position()=default
Definition: vertex.h:49
Colour()
Definition: vertex.h:32
GLubyte a
Definition: vertex.h:30
Position position
Definition: vertex.h:50
UV(float u_, float v_)
Definition: vertex.h:46
float v
Definition: vertex.h:42
void setColour(GLubyte r, GLubyte g, GLubyte b, GLubyte a)
Definition: vertex.h:67
GLubyte b
Definition: vertex.h:29
float x
Definition: vertex.h:18
float y
Definition: vertex.h:19
Vertex()=default
void setUv(float u, float v)
Definition: vertex.h:75
Position(float x_, float y_)
Definition: vertex.h:23
GLubyte r
Definition: vertex.h:27
Definition: vertex.h:40
UV()=default
void setPosition(float x, float y)
Definition: vertex.h:61
Definition: vertex.h:26
Colour(GLubyte r_, GLubyte g_, GLubyte b_, GLubyte a_)
Definition: vertex.h:34
Definition: vertex.h:17
Vertex(const Position &position_, const Colour &colour_, const UV &uv_)
Definition: vertex.h:56
GLubyte g
Definition: vertex.h:28
UV uv
Definition: vertex.h:52
Colour colour
Definition: vertex.h:51
float u
Definition: vertex.h:41