void Awake() { _greedyMeshGenerators = new GreedyMeshGenerator[3]; _map = new Map(); _okButton.onClick.AddListener(() => { gameState = GameState.GeneratingMesh; }); for (int i = 0; i < 3; i++) { _greedyMeshGenerators[i] = new GreedyMeshGenerator(); } }
//[Benchmark] public void GreedyMeshGeneratorTest() { GreedyMeshGenerator.GenerateMesh(_data, (typeNum, orientation, side, quad, size) => { var textureOffset = Vector2.Zero; _indices.Add((ushort)(_vertices.Count + 0)); _indices.Add((ushort)(_vertices.Count + 1)); _indices.Add((ushort)(_vertices.Count + 3)); _indices.Add((ushort)(_vertices.Count + 1)); _indices.Add((ushort)(_vertices.Count + 2)); _indices.Add((ushort)(_vertices.Count + 3)); _vertices.Add(new VertexPositionTextureNormal(quad.A, (textureOffset + new Vector2(0, 128)) / _imageSize, quad.Normal)); _vertices.Add(new VertexPositionTextureNormal(quad.B, (textureOffset + new Vector2(0, 0)) / _imageSize, quad.Normal)); _vertices.Add(new VertexPositionTextureNormal(quad.C, (textureOffset + new Vector2(128, 0)) / _imageSize, quad.Normal)); _vertices.Add(new VertexPositionTextureNormal(quad.D, (textureOffset + new Vector2(128, 128)) / _imageSize, quad.Normal)); }); }