summaryrefslogtreecommitdiff
path: root/include/mbgl/geometry/vao.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/mbgl/geometry/vao.hpp')
-rw-r--r--include/mbgl/geometry/vao.hpp73
1 files changed, 0 insertions, 73 deletions
diff --git a/include/mbgl/geometry/vao.hpp b/include/mbgl/geometry/vao.hpp
deleted file mode 100644
index 2ecba731f7..0000000000
--- a/include/mbgl/geometry/vao.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-#ifndef MBGL_GEOMETRY_VAO
-#define MBGL_GEOMETRY_VAO
-
-#include <mbgl/shader/shader.hpp>
-#include <mbgl/platform/gl.hpp>
-#include <mbgl/util/noncopyable.hpp>
-
-#include <stdexcept>
-
-namespace mbgl {
-
-class VertexArrayObject : public util::noncopyable {
-public:
- inline VertexArrayObject() {};
-
- inline VertexArrayObject(VertexArrayObject &&rhs) noexcept
- : vao(rhs.vao),
- bound_shader(rhs.bound_shader),
- bound_shader_name(rhs.bound_shader_name),
- bound_vertex_buffer(rhs.bound_vertex_buffer),
- bound_elements_buffer(rhs.bound_elements_buffer),
- bound_offset(rhs.bound_offset) {};
-
- template <typename Shader, typename VertexBuffer>
- inline void bind(Shader& shader, VertexBuffer &vertexBuffer, char *offset) {
- bindVertexArrayObject();
- if (bound_shader == 0) {
- vertexBuffer.bind();
- shader.bind(offset);
- if (vao) {
- storeBinding(shader, vertexBuffer.getID(), 0, offset);
- }
- } else {
- verifyBinding(shader, vertexBuffer.getID(), 0, offset);
- }
- }
-
- template <typename Shader, typename VertexBuffer, typename ElementsBuffer>
- inline void bind(Shader& shader, VertexBuffer &vertexBuffer, ElementsBuffer &elementsBuffer, char *offset) {
- bindVertexArrayObject();
- if (bound_shader == 0) {
- vertexBuffer.bind();
- elementsBuffer.bind();
- shader.bind(offset);
- if (vao) {
- storeBinding(shader, vertexBuffer.getID(), elementsBuffer.getID(), offset);
- }
- } else {
- verifyBinding(shader, vertexBuffer.getID(), elementsBuffer.getID(), offset);
- }
- }
-
- ~VertexArrayObject();
-
-private:
- void bindVertexArrayObject();
- void storeBinding(Shader &shader, GLuint vertexBuffer, GLuint elementsBuffer, char *offset);
- void verifyBinding(Shader &shader, GLuint vertexBuffer, GLuint elementsBuffer, char *offset);
-
- GLuint vao = 0;
-
- // For debug reasons, we're storing the bind information so that we can
- // detect errors and report
- GLuint bound_shader = 0;
- const char *bound_shader_name = "";
- GLuint bound_vertex_buffer = 0;
- GLuint bound_elements_buffer = 0;
- char *bound_offset = 0;
-};
-
-}
-
-#endif