CHAPTER 5 ■ GETTING THE MOST OUT OF VERTICES
446
private void LoadHeightData(Texture2D heightMap)
{
float minimumHeight = 255;
float maximumHeight = 0;
int width = heightMap.Width;
int height = heightMap.Height;
Color[] heightMapColors = new Color[width * height];
heightMap.GetData<Color>(heightMapColors);
heightData = new float[width, height];
for (int x = 0; x < width; x++)
for (int y = 0; y < height; y++)
{
heightData[x, y] = heightMapColors[x + y * width].R;
if (heightData[x, y] < minimumHeight) minimumHeight = heightData[x, y];
if (heightData[x, y] > maximumHeight) maximumHeight = heightData[x, y];
}
for (int x = 0; x < width; x++)
for (int y = 0; y < height; y++)
heightData[x, y] = (heightData[x, y] -
➥
minimumHeight) / (maximumHeight ...