aboutsummaryrefslogtreecommitdiffstats
path: root/yage/render/rectangle.cpp
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2018-01-06 11:30:24 +0000
committerYann Herklotz <ymherklotz@gmail.com>2018-01-06 11:30:24 +0000
commitc7090180503f263c60ec34844992e0e8d4bea85a (patch)
tree6ecc5b2e16856db49de056738b36e1ba103d3049 /yage/render/rectangle.cpp
parentcf4c73f2a75b470a4d4c4167105f92bc46f1926c (diff)
parent07012cf0982d3f86aebe83b5bdc4a67332c635da (diff)
downloadYAGE-c7090180503f263c60ec34844992e0e8d4bea85a.tar.gz
YAGE-c7090180503f263c60ec34844992e0e8d4bea85a.zip
Merge branch 'develop'
Diffstat (limited to 'yage/render/rectangle.cpp')
-rw-r--r--yage/render/rectangle.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/yage/render/rectangle.cpp b/yage/render/rectangle.cpp
new file mode 100644
index 00000000..632c7ceb
--- /dev/null
+++ b/yage/render/rectangle.cpp
@@ -0,0 +1,38 @@
+#include "rectangle.h"
+
+#include "../data/vertex.h"
+
+#include <glad/glad.h>
+
+#include <cstddef>
+
+namespace yage
+{
+
+Rectangle::Rectangle(glm::vec4 position) : position_(position) {}
+
+void Rectangle::render() const
+{
+ // create vertex array
+ GLuint rect_vao, rect_vbo;
+
+ // bind vertex array object
+ glGenVertexArrays(1, &rect_vao);
+ glBindVertexArray(rect_vao);
+
+ // bind vertex buffer object
+ glGenBuffers(1, &rect_vbo);
+ glBindBuffer(GL_ARRAY_BUFFER, rect_vbo);
+
+ // enable vertex attribute arrays
+ glEnableVertexAttribArray(0);
+ glEnableVertexAttribArray(1);
+
+ // set the vertex attribute pointers
+ glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void *)offsetof(Vertex, position));
+
+ glBindVertexArray(0);
+}
+
+} // namepsace yage
+