/// <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);
        }
예제 #2
0
 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));
 }