From 4360094ff6e9f4d245f832c58f673ae4d1f75950 Mon Sep 17 00:00:00 2001
From: Dan Goodliffe <dan@randomdan.homeip.net>
Date: Wed, 19 Apr 2023 01:45:47 +0100
Subject: Fixup vertexAttribFunc for matrices

---
 lib/gl_traits.hpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

(limited to 'lib')

diff --git a/lib/gl_traits.hpp b/lib/gl_traits.hpp
index 10b42e5..6ff8905 100644
--- a/lib/gl_traits.hpp
+++ b/lib/gl_traits.hpp
@@ -68,9 +68,9 @@ struct gl_traits<glm::mat<C, R, T, Q>> : public gl_traits<T> {
 	static constexpr GLint size {C * R};
 	static constexpr auto vertexAttribFunc {
 			[](GLuint index, GLint, GLenum type, GLsizei stride, const void * pointer) -> GLuint {
-				const auto m = static_cast<glm::mat<C, R, T, Q>>(pointer);
-				for (glm::length_t r = 0; r < R; r++) {
-					glVertexAttribPointer(index, C, type, GL_FALSE, stride, &m[r]);
+				const auto base = static_cast<const T *>(pointer);
+				for (GLuint r = 0; r < R; r++) {
+					glVertexAttribPointer(index + r, C, type, GL_FALSE, stride, base + (r * C));
 				}
 				return R;
 			}};
-- 
cgit v1.2.3