diff --git a/libs/gltk/gltk/program.d b/libs/gltk/gltk/program.d index 1a3abe5..f400ecc 100644 --- a/libs/gltk/gltk/program.d +++ b/libs/gltk/gltk/program.d @@ -230,6 +230,11 @@ class Program(string[string] uniforms = [], int[string] attributes = []) */ public void link() { + static foreach(attribute_name, attribute_location; attributes) + { + glBindAttribLocation(m_id, attribute_location, attribute_name.toStringz()); + } + glLinkProgram(m_id); GLint link_status; @@ -254,10 +259,6 @@ class Program(string[string] uniforms = [], int[string] attributes = []) { mixin("m_uniform_" ~ uniform_name ~ " = glGetUniformLocation(m_id, \"" ~ uniform_name ~ "\");"); } - static foreach(attribute_name, attribute_location; attributes) - { - glBindAttribLocation(m_id, attribute_location, attribute_name.toStringz()); - } } /**