aboutsummaryrefslogtreecommitdiffstats
path: root/yage/data
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-12-25 13:54:09 +0000
committerYann Herklotz <ymherklotz@gmail.com>2017-12-25 13:54:09 +0000
commitf949692714e72a0e2d45ebb6a5d698424ab71dee (patch)
treecfab638d8c4d35c297e981773cfee1a9af3490ee /yage/data
parent022a4bdd81332ce67d799be6a06afb42ae45ac2e (diff)
downloadYAGE-f949692714e72a0e2d45ebb6a5d698424ab71dee.tar.gz
YAGE-f949692714e72a0e2d45ebb6a5d698424ab71dee.zip
[Broken] Reorganising and fixing.
Diffstat (limited to 'yage/data')
-rw-r--r--yage/data/input.h151
-rw-r--r--yage/data/renderbatch.h17
-rw-r--r--yage/data/texture.h32
-rw-r--r--yage/data/vertex.h84
4 files changed, 284 insertions, 0 deletions
diff --git a/yage/data/input.h b/yage/data/input.h
new file mode 100644
index 00000000..866793d8
--- /dev/null
+++ b/yage/data/input.h
@@ -0,0 +1,151 @@
+/** ---------------------------------------------------------------------------
+ * @file: input.h
+ *
+ * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com>
+ * MIT License, see LICENSE file for more details.
+ * ----------------------------------------------------------------------------
+ */
+
+#ifndef YAGE_CORE_INPUT_H
+#define YAGE_CORE_INPUT_H
+
+#define GLFW_INCLUDE_NONE
+#include <GLFW/glfw3.h>
+
+namespace yage
+{
+
+enum class key {
+ // unknown key
+ UNKNOWN = GLFW_KEY_UNKNOWN,
+
+ // actual keys
+ SPACE = GLFW_KEY_SPACE,
+ APOSTROPHE = GLFW_KEY_APOSTROPHE, /* ' */
+ COMMA = GLFW_KEY_COMMA, /* , */
+ MINUS = GLFW_KEY_MINUS, /* - */
+ PERIOD = GLFW_KEY_PERIOD, /* . */
+ SLASH = GLFW_KEY_SLASH, /* / */
+ NUM0 = GLFW_KEY_0,
+ NUM1 = GLFW_KEY_1,
+ NUM2 = GLFW_KEY_2,
+ NUM3 = GLFW_KEY_3,
+ NUM4 = GLFW_KEY_4,
+ NUM5 = GLFW_KEY_5,
+ NUM6 = GLFW_KEY_6,
+ NUM7 = GLFW_KEY_7,
+ NUM8 = GLFW_KEY_8,
+ NUM9 = GLFW_KEY_9,
+ SEMICOLON = GLFW_KEY_SEMICOLON, /* ; */
+ EQUAL = GLFW_KEY_EQUAL, /* = */
+ A = GLFW_KEY_A,
+ B = GLFW_KEY_B,
+ C = GLFW_KEY_C,
+ D = GLFW_KEY_D,
+ E = GLFW_KEY_E,
+ F = GLFW_KEY_F,
+ G = GLFW_KEY_G,
+ H = GLFW_KEY_H,
+ I = GLFW_KEY_I,
+ J = GLFW_KEY_J,
+ K = GLFW_KEY_K,
+ L = GLFW_KEY_L,
+ M = GLFW_KEY_M,
+ N = GLFW_KEY_N,
+ O = GLFW_KEY_O,
+ P = GLFW_KEY_P,
+ Q = GLFW_KEY_Q,
+ R = GLFW_KEY_R,
+ S = GLFW_KEY_S,
+ T = GLFW_KEY_T,
+ U = GLFW_KEY_U,
+ V = GLFW_KEY_V,
+ W = GLFW_KEY_W,
+ X = GLFW_KEY_X,
+ Y = GLFW_KEY_Y,
+ Z = GLFW_KEY_Z,
+ LEfT_BRACKET = GLFW_KEY_LEFT_BRACKET, /* [ */
+ BACKSLASH = GLFW_KEY_BACKSLASH, /* \ */
+ RIGHT_BRACKET = GLFW_KEY_RIGHT_BRACKET, /* ] */
+ GRAVE_ACCENT = GLFW_KEY_GRAVE_ACCENT, /* ` */
+ WORLD_1 = GLFW_KEY_WORLD_1, /* non-US #1 */
+ WORLD_2 = GLFW_KEY_WORLD_2, /* non-US #2 */
+
+ // function keys
+ ESCAPE = GLFW_KEY_ESCAPE,
+ ENTER = GLFW_KEY_ENTER,
+ TAB = GLFW_KEY_TAB,
+ BACKSPACE = GLFW_KEY_BACKSPACE,
+ INSERT = GLFW_KEY_INSERT,
+ DELETE = GLFW_KEY_DELETE,
+ RIGHT = GLFW_KEY_RIGHT,
+ LEFT = GLFW_KEY_LEFT,
+ DOWN = GLFW_KEY_DOWN,
+ UP = GLFW_KEY_UP,
+ PAGE_UP = GLFW_KEY_PAGE_UP,
+ PAGE_DOWN = GLFW_KEY_PAGE_DOWN,
+ HOME = GLFW_KEY_HOME,
+ END = GLFW_KEY_END,
+ CAPS_LOCK = GLFW_KEY_CAPS_LOCK,
+ SCROLL_LOCK = GLFW_KEY_SCROLL_LOCK,
+ NUM_LOCK = GLFW_KEY_NUM_LOCK,
+ PRINT_SCREEN = GLFW_KEY_PRINT_SCREEN,
+ PAUSE = GLFW_KEY_PAUSE,
+ F1 = GLFW_KEY_F1,
+ F2 = GLFW_KEY_F2,
+ F3 = GLFW_KEY_F3,
+ F4 = GLFW_KEY_F4,
+ F5 = GLFW_KEY_F5,
+ F6 = GLFW_KEY_F6,
+ F7 = GLFW_KEY_F7,
+ F8 = GLFW_KEY_F8,
+ F9 = GLFW_KEY_F9,
+ F10 = GLFW_KEY_F10,
+ F11 = GLFW_KEY_F11,
+ F12 = GLFW_KEY_F12,
+ F13 = GLFW_KEY_F13,
+ F14 = GLFW_KEY_F14,
+ F15 = GLFW_KEY_F15,
+ F16 = GLFW_KEY_F16,
+ F17 = GLFW_KEY_F17,
+ F18 = GLFW_KEY_F18,
+ F19 = GLFW_KEY_F19,
+ F20 = GLFW_KEY_F20,
+ F21 = GLFW_KEY_F21,
+ F22 = GLFW_KEY_F22,
+ F23 = GLFW_KEY_F23,
+ F24 = GLFW_KEY_F24,
+ F25 = GLFW_KEY_F25,
+ KP_0 = GLFW_KEY_KP_0,
+ KP_1 = GLFW_KEY_KP_1,
+ KP_2 = GLFW_KEY_KP_2,
+ KP_3 = GLFW_KEY_KP_3,
+ KP_4 = GLFW_KEY_KP_4,
+ KP_5 = GLFW_KEY_KP_5,
+ KP_6 = GLFW_KEY_KP_6,
+ KP_7 = GLFW_KEY_KP_7,
+ KP_8 = GLFW_KEY_KP_8,
+ KP_9 = GLFW_KEY_KP_9,
+ KP_DECIMAL = GLFW_KEY_KP_DECIMAL,
+ KP_DIVIDE = GLFW_KEY_KP_DIVIDE,
+ KP_MULTIPLY = GLFW_KEY_KP_MULTIPLY,
+ KP_SUBTRACT = GLFW_KEY_KP_SUBTRACT,
+ KP_ADD = GLFW_KEY_KP_ADD,
+ KP_ENTER = GLFW_KEY_KP_ENTER,
+ KP_EQUAL = GLFW_KEY_KP_EQUAL,
+ LEFT_SHIFT = GLFW_KEY_LEFT_SHIFT,
+ LEFT_CONTROL = GLFW_KEY_LEFT_CONTROL,
+ LEFT_ALT = GLFW_KEY_LEFT_ALT,
+ LEFT_SUPER = GLFW_KEY_LEFT_SUPER,
+ RIGHT_SHIFT = GLFW_KEY_RIGHT_SHIFT,
+ RIGHT_CONTROL = GLFW_KEY_RIGHT_CONTROL,
+ RIGHT_ALT = GLFW_KEY_RIGHT_ALT,
+ RIGHT_SUPER = GLFW_KEY_RIGHT_SUPER,
+ MENU = GLFW_KEY_MENU,
+
+ LAST = GLFW_KEY_LAST,
+};
+
+} // namepsace yage
+
+#endif
diff --git a/yage/data/renderbatch.h b/yage/data/renderbatch.h
new file mode 100644
index 00000000..0d034035
--- /dev/null
+++ b/yage/data/renderbatch.h
@@ -0,0 +1,17 @@
+#ifndef YAGE_CORE_RENDERBATCH_H
+#define YAGE_CORE_RENDERBATCH_H
+
+#include <glad/glad.h>
+
+struct RenderBatch {
+ GLint offset;
+ GLsizei num_vertices;
+ GLuint texture;
+
+ RenderBatch(GLint offset_i, GLsizei num_vertices_i, GLuint texture_i)
+ : offset(offset_i), num_vertices(num_vertices_i), texture(texture_i = 0)
+ {
+ }
+};
+
+#endif
diff --git a/yage/data/texture.h b/yage/data/texture.h
new file mode 100644
index 00000000..aec7b906
--- /dev/null
+++ b/yage/data/texture.h
@@ -0,0 +1,32 @@
+/** ---------------------------------------------------------------------------
+ * @file: texture.h
+ *
+ * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com>
+ * MIT License, see LICENSE file for more details.
+ * ----------------------------------------------------------------------------
+ */
+
+#ifndef YAGE_CORE_TEXTURE_H
+#define YAGE_CORE_TEXTURE_H
+
+#include <glad/glad.h>
+
+namespace yage
+{
+
+struct Texture {
+ GLuint id;
+ int width;
+ int height;
+
+ Texture() : id(0), width(0), height(0) {}
+
+ Texture(GLuint id_i, int width_i, int height_i)
+ : id(id_i), width(width_i), height(height_i)
+ {
+ }
+};
+
+} // namespace yage
+
+#endif
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