aboutsummaryrefslogtreecommitdiffstats
path: root/yage/base/sprite.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'yage/base/sprite.cpp')
-rw-r--r--yage/base/sprite.cpp95
1 files changed, 0 insertions, 95 deletions
diff --git a/yage/base/sprite.cpp b/yage/base/sprite.cpp
deleted file mode 100644
index 9ac4dc55..00000000
--- a/yage/base/sprite.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/* ----------------------------------------------------------------------------
- * sprite.cpp
- *
- * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
- * See file LICENSE for more details
- * ----------------------------------------------------------------------------
- */
-
-#include <yage/base/sprite.h>
-#include <yage/base/resourcemanager.h>
-#include <yage/base/vertex.h>
-
-#include <cstddef>
-
-namespace yage
-{
-
-Sprite::~Sprite()
-{
- if (vbo_id_ != 0) {
- glDeleteBuffers(1, &vbo_id_);
- }
-}
-
-void Sprite::init(float x, float y, float width, float height,
- const std::string &texture_path)
-{
- x_ = x;
- y_ = y;
- width_ = width;
- height_ = height;
- texture_ = ResourceManager::getTexture(texture_path);
-
- if (vbo_id_ == 0) {
- glGenBuffers(1, &vbo_id_);
- }
-
- Vertex vertex_data[6];
-
- vertex_data[0].setPosition(x + width, y + height);
- vertex_data[0].setUv(1.f, 1.f);
-
- vertex_data[1].setPosition(x, y + height);
- vertex_data[1].setUv(0.f, 1.f);
-
- vertex_data[2].setPosition(x, y);
- vertex_data[2].setUv(0.f, 0.f);
-
- vertex_data[3].setPosition(x, y);
- vertex_data[3].setUv(0.f, 0.f);
-
- vertex_data[4].setPosition(x + width, y + height);
- vertex_data[4].setUv(1.f, 1.f);
-
- vertex_data[5].setPosition(x + width, y);
- vertex_data[5].setUv(1.f, 0.f);
-
- for (auto &i : vertex_data) {
- i.setColor(255, 0, 255, 255);
- }
-
- vertex_data[1].setColor(0, 255, 255, 255);
- vertex_data[4].setColor(255, 0, 0, 255);
-
- glBindBuffer(GL_ARRAY_BUFFER, vbo_id_);
- glBufferData(GL_ARRAY_BUFFER, sizeof(vertex_data), vertex_data,
- GL_STATIC_DRAW);
- glBindBuffer(GL_ARRAY_BUFFER, 0);
-}
-
-void Sprite::draw()
-{
- glBindTexture(GL_TEXTURE_2D, texture_.id);
- glBindBuffer(GL_ARRAY_BUFFER, vbo_id_);
-
- glEnableVertexAttribArray(0);
- glEnableVertexAttribArray(1);
- glEnableVertexAttribArray(2);
-
- glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex),
- (void *)offsetof(Vertex, position));
- glVertexAttribPointer(1, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(Vertex),
- (void *)offsetof(Vertex, color));
- glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex),
- (void *)offsetof(Vertex, uv));
- glDrawArrays(GL_TRIANGLES, 0, 6);
-
- glDisableVertexAttribArray(2);
- glDisableVertexAttribArray(1);
- glDisableVertexAttribArray(0);
-
- glBindBuffer(GL_ARRAY_BUFFER, 0);
-}
-
-} // namespace yage