diff --git a/src/gltk/buffer.d b/src/gltk/buffer.d index a76d958..3b36182 100644 --- a/src/gltk/buffer.d +++ b/src/gltk/buffer.d @@ -38,4 +38,11 @@ class Buffer bind(); glBufferData(target, size, ptr, usage); } + + void set_buffer_data(T)(GLenum target, GLenum usage, T[] arr) + { + m_target = target; + bind(); + glBufferData(target, arr.length * arr[0].sizeof, arr.ptr, usage); + } } diff --git a/src/jes/gui/font.d b/src/jes/gui/font.d index 3731701..dec8313 100644 --- a/src/jes/gui/font.d +++ b/src/jes/gui/font.d @@ -74,7 +74,7 @@ class Font cast(GLfloat)left, cast(GLfloat)top, 0.0, t_max, cast(GLfloat)(left + cglyph.width), cast(GLfloat)top, s_max, t_max, ]; - m_buffer.set_buffer_data(GL_ARRAY_BUFFER, GL_STATIC_DRAW, data.ptr, data.length * GLfloat.sizeof); + m_buffer.set_buffer_data(GL_ARRAY_BUFFER, GL_STATIC_DRAW, data); glEnableVertexAttribArray(0); glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, null);