ShapeData CreateShape(CollisionShape shape) { ShapeData shapeData = new ShapeData(); uint[] indices; Vector3[] vertices = CreateShape(shape, out indices); shapeData.VertexCount = vertices.Length / 2; shapeData.SetVertexBuffer(device, vertices); if (indices != null) { shapeData.IndexCount = indices.Length; ushort[] indices_s = CompactIndexBuffer(indices); if (indices_s != null) { shapeData.SetIndexBuffer(device, indices_s); } else { shapeData.SetIndexBuffer(device, indices); } } return(shapeData); }
ShapeData CreateShape(CollisionShape shape) { ShapeData shapeData = new ShapeData(); uint[] indices; Vector3[] vertices = CreateShape(shape, out indices); shapeData.VertexCount = vertices.Length / 2; shapeData.SetVertexBuffer(device, vertices); if (indices != null) { shapeData.IndexCount = indices.Length; ushort[] indices_s = CompactIndexBuffer(indices); if (indices_s != null) { shapeData.SetIndexBuffer(device, indices_s); } else { shapeData.SetIndexBuffer(device, indices); } } return shapeData; }