12 TerrainRendering
官方代码($sdk)\examples\12.TerrainRendering
Irr地形场景节点是使用小型的高度图来生成大型的地形场景,使用了LOD技术。对地形渲染感兴趣的话,这个场景节点的源码非常值得学习。可惜官方例子里并没有写地形渲染是如何实现的。下面只好看看例子里是怎么使用地形场景节点的。
代码一开始又是一个前面见过好多次的用户自定义事件接受器MyEventReceiver,用来监听用户输入。在MyEventReceiver添加成员变量scene::ISceneNode* Terrain地形场景节点,scene::ISceneNode* Skybox天空盒场景节点和scene::ISceneNode* Skydome天空模型节点,在覆盖的OnEvent函数中设置W、P、D、S和X五个按键功能。
按下W切换线状地线渲染
Terrain->setMaterialFlag(video::EMF_WIREFRAME,!Terrain->getMaterial(0).Wireframe);
Terrain->setMaterialFlag(video