private Mesh GetMesh(int index) { SgtHelper.ClearCapacity(positions, 1024); SgtHelper.ClearCapacity(coords0, 1024); SgtHelper.ClearCapacity(indices, 1024); SgtHelper.ClearCapacity(colors, 1024); SgtHelper.ClearCapacity(normals, 1024); if (index >= meshes.Count) { var newMesh = SgtHelper.CreateTempMesh("Aurora Mesh (Generated)"); meshes.Add(newMesh); return(newMesh); } var mesh = meshes[index]; if (mesh == null) { mesh = meshes[index] = SgtHelper.CreateTempMesh("Aurora Mesh (Generated)"); } return(mesh); }
private void UpdateMesh() { if (mesh == null) { mesh = SgtHelper.CreateTempMesh("Aurora Mesh (Generated)"); } SgtHelper.ClearCapacity(tempPositions, 1024); SgtHelper.ClearCapacity(tempCoords0, 1024); SgtHelper.ClearCapacity(tempIndices, 1024); SgtHelper.ClearCapacity(tempColors, 1024); SgtHelper.ClearCapacity(tempNormals, 1024); if (pathDetail > 0 && pathLengthMin > 0.0f && pathLengthMax > 0.0f) { var vertexCount = 0; SgtHelper.BeginRandomSeed(seed); { for (var i = 0; i < pathCount; i++) { AddPath(mesh, ref vertexCount); } } SgtHelper.EndRandomSeed(); } BakeMesh(mesh); }