void ApplyBias() { // set corners and midpoint float[] corners = new float[4]; int c = 0; for (int i = 0; i < genParams.RaisedCorners; i++) { corners[c++] = genParams.Bias; } for (int i = 0; i < genParams.LoweredCorners; i++) { corners[c++] = -genParams.Bias; } float midpoint = (genParams.MidPoint * genParams.Bias); // shuffle corners corners = corners.OrderBy(r => rand.Next()).ToArray(); // overlay the bias Noise.ApplyBias(heightMap, corners[0], corners[1], corners[2], corners[3], midpoint); }