diff options
Diffstat (limited to 'yage/render/rectangle.cpp')
-rw-r--r-- | yage/render/rectangle.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/yage/render/rectangle.cpp b/yage/render/rectangle.cpp new file mode 100644 index 00000000..365d058d --- /dev/null +++ b/yage/render/rectangle.cpp @@ -0,0 +1,37 @@ +#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 |