summaryrefslogtreecommitdiff
path: root/gfx
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2025-02-25 00:10:27 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2025-02-25 00:10:27 +0000
commit72935e945d22ccbeecadf6143b14a35b98a68074 (patch)
treed5b87e723b0e9641b7ead0e29a54e0dd7913d24d /gfx
parentAdd glMappedBufferWriter helper (diff)
downloadilt-72935e945d22ccbeecadf6143b14a35b98a68074.tar.bz2
ilt-72935e945d22ccbeecadf6143b14a35b98a68074.tar.xz
ilt-72935e945d22ccbeecadf6143b14a35b98a68074.zip
Add VertexArrayObject::data for an external existing buffer
Diffstat (limited to 'gfx')
-rw-r--r--gfx/gl/vertexArrayObject.h12
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)