Public Group

# [XNA] HeightMap Problems

This topic is 3007 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hey quick question: I Am loading a height map into my game from a texture file. here is my Method
 private void LoadHeightMap(Texture2D HeightMap)
{
int width = HeightMap.Width;
int height = HeightMap.Height;
float[,] heightData = new float[height, width];

Color[] heightMapColors = new Color[width * height];
HeightMap.GetData(heightMapColors);
for (int y = height - 1; y > 0; y--)
for (int x = width - 1; x > 0; x--)
heightData[y, x] =
MathHelper.Clamp(heightMapColors[x + y * width].R / f_MapDivScale,
0, i_MaxLandscapeHeight);

hm_HeightMap =  new HeightMap(width, height, heightData);
}


And I set the Vertices using the Following Method
 d_VertexList = new Dictionary<Vector2, TextureIndexVertex>();
for (int x = 0; x < hm_HeightMap.Width; x++)
{
for (int y = 0; y < hm_HeightMap.Height; y++)
{
TextureIndexVertex thisVertex = new TextureIndexVertex();
thisVertex.TextureCoordinate.X = (float)x / 30.0f;
thisVertex.TextureCoordinate.Y = (float)y / 30.0f;
thisVertex.Position = new Vector3(x, hm_HeightMap.HeightData[y, x], y);

}
}


And I set the Indices using the Following Method
 l_IndiciesList = new List<int>();
for (int y = 0; y < hm_HeightMap.Height - 1; y++)
{
for (int x = 0; x < hm_HeightMap.Width - 1; x++)
{
int lowerLeft = x + y * hm_HeightMap.Width;
int lowerRight = (x + 1) + y * hm_HeightMap.Width;
int topLeft = x + (y + 1) * hm_HeightMap.Width;
int topRight = (x + 1) + (y + 1) * hm_HeightMap.Width;

}
}


Now when I load a height map which is square (300x300, 500x500, 1000x1000) etc, I get a perfect result (or what seems to be at least). However, when I try to load a map which is a rectangle (444x567) or something I get the following result: The Strange outcome at most, I can only figure that there must be something going wrong with the indices so any advice is appreciated Regards ~Andy^

1. 1
2. 2
Rutin
18
3. 3
4. 4
5. 5

• 14
• 12
• 9
• 12
• 37
• ### Forum Statistics

• Total Topics
631431
• Total Posts
3000039
×