转载请注明出处http://blog.sina.com.cn/lucyloveayu
最近在看OGRE怎样载入地形的内容,因为terrain.cfg中涉及了很多的LOD(细节层次)的问题,看得我一把鼻涕一把眼泪的,所以就想说先看看LOD地形再去研究ogre本身地形实现的具体操作应该会好一些,主要资料参考的是曾凡喜,周炜,潘运亮等的《Direct3D
实时渲染技术》这本书,其对于用四叉树实现的LOD地形有比较详细的描述。
【LOD出现原因】
由于大的地形绘制需要在短时间内处理上亿个三角形,其实时绘制要求仍然是飞行仿真、数字娱乐等虚拟现实应用中的一个难点。尽管近年来硬件技术飞速法阵,显卡的性能指标已经有很大的增长,但是仍旧不能满足大地形的实时绘制要求,比如在进行飞行模拟的时候,要穿越一个km为单位的地形,每个网格都用三角形绘制,则此时就算是再好的显卡在每秒至少24帧的要求下也不能进行实时的处理,所以多分辨率技术(Multi-resolution)就此诞生。
多分辨率网格简化技术/细节层次模型技术(LOD技术),引入“分而治之”的思想,根据地形的不同复杂程度和人眼观察地形的特点,对地形的不同区域采取不同细节的描述和绘制。采用LOD技术绘制地形,在不降低表现效果的前提下,可以尽量减少三角形的数量,以提高图形绘制效率,实现地形的实时交互可视化,通俗具体讲就是将一块地形划分为无数小块区域,对于离视点越近的区域,或者该区域地形越复杂(起伏大,如山区),绘制的三角形数目越多,地形描述精度越高;对于离视点越远的区域,或者该区域越平坦,绘制的三角形数目越少,地形描述精度越低。
LOD技术按照所生成的网格的形状可以分为不规则三角形网(TIN)和规则格网两类。这两类网格模型,在以同样的表达精度绘制同样的地形时候,基于TIN的多分辨率地形表示法所需要的三角形数量更少,而基于网格的多分辨率地形表示法构建网格的速度更快,实时性更好,算法更易于程序实现。
Lindstrom等人于1996年提出了基于四叉树的连续细节层次模型(Continuous level of Detail)的构建算法,是基于规则格网类的具有代表性的研究成果之一。算法的“连续”特性包含了3个意思:
1) 帧更新时,地形表面保持连续性,即“时间的连续性”;
2) 不同分辨率的地形分块之间保持连续性,没有裂缝,即空间连续性;
3) 算法的实时构网能力很强,以保持较高的屏幕刷新率。
【基于四叉树的视相关LOD地形算法】
l 地形的四叉树结构