diff options
Diffstat (limited to 'gfx/gl/vertexArrayObject.h')
-rw-r--r-- | gfx/gl/vertexArrayObject.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gfx/gl/vertexArrayObject.h b/gfx/gl/vertexArrayObject.h index fa6baa3..57daaf3 100644 --- a/gfx/gl/vertexArrayObject.h +++ b/gfx/gl/vertexArrayObject.h @@ -11,22 +11,27 @@ public: { glBindVertexArray(arrayObject); } + ~VertexArrayObject() { glBindVertexArray(0); } + NO_MOVE(VertexArrayObject); NO_COPY(VertexArrayObject); template<typename m, typename T> struct MP { constexpr MP(m T::*p) : P {p} { } + operator void *() const { return &(static_cast<T *>(nullptr)->*P); } + m T::*P; using value_type = m; }; + template<typename m, typename T> MP(m T::*) -> MP<m, T>; template<typename VertexT, MP... attribs> |