【发布时间】:2012-05-11 17:48:11
【问题描述】:
我正在尝试使用 OpenGL 中的高度图图像制作地形。作为实验,我使用 4x4 像素图像。这是放大的屏幕截图。这样你就可以看到像素了。
这是我的代码的一部分。
ILubyte * image = ilGetData();
int bpp = ilGetInteger(IL_IMAGE_BPP);
std::cout << "BPP = " << bpp << std::endl;
for (int z=0; z < terrainHeight; ++z)
{
for (int x=0; x < terrainWidth; ++x)
{
pVertices[z*terrainWidth+x] = NxVec3(NxF32(x),
NxF32(image[z*terrainWidth+x]*bpp), NxF32(z));
}
}
for (int i=0; i < vertexCount; ++i)
{
std::cout << "x = " << pVertices[i].x << "\t y = "
<< pVertices[i].y << "\t z = " << pVertices[i].z << std::endl;
}
然后,我得到以下结果。
我期待 (0,0)、(1,1)、(2,2) 和 (3,3) 的零值(对于 y 坐标)。但结果不同。为什么我没有得到预期的结果?
【问题讨论】:
标签: c++ opengl devil heightmap