欢迎来到天天文库
浏览记录
ID:40397712
大小:613.60 KB
页数:18页
时间:2019-08-01
《室外地形细节层次L》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、室外地形(细节层次LOD)本书重点讲述了GeoMipmap和ROAM地形的细节,可作为室外地形制作的参考读物。LOD是什么?当看远处的人的时候,总是很难看清其全貌。现在,当我们将要建立场景的时候,也应该明白,当一个物体离观察点很远的时候,我们同样很难看清其全貌。而对于这样的物体,删除一些面和加入这些面是几乎没有分别的。LOD是什么LOD,即LevelOfDetails,细节层次。我们用LOD来描述一个物体在不同的距离上进行渲染时可选的细节程度。示例为什么要有LOD?LOD存在的唯一意义就是帮助模型或者地形省下一些可有可无的面。在几年前的
2、显卡上,渲染的速度比较慢,因此,能省下一个面都可算是一个优化。今天,虽然显卡的渲染速度已经上来,但是在不过多影响外观的情况下,如果能减少一些面,总是一些好事。目前有哪些LOD技术?ROAMLOD是最知名的LOD技术,也是OpenGL社群常推崇的LOD技术。ITLOD但是ROAM不适合于D3D来实现,即便是对于OpenGL社群而言,ROAM的效率问题也随着显卡的变迁而变得逐渐突出。更好的解决方案,是InterlockingTilesLOD技术,即FarCry使用的LOD技术。ITLOD在《GameProgrammingGems》里面有更深
3、刻的描述。ITLOD的实现:原理ITLOD最大的特点在于VB和IB都是静态的,这使得ITLOD的效率在所有LOD算法中稳坐头把交椅。如何实现VB和IB全静态?这就类如同样纸张大小的方格纸,方格大小可能不同,但纸张的大小由于是唯一的,因此,不同大小的方格究竟有多少种连接方式,一开始就可以确定下来。ITLOD的实现:原理连接方式只有这么几种……INTERLOCKINGTILESLOD:优点ROAMLOD必须一个个三角形进行渲染,也就是说,无法保证具有静态的VB和IB而使得效率大幅度降低。而ITLOD则可以使用静态的VB和静态的IB,因此渲染
4、效率要高很多。INTERLOCKINGTILESLOD:优点InterlockingTiles与四叉树可以说是一对近乎完美的结合。由于ITLOD是分块渲染的,那么每一块就可以做成一个四叉树叶子,这样,ITLOD就和四叉树完美结合起来了。ITLOD的实现如果我们假设:某一个“方格纸”有5X5个顶点,那么这个方格纸就将有如下几种LOD形态:这样我们便在一开始就确定了方格的形态。ITLOD的实现确定了形态后,就可以顺而确定连接方式:ITLOD的实现当我们确定顶点的时候,也就同时确定了VB(一个5X5方阵)。当我们确定连接方式的时候,也就同时可
5、以根据连接方式来得到IB。这里我们需要假设,所有的连接都是从更多方格的向更少方格的进行连接。连接方式的确定,必须要考虑到“核心”和“边缘”。ITLOD的实现核心是指无论与任何其他块结合时都不需要发生变更的部分。边缘是指与其他块结合时可能需要发生变更的部分。ITLOD对于1X1只需要一个核心即可。2X2,可以按照四个无连接边缘和四个连接向0的边缘来处理。对于4X4的方格,具有一个核心和十二个边缘(四个无连接、四个连接向2X2和四个连接向1X1)以此类推。这样,对于每个Tile,我们至少需要一个IB,至多需要五个IB。相对于ROAM一个个三
6、角形渲染来说,不知道要快多少倍。ITLOD的应用ITLOD在FarCry中用的是33X33个顶点为一个Tile的方案。事实上,17X17、33X33、9X9,只需要(2n+1顶点数量/Tile)的就可以。但是有一点是肯定的,每个Tile只需要至少一个IB,至多5个IB,就可以完成渲染。而且,这些IB对所有的Tile都是完全相同的。总结ITLOD通过建立静态的VB和静态的IB来提高渲染速度。注意ITLOD的索引算法中几个需要注意的地方:什么是核心,什么是边缘。需要重点注意nXnTile具有多少个边缘的算法。每个Tile只需要至少1个IB,
7、至多5个IB,而且这些IB都是相同的。作业无明天实践课将由大家实现ITLOD算法。
此文档下载收益归作者所有