我一直在尝试结合riemers的几个教程,制作一个带纹理和光照的地形。我已经接近成功了,但是我无法正确应用纹理。我相信问题出现在SetUpVertices()中的纹理坐标设置上。我知道目前代码中读取它们都设置为(0, 0),我需要将它们设置为纹理的角落,但是我似乎无法编写正确的代码。有人能帮忙吗?
private void SetUpVertices()
{
vertices = new VertexPositionNormalTexture[terrainWidth * terrainHeight];
for (int x = 0; x < terrainWidth; x++)
{
for (int y = 0; y < terrainHeight; y++)
{
vertices[x + y * terrainWidth].Position = new Vector3(x, -y, heightData[x, y]);
vertices[x + y * terrainWidth].TextureCoordinate.X = 0;
vertices[x + y * terrainWidth].TextureCoordinate.Y = 0;
}
}
}
我已经将Game1.cs的完整代码添加到了这个pastie中http://pastebin.com/REd8QDZA