public static VBO<Vector3> BufferData(VBO<Vector3> vbo, Vector3[] data, GCHandle handle) { if (vbo == null) return new VBO<Vector3>(data, BufferTarget.ArrayBuffer, BufferUsageHint.StaticDraw); vbo.BufferSubDataPinned(BufferTarget.ArrayBuffer, 12 * data.Length, handle.AddrOfPinnedObject()); return vbo; }