/// <summary> /// The execute method required for Unity's IJobParallelFor job type /// </summary> /// <param name="index">The iteration index provided by Unity's Job System</param> public void Execute(int index) { int3 worldPosition = IndexUtilities.IndexToXyz(index, OutputVoxelData.Width, OutputVoxelData.Height) + WorldPositionOffset; int worldPositionX = worldPosition.x; int worldPositionY = worldPosition.y; int worldPositionZ = worldPosition.z; float voxelData = CalculateVoxelData(worldPositionX, worldPositionY, worldPositionZ); OutputVoxelData.SetVoxelData(voxelData, index); }
private static void TestIndexToXyz(int index, int expectedX, int expectedY, int expectedZ, int width, int height) { Assert.AreEqual(new int3(expectedX, expectedY, expectedZ), IndexUtilities.IndexToXyz(index, width, height)); }