From c6cff2f1e823327129ed7d044cec6c05fa7525a1 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Wed, 11 Mar 2026 01:36:17 +0000 Subject: Split addAttribsFor away from requiring a buffer to bind --- gfx/gl/glVertexArray.h | 10 +++++++++- gfx/models/mesh.h | 3 +-- gfx/models/vertex.cpp | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) (limited to 'gfx') diff --git a/gfx/gl/glVertexArray.h b/gfx/gl/glVertexArray.h index dbe930f..6630b70 100644 --- a/gfx/gl/glVertexArray.h +++ b/gfx/gl/glVertexArray.h @@ -40,7 +40,15 @@ namespace Impl { } // Customisation point - template VertexArrayConfigurator & addAttribsFor(GLuint divisor, const glBuffer & buffer); + template VertexArrayConfigurator & addAttribsFor(GLuint divisor); + + template + VertexArrayConfigurator & + addAttribsFor(GLuint divisor, const glBuffer & buffer) + { + glVertexArrayVertexBuffer(name, binding, buffer, 0, sizeof(VertexT)); + return addAttribsFor(divisor); + } template VertexArrayConfigurator & diff --git a/gfx/models/mesh.h b/gfx/models/mesh.h index f578625..d4dbd68 100644 --- a/gfx/models/mesh.h +++ b/gfx/models/mesh.h @@ -2,14 +2,13 @@ #include "config/types.h" #include "gfx/gl/glBuffer.h" +#include "gfx/models/vertex.h" #include #include #include #include #include -class Vertex; - class MeshBase { public: class Dimensions { diff --git a/gfx/models/vertex.cpp b/gfx/models/vertex.cpp index dc32f72..4b5ce54 100644 --- a/gfx/models/vertex.cpp +++ b/gfx/models/vertex.cpp @@ -3,8 +3,8 @@ template<> Impl::VertexArrayConfigurator & -Impl::VertexArrayConfigurator::addAttribsFor(const GLuint divisor, const glBuffer & buffer) +Impl::VertexArrayConfigurator::addAttribsFor(const GLuint divisor) { return addAttribs( - divisor, buffer); + divisor); } -- cgit v1.3