SDL,opengl制作地形的有关问题
SDL,opengl制作地形的问题大家好。我在用2d的灰度图制作3D地形图。遇到了不少问题。步骤如下:1.读取图像:C/C+
SDL,opengl制作地形的问题
大家好。
我在用2d的灰度图制作3D地形图。
遇到了不少问题。
步骤如下:
1.读取图像:
C/C++ codeSDL_surface *terrainHeightMap=IMG_Load("heightMap_sand.png");
2.用这个图像创建一个高度图(height map array)float数组
3.……
问题做到第二步就卡住了。
怎么才能把这个图像的不同的灰度值赋给我的高度图数组?
假设我的灰度图是一个256 * 256的png图像。那么这256×256的每一个点都有一个灰度值,然后赋给我的array,问题就在于我怎么把这个灰度值从我的terrainHeightMap中调出来?还是我的理论方法就不对?
谢谢大伙!劳动节快乐!
[解决办法]load_image 函数如下:
SDL_Surface *load_image( std::string filename )
{
SDL_Surface* loadedImage = NULL;
SDL_Surface* optimizedImage = NULL;
loadedImage = IMG_Load( filename.c_str() );
if(!loadedImage) {
printf("IMG_Load: %s\n", IMG_GetError());
}
if( loadedImage != NULL )
{
optimizedImage = SDL_DisplayFormat( loadedImage );
SDL_FreeSurface( loadedImage );
}
return optimizedImage;
}