用SOIL加载16位高度图



我正在尝试使用SOIL加载地形的高度图。我使用以下代码:

unsigned char* image = SOIL_load_image(fname.c_str(), &width, &height, 0, SOIL_LOAD_L);
glBindTexture(GL_TEXTURE_2D, name);
glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, width, height, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, image);

然而,我的地形看起来很起伏,因为高度只用8位表示。如何使用SOIL加载16位高度地图?或者我应该为此任务使用另一个图像库吗?

根据Andon M.Coleman的建议,我使用原始二进制格式存储16位高度数据,并得到了所需的结果。

最新更新