好的,所以我有我的代码来使用 C++ 和 DirectX 绘制一个大景观。我用一种纹理对其进行纹理化,然后需要添加更多纹理。我看到人们在他们有 1 个纹理图像并且图像包含 2 个纹理的情况下这样做。这就是我制作的,它是 256x128 的图像。我现在的问题是,由于我的地形自动生成了 UV 贴图 1 纹理的坐标,现在它同时显示了两种纹理。我需要做到这一点,所以当世界的高度足够高时,它是 1 个纹理,而下面的一切都是另一个纹理。我的UV坐标代码,
顶点[y * WIDTH * x].U = x / 1.28;
顶点[y * WIDTH * x].V = y / 1.28;
这些是我的映射坐标,X 是它正在绘制的顶点的当前 X 值,Y 值是它当前的 y 位置。高度图是 128x128,所以我除以 1.28 以使每个多边形都有贴图 UV 贴图。高度也被计算出来,因为我正在加载一个高度图并且我试图得到它,所以当它足够高时,它会 UV 映射图像的一半,如果它是另一个,它会 UV 映射图像的另一侧。有人请帮忙!