diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2025-02-25 00:10:27 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2025-02-25 00:10:27 +0000 |
commit | 72935e945d22ccbeecadf6143b14a35b98a68074 (patch) | |
tree | d5b87e723b0e9641b7ead0e29a54e0dd7913d24d /gfx/gl | |
parent | Add glMappedBufferWriter helper (diff) | |
download | ilt-72935e945d22ccbeecadf6143b14a35b98a68074.tar.bz2 ilt-72935e945d22ccbeecadf6143b14a35b98a68074.tar.xz ilt-72935e945d22ccbeecadf6143b14a35b98a68074.zip |
Add VertexArrayObject::data for an external existing buffer
Diffstat (limited to 'gfx/gl')
-rw-r--r-- | gfx/gl/vertexArrayObject.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gfx/gl/vertexArrayObject.h b/gfx/gl/vertexArrayObject.h index 57daaf3..d008897 100644 --- a/gfx/gl/vertexArrayObject.h +++ b/gfx/gl/vertexArrayObject.h @@ -21,14 +21,15 @@ public: NO_COPY(VertexArrayObject); template<typename m, typename T> struct MP { - constexpr MP(m T::*p) : P {p} { } + constexpr MP(m T::* p) : P {p} { } + constexpr operator void *() const { return &(static_cast<T *>(nullptr)->*P); } - m T::*P; + m T::* P; using value_type = m; }; @@ -69,6 +70,13 @@ public: return *this; } + VertexArrayObject & + data(const GLuint arrayBuffer, GLenum target) + { + glBindBuffer(target, arrayBuffer); + return *this; + } + template<typename Data> static void data(const Data & data, const GLuint arrayBuffer, GLenum target) |