version with buffers for shader and programs