public static float GetNoise(float[] noiseSet, int sideSize, int x, int z, int max, float power) { // FastSIMD keeps things in x,z fashion but we have them ordered as z,x int index = Helpers.GetIndex1DFrom2D(z, x, sideSize); float n = noiseSet[index] + 1f; n *= (max >> 1); if (Math.Abs(power - 1f) > float.Epsilon) { n = Mathf.Pow(n, power); } return(n); }