I think glVertexAttribPointer takes GLvoid * instead of char *. Not that this really matters here.