diff --git a/src/glid.hpp b/src/glid.hpp index 599b292..a7adf7b 100644 --- a/src/glid.hpp +++ b/src/glid.hpp @@ -38,8 +38,7 @@ class Glid { GLuint id; // Required by Visual Studio to make it truly noncopyable - Glid(Glid&) /* = delete*/; - Glid& operator= (Glid&) /* = delete*/; + Glid(const Glid&) /* = delete*/; + Glid& operator= (const Glid&) /* = delete*/; }; - } diff --git a/src/vertexArray.hpp b/src/vertexArray.hpp new file mode 100644 index 0000000..8c25c80 --- /dev/null +++ b/src/vertexArray.hpp @@ -0,0 +1,23 @@ +#pragma once +#include "glid.hpp" +namespace gldr{ +struct VertexArray{ + void bind() const{ + if(vaoID.get()){ + gl::BindVertexArray(vaoID.get()); + } + } + + static GLuint create(){ + GLuint id; + gl::GenVertexArrays(1, &id); + return id; + } + + static void destroy(GLuint id){ + gl::DeleteVertexArrays(1, &id); + } +private: + Glid vaoID; +}; +}