在OGRE中使用Terragen生成的高度图。。
首先在Terragen的Landscape窗口,生成一个地形(Generate Terrain),完成后单击Export,导出成Raw 16 bits Intel Byte-Order(好像8bit也可以,没有试过)。
之后将OGRE SDK的media目录下的terrain.cfg文件复制一份,改成你想要的名字,修改里面的以下参数:
- WorldTexture=terrain_texture.jpg
这是纹理的贴图图片
- DetailTexture=terrain_detail.jpg
纹理的精细文件
- DetailTile=3
精细等级
- Heightmap.image=terrain.png
高度图源文件,可以是灰度图image,也可以是raw。
- Heightmap.raw.size=513
这本来是放在注释里面的,如果使用raw,则将这个size设成你地形的size。
- Heightmap.raw.bpp=2
这也是注释的内容。。如果用raw,则根据bits数,如果你生成8bits的,则bpp=1,16bits则为2。
- PageSize=513
建议和raw的size一样 - -。
改好后保存,将你需要的纹理文件和raw文件都放入media\materials\textures文件夹下。下面在OGRE中加载:
创建Terrain场景管理器
-
mSceneMgr = mRoot->createSceneManager("TerrainSceneManager");
加载场景
-
std::string terrain_cfg("test.cfg");
-
mSceneMgr -> setWorldGeometry( terrain_cfg );
完成 - -。。。