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;
}
그러면 다음과 같은 결과가 나타납니다.
I는 (0,0), (1,1), (2,2) 및 (3,3)에 대한 제로 값 (위한 y 좌표) 기대하고있다. 그러나 결과는 다릅니다. 왜 예상 결과를 얻지 못하는거야?
'이미지'의 유형은 무엇입니까? – miloszmaki
JPEG 이미지를 사용하고 있습니다. – shan
이미지 자체가 아니라 변수 유형을 의미했습니다. – miloszmaki