/// <summary> /// /// </summary> /// <returns></returns> public IndexBufferPtr GetIndexBufferPtr() { if (indexBufferPtr == null) { using (var buffer = new OneIndexBuffer(IndexElementType.UShort, DrawMode.Triangles, BufferUsage.StaticDraw)) { ushort[] faces = model.GetFaces(); buffer.Create(faces.Length); unsafe { var array = (ushort *)buffer.Header.ToPointer(); for (int i = 0; i < faces.Length; i++) { array[i] = (ushort)(faces[i] - 1); } } indexBufferPtr = buffer.GetBufferPtr(); } } return(indexBufferPtr); }