There's a little bit of code, that while works, it could use a bit of semi-trivial error handling.
In ruby/video/opengl/surface.hpp, you should consider adding if (fooVertex != -1) for all three glEnableVertexAttribArray/glVertexAttribPointer blocks and the three final glDisableVertexAttribArray calls.
Without the condition, the calls fail silently, but why make them in the first place then.
There's a little bit of code, that while works, it could use a bit of semi-trivial error handling.
In ruby/video/opengl/surface.hpp, you should consider adding
if (fooVertex != -1)
for all three glEnableVertexAttribArray/glVertexAttribPointer blocks and the three final glDisableVertexAttribArray calls.Without the condition, the calls fail silently, but why make them in the first place then.