public void PointCloudTest() { List <Vector3> vertices = new List <Vector3>(); List <Vector3> normals = new List <Vector3>(); List <int> indices = new List <int>(); uint[] colours; Common.MakeHiResSphere(vertices, indices, normals); // Build per vertex colours with colour cycling. colours = new uint[vertices.Count]; for (int i = 0; i < colours.Length; ++i) { colours[i] = Colour.Cycle(i).Value; } PointCloud cloud = new PointCloud(1, vertices.Count); cloud.AddPoints(vertices); cloud.AddNormals(normals); cloud.AddColours(colours); ShapeTestFramework.CreateShapeFunction create = () => { return(new PointCloudShape()); }; ShapeTestFramework.TestShape(new PointCloudShape(cloud, 41, 1, 8), create, ValidatePointCloudShape); // Run a cloud with an indexed sub-set. uint[] indexedSubSet = new uint[vertices.Count / 2]; for (uint i = 0; i < indexedSubSet.Length; ++i) { indexedSubSet[i] = i; } ShapeTestFramework.TestShape(new PointCloudShape(cloud, 41, 1, 8).SetIndices(indexedSubSet), create, ValidatePointCloudShape); }