summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan.goodliffe@octal.co.uk>2026-03-04 16:53:58 +0000
committerDan Goodliffe <dan.goodliffe@octal.co.uk>2026-03-04 16:53:58 +0000
commita6052168340f9831c766f76a3ec7b94da38da78a (patch)
treef508f7701a8d7ac0b1c1bfd674bd3c01ad65fcd2
parentUpdate stencils and billboards less often (diff)
downloadilt-a6052168340f9831c766f76a3ec7b94da38da78a.tar.bz2
ilt-a6052168340f9831c766f76a3ec7b94da38da78a.tar.xz
ilt-a6052168340f9831c766f76a3ec7b94da38da78a.zip
Replace basic glVertexArray with a specific class ready for helpers
-rw-r--r--game/network/network.h1
-rw-r--r--gfx/gl/glVertexArray.h15
-rw-r--r--gfx/models/mesh.h2
-rw-r--r--lib/glArrays.h2
4 files changed, 17 insertions, 3 deletions
diff --git a/game/network/network.h b/game/network/network.h
index 4f5d2b0..46b84d4 100644
--- a/game/network/network.h
+++ b/game/network/network.h
@@ -1,6 +1,7 @@
#pragma once
#include "collection.h"
+#include "gfx/gl/glVertexArray.h"
#include "gfx/gl/instanceVertices.h"
#include "gfx/models/texture.h"
#include "gfx/renderable.h"
diff --git a/gfx/gl/glVertexArray.h b/gfx/gl/glVertexArray.h
new file mode 100644
index 0000000..891f21d
--- /dev/null
+++ b/gfx/gl/glVertexArray.h
@@ -0,0 +1,15 @@
+#pragma once
+
+#include "config/types.h"
+#include "glArrays.h"
+
+namespace Impl {
+ // NOLINTNEXTLINE(readability-identifier-naming)
+ struct glVertexArray : Detail::glNamed { };
+}
+
+// NOLINTBEGIN(readability-identifier-naming)
+template<size_t N>
+using glVertexArrays = glManagedArray<Impl::glVertexArray, N, &glCreateVertexArrays, &glDeleteVertexArrays>;
+using glVertexArray = glManagedSingle<Impl::glVertexArray, &glCreateVertexArrays, &glDeleteVertexArrays>;
+// NOLINTEND(readability-identifier-naming)
diff --git a/gfx/models/mesh.h b/gfx/models/mesh.h
index 8791aed..d6ac171 100644
--- a/gfx/models/mesh.h
+++ b/gfx/models/mesh.h
@@ -2,7 +2,7 @@
#include "config/types.h"
#include "gfx/gl/vertexArrayObject.h"
-#include <glArrays.h>
+#include <gfx/gl/glVertexArray.h>
#include <glad/gl.h>
#include <ranges>
#include <span>
diff --git a/lib/glArrays.h b/lib/glArrays.h
index 48bd577..e949ccd 100644
--- a/lib/glArrays.h
+++ b/lib/glArrays.h
@@ -119,8 +119,6 @@ struct glManagedArray : public std::array<Named, N> {
};
// NOLINTBEGIN(readability-identifier-naming)
-template<size_t N> using glVertexArrays = glManagedArray<Detail::glNamed, N, &glGenVertexArrays, &glDeleteVertexArrays>;
-using glVertexArray = glManagedSingle<Detail::glNamed, &glGenVertexArrays, &glDeleteVertexArrays>;
template<size_t N> using glBuffers = glManagedArray<Detail::glNamed, N, &glGenBuffers, &glDeleteBuffers>;
using glBuffer = glManagedSingle<Detail::glNamed, &glGenBuffers, &glDeleteBuffers>;
template<size_t N> using glFrameBuffers = glManagedArray<Detail::glNamed, N, &glGenFramebuffers, &glDeleteFramebuffers>;