diff --git a/libs/gfx/include/psemek/gfx/attribs.hpp b/libs/gfx/include/psemek/gfx/attribs.hpp index 1ffce06e..a458882e 100644 --- a/libs/gfx/include/psemek/gfx/attribs.hpp +++ b/libs/gfx/include/psemek/gfx/attribs.hpp @@ -436,10 +436,11 @@ namespace psemek::gfx { gl::EnableVertexAttribArray(a.index); gl::VertexAttribDivisor(a.index, a.divisor); + GLuint stride = (a.divisor == 0) ? attribs.vertex_size : attribs.instance_size; if (a.integer) - gl::VertexAttribIPointer(a.index, a.size, a.type, attribs.vertex_size, a.pointer); + gl::VertexAttribIPointer(a.index, a.size, a.type, stride, a.pointer); else - gl::VertexAttribPointer(a.index, a.size, a.type, a.normalized, attribs.vertex_size, a.pointer); + gl::VertexAttribPointer(a.index, a.size, a.type, a.normalized, stride, a.pointer); } }