基于DirectX的真实感地形实时渲染技术 开题报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.综述本课题国内外研究动态,说明选题的依据和意义
1.选题意义
地形漫游已经被广泛应用于游戏、虚拟现实(VR)、飞行仿真和地理信息系统(GIS)等环境中。

在传统的仿真中,地形采用艺术家手工建模,但是手工建模价格昂贵,而且不能产生连续的细节层次(Level of Detail,LOD)[6]。

大规模的地形渲染算法需要采用细节层次来减少实际需要绘制的地形数据[3]。

地形在军事和飞行仿真、虚拟现实(VR)、地理信息系统(GIS)等领域中起着越来越重要的作用[4]。

对于数字高程数据,经常使用的规则网格模型是数字高程模型(Digital Elevation Model,DEM)[11],然而,在大规模地形场景中,DEM数据就会显得很庞大,甚至于超出普通图形卡的显示范围,使得交互性很差。

在实际场景中,观察者在每个观察点所能看到的只是整个数据的一小部分,所以靠近观察者的场景,需要渲染得详细,而远离观察者的场景就不需要那么详细[5]。

2.国内外的研究动态
下文对前人提出的各种算法作一个介绍,并进行比较,分析其优缺点。

1996年,Hugues Hoppe首先提出了将递进网格(Progressive Meshes)应用到地形中,该算法通过一系列的边折迭(EdgeCollapse),将原始数据网格简化为一个简单的基网格,这样就可以根据其逆操作边分裂(EdgeSplit)将细节逐渐增加到基网格上。

它的优点是在简化的过程中自然形成序列和层次结构,可以抽取多个连续的细节层次,支持数据的压缩存储、渐进传输和几何数据重建。

1996年,Lindstrom提出了一种基于规则网格的细节层次实时高度场(height field)绘制算法[2]。

该算法使用三角形进行自顶向下二叉分割细分,引入了四叉树(Quadtree)技术。

该算法有个主要的缺点就是随着视点的移动,在构网的过程中会产生顶点裂缝。

1997年,Duchaineauy提出了实时优化性网格(ROAM,Real—time Optimal Adaptive Meshes)算法[10],其基本思想是在对地形进行三维显示时,依据视点的位置和视线的方向等多种因素,对于表示地形表面的三角形片元进行一系列的基于三角形二叉剖分分裂与合并,最终形成和原始表面近似且无缝无叠的简化连续三角化表面。

该算法是目前应用最广的一种算法。

它也是基于三角形二叉剖分进行实时简化,但是它使用合并三角形队列和分裂三角形队列对网格进行增量式简化和细分。

2000年,Willem H.de Boer在MipMap技术的基础上提出了Geometrical MipMapping技术,将它引入到快速地形渲染的算法中,该技术简称为GeoMipMap[13]。

采用MipMap技术的綦本思想是,根据物体所处的不同远近距离,选用并生成不同的纹理,物体在视点近处时采用细节多的纹理,远离时采用细节少的纹理。

GeoMipMap 在地形渲染领域中是个全新的概念,适应了当时3D硬件的发展。

2002年,Christopher Zach提出把Geomorphing整合到细节层次技术中进行地形
的实时渲染。

该方法选用离散细节层次技术,在两个不同层次地形过渡时,Geomorphing插入顶点,使得过度平缓,从而提高在漫游过程中的视觉效果。

但是寻找需要插入的顶点会有一定的难度,如果不匹配,就会产生明显的瑕疵。

2003年,Bent Dalgaard Larsen等人把优化的细节层次方法应用到实时地形渲染中,其基本思想是比较当前tile的层次和较低分辨率tile之间的差别[7],计算出误差,如果误差超出一定局限,就采用较低分辨率来进行渲染。

但是该方法中误差标准制定不是很严格,而且当视点发生交化时,每一帧渲染的多边形的数量就会发生明显的变化,这在实时渲染中会产生一定的视觉影响[9]。

二.研究的基本内容,拟解决的主要问题
主要研究和探讨了基于DirectX的真实感地形实时渲染技术。

在规则格网DEM 基础之上,采用基于LOD的DEM多分辨率动态构网技术和多层纹理贴图方法,生成比较真实的地面景观,同时添加了天空、烟雾等效果,使显示效果更加真实。

使用当前较为主流的LOD(level of Detail)地形算法,地形(Terrain)的动态渲染技术,其中包括四叉树(QuadTree)地形分割、视点相关的细节层级判断条件、节点的三角扇形渲染等完成真实感地形的渲染。

1.基于LOD的动态构网算法的实现
由于地形规则格网数据的特殊性,我们不需要采用链表结构来实现四叉树,而是创建了两个数组,一个用来存储地形的高程信息,另一个用来存储对应点的分层信息,通过两次扫描数组来实现地形的分层和渲染。

这样,既可以降低编程难度,也能提高访问内存的效率,从而整体提高运行的速度。

LOD技术可分为规则的自顶向下的简化和不规则的自下而上的简化,而自顶向下的简化又有四叉树和二叉树。

我们采用自顶向下的四叉树算法。

其基本思路是:先把地形一分为四,用递归的方法对每个网格渲染。

对每个网格,如果达到最高精度则退出;如果不在视野内也退出。

接着对符合条件的网格递归下去。

该算法的关键之处主要有:数据的存储布局、如何生成连续实时的LOD化的地形网格以及节点评价。

在决定地面的细分精度时,我们要考虑两个因素:一是该小块距离视点的远近,离视点越近,需要的精度越高;二是地面的起伏程度,地面的起伏程度越高,需要的精度越高,反之越小。

2.地表细节的处理
当地形较大而对应的纹理比较小时,往往每个高程点只对应纹理上的一个像素,甚至几个高程点对应一个像素,这样在渲染时,可能屏幕上的一个三角形只对应纹理中的一个或几个像素,得到的贴图效果就会非常的差,很容易出现色块或者很大一块都是一种颜色的情况,效果很差。

解决这一情况的方法有两种,一是将大纹理分割成小的单位,动态加载需要的纹理,另一种是采用多遍纹理映射的方法,它用一个较大的纹理来表现地面的大致特征,然后再用一个小的纹理和大的纹理调制在一起,表现地面的细节。

第二个纹理通常采用循环贴图的方法。

不同的细节纹理可以表达不同的
地貌。

相比之下,第二种方法更简单,效果也更好。

因此本文采用了第二种方法来绘制纹理[12]。

三.研究步骤、方法及措施
1.DirectX三维图形环境
Direct3D即DirectX的三维部分,集成了开发DirectX程序三维图形部分的所有API函数。

Direct3D标准的图形显示过程可分为两个阶段。

第一阶段称为坐标变换和光照。

在这个阶段,通过设置一个虚拟相机,世界空间的三维浮点坐标转换成屏幕空间以像素为单位的整数坐标(坐标变换不只是物体顶点位置的变换,它还可能包括顶点法线向量、纹理坐标等的变换)然后通过计算当时场景中的光照属性,赋予顶点相应的颜色值[8]。

第二阶段称为光栅化处理段,Direct3D将经过T&L 处理的顶点组织为以点、线、面为基础的图元,应用纹理贴图和物体的颜色属性,决定顶点(或像素点)的最终颜色值。

有时根据特殊的需要,我们可以跳过其中的某些阶段[1]。

2.地形处理
基于高度图的3D地形渲染,其最基本的原理就是,地形上各个点的高度值存于一个文件中(高度图),渲染时,把高度图中的高度数据设为顶点缓冲区中对应顶点的Y坐标值,那么自然就会产生高低起伏的地形了。

(1)地形高度图
从几何形态看,不同的地形外貌,取决于地形表面的每一个距离地平面的高度值,这些高度值可用二维数组来存储。

生成一个地形高度图数据的最直接方法是,利用图形编辑软件(如Photoshop),绘制一个与地平面尺寸相同尺寸的黑白图形,即所谓的地形高度图。

(2)地表的四叉树分割
LOD地形渲染技术是根据观察者距离的远近,来决定地形表面细节层级(Level of Detail)的。

近处的地形采用更细的层级进行渲染,远处的地形采用较粗糙的细节层级进行渲染。

这样不仅可节省远处地形的渲染时间,又不失近处地形的较精致渲染。

LOD算法是利用四叉树(QuadTree)对二维地面进行分割的,每次将正方形分割为四个等分的正方形,直至分割的正方形大小达到某个预设值,才对每个正方形进行三角形渲染。

由于预先设定了方阵的边长为2的指数次方,因此,分割所获得的的新地表顶点坐标总是一个整数。

为了存储四叉树分割的结果,可创建一个二维数组来记录每个节点的分割状态。

(3)视点距离相关的细节层级判别
上面利用节点是否与视截体相交构造了一个分割条件。

当节点不在视线范围内时,节点分割标志将设置为false。

对于同样位于视线范围内的节点,可以通过计算节点与摄影机距离的远近,重新修正节点是否应该分割,以此构造出在视线范围内的更细致的节点细节层次分割。

其实现函数以一个节点的中心x和z坐标、节点边长以及一个摄影机作为参数,先判断节点是否在视截体内,在则设置分割标志数组元素值为true,不在则设置false 返回并返回。

在视截体内的,继续进行视点距离相关的分割判别,然后再重新设置分割标志,对于确定要继续分割的节点,采用递归方式继续将节点分割下去,相应的数组分割标志得到重置。

(4)地形节点的渲染
上面的四叉树地形分割,将地形划分成一个个大小不同的地块。

近视点的地块分割得大些,远视点的地块分割得小些。

渲染这些大大小小的正方形地形块,大的地块用大的三角形渲染,而小的地形用小的三角形来渲染,从而达到LOD不同细节层级渲染的目的。

渲染是一个递归的过程,关键是判断出节点的分割标志,没有分割的,将该节点地块渲染出来,分割的节点地块则通过递归函数继续进行渲染。

每个正方形节点地块的三角扇形方式的渲染,最多需要送入10个顶点到渲染管道流水线,这些顶点包括节点的中心点,4个角点、可能需要的4个边线中点以及重复一次的顶点,以形成一个封闭的正方形。

在渲染各个节点前,先创建一个长度为10的顶点数组。

每次节点渲染时,将该节点的三角扇形顶点写入数组,然后调用函数将数组中的顶点数据装入顶点缓冲区进行渲染。

(5)规范节点的分割
按上述渲染方法将地形渲染出来,会出现地表―窟窿‖现象。

地表―窟窿‖是由于节点间层次大于等于2的两个节点相邻造成的。

消除了一个节点的分割标志后,仍需将内部的所有节点标志都消除。

相邻的节点也需做上述处理,否则会产生新的―窟窿‖。

节点分割的规范化是在每次地形分割后立即进行的,以免节点渲染函数将不规范的节点渲染出来,产生地表―窟窿‖,为此,编写函数将节点分割和规范化绑定起来处理。

四.研究工作进度
五.主要参考文献
[1]叶志军.Visual C++/DirectX9 3D游戏卡发导引[M].人民邮电出版社,2006.2:145-146
[2]Frank D.Luna.DirectX9.0 3D 游戏开发编程基础[M].清华大学出版社2007.4:78-79
[3]李慧,崔磊,林诚凯,潘金贵.一种超大规模地形实时渲染方法[J].系统仿真学报.2004,16(4)
[4]高俊,夏运钧,游雄等.虚拟现实在地形环境仿真中的应用[M].解放军出版社,1999:78-80
[5]李志林,朱庆. 数字高程模型.武汉测绘科技大学出版社[M].2000:98-99
[6]陈刚.地形TIN模型的实时连续LOD算法设计与实现.测绘学院学报[J],2003,20(4):286—289
[7]臧新锐,付春龙,樊旭艳.虚拟环境中大范围三维地形模型简化方法研究与实现[M].GIS技术,2007,81(3):81~83
[8]张水坤.DirectX在绘制三维分形图形算法中的实现[J].科技创业月刊.2007,20(9)
[9]孙前,邱国庆.基于重要目标区的三维地形快速渲染方法[J].计算机与数字工程.2009,37(4)
[10]杨崇源,张继贤,林宗坚.虚拟地形场景绘制中的LOD实时算法[J].测绘学报,2001,30(2)
[11]Hakran Kim,Yongik Yoon.Adaptation Method for Level of Detail(LOD)of 3D Contents. Network and Parallel Computing Workshops,2007,879-884
[12]LINDSTROM P,KOLLER D,RIBARSKY W, et al. Real-Time, continuous level of detail rendering of height fields[J].ACM Computer Graphics(SIGGRAPH96),1996,
30(3):109-118
[13]PAJAROLA R,DECORO C. Efficient implementation of real-time view-dependent multiresolution meshing[J]. IEEE Transactions on Visualization and Computer Graphics,2004,10(3):353-368.
基于DirectX的三维地形渲染技术
一.前言
二维矢量数据用来表示空间位置上的精确关系,易于定量分析,因此地理信息系统的空间分析大多以矢量数据为处理对象;三维地形数据——数字高程数据用于描述地形起伏状况,可以用于提取各种地形参数,如坡度、坡向等,并能进行通视分析、流域生成等应用分析[10]。

而且人们认识周围环境也从传统的二维思维方式转向更自然的、立体空间的思维方式的变化趋势。

然而,解决基于海量数据的三维场景的实时绘制问题是实现这种转变的一大瓶颈。

而地形作为地理环境的基础框架,使得解决地形的实时显示问题更是首当其冲,建立实时交互的虚拟地形成为目前国内外研究的热点。

本文就研究了如何生成逼真的地表景观。

二.主题
在计算机中,由于用图形表达各种信息,其容量大、直观方便,更符合人们观察了解事物运动规律的习惯,因而计算机图形学目前在工业、商业、军事、教育和影视娱乐等各个领域得到了广泛应用,作为计算机图形学应用的一个分支,三维实时渲染技术也被越来越多的应用到各种领域中,实时绘制对于计算机软、硬件的运算效率的要求都要大大高于离线绘制。

地形的三维可视化在包括地理信息系统、战争模拟、飞行和地面驾驶模拟、三维游戏等很多领域都有着重要的应用[6]。

Direct3D标准的图形显示过程可分为两个阶段。

第一阶段称为坐标变换和光照[7]。

在这个阶段,通过设置一个虚拟相机,世界空间的三维浮点坐标转换成屏幕空间
以像素为单位的整数坐标(坐标变换不只是物体顶点位置的变换,它还可能包括顶点法线向量、纹理坐标等的变换)然后通过计算当时场景中的光照属性,赋予顶点相应的颜色值。

第二阶段称为光栅化处理段,Direct3D将经过T&L 处理的顶点组织为以点、线、面为基础的图元,应用纹理贴图和物体的颜色属性,决定顶点(或像素点)的最终颜色值。

有时根据特殊的需要,我们可以跳过其中的某些阶段[12]。

整个过程如下图1 所示。

图1 Direct3D 的图形显示过程示意图
地形网格其实就是一系列三角形栅格,但是方格中的每个顶点都被赋予了一个高
度值(即高度或海拔),这样该方格就可以通过方格对应高度的平滑过渡技术来模拟自然地形中山脉到山谷的变化。

为了提高地形显示速度目前广泛采取了三角形网格简化技术[8]。

从BMP位图读取地形高度信息,以四叉树保存网格数据,按照区域重要性静态确定地形网格疏密程度。

并采用DirectX平台,实现了真实感地形实时显示,提高了渲染效率[3]。

由于地形数据的海量特征以及当前显示硬件条件的限制,不可能快速渲染如此大量的三角形,而且实际上,根据计算机图形学的原理,当模型数据量非常大时,每一个独立的三角形投影到屏幕空间上只能占很小的面积,多个三角形可能被压缩到一个屏幕像素中。

此时,从视觉效果来看,它们对最终图像的影响可以忽略不计,却被计算机重复计算和绘制,浪费了有限的硬件资源。

因此,几何模型的简化和多分辨率表示近年来逐渐成为视景仿真领域的研究热,数字地形简化技术可以加速虚拟环境的渲染,使得三维实时可视化成为可能。

层次细节(LOD:Level Of Detail)是70年代由Clark提出的模型简化技术,它的思想是一个场景采用多层次结构的物体集合来描述,即场景中的物体具有多个模型,模型与模型之间的区别在于细节的描述程度不同。

在实时显示时,如果对显示精度要求不高,可以使用细节较简单的物体模型来显示,从而提高显示速度。

LOD模型也称多分辨率模型,如果对象距离视点较远,就用较粗略的模型表示,如果对象距离视点较近,则采用较精细的模型进行绘制,实时渲染中选择合适的分辨率模型既能保证渲染的效果,又能加快渲染的速度[2]。

LOD技术发展至今经历了三大过程,分别是离散LOD模型、连续LOD模型、视相关LOD模型[1]。

离散LOD模型(DLOD:Discrete LOD)的基本思想是:对每一个原始模型离线生成多个不同逼近精度的几何模型,每个模型都保留一定的细节层次,显示时根据视点与地景的距离远近采用不同精细的模型。

由于这种模型在不同的细节层次上拓扑结构不同,因此它有一个突出的缺点,即在进行模型切换时会产生明显的突跳感;并且生成的LOD模型的个数受到内存容量的限制。

DLOD模型的这个缺点使得难以满足高质量真实感图形的显示要求。

随着对LOD技术的进一步研究,解决了离散LOD存在的技术难题。

90年代中期出现了连续LOD模型,连续LOD模型是一种紧凑的模型表示方法,从这个表示中可以生成任意多个不同分辨率的模型,从而实现模型的连续显示。

每一个后续LOD模型与前一个LOD模型之间只有局部的细微差别,因而在进行模型切换时只会在视觉上引起非常微小的变化,跳跃感明显降低。

离散LOD和连续LOD都是通用的模型简化技术。

然而地形数据的特点是通常场景都很宏大,只有那些距离视点较近的区域或坡度起伏大的区域才需要较高的细节层次,而其他区域可以使用较低的细节层次,而离散LOD和连续LOD一样把模型作为一个整体来简化。

地形模型简化需要考虑其自身特性才能达到更好的性能,所以人
们提出了将地形分块(区域),不同的区域有不同的分辨率的多分辨率层次模型,也可以称为自适应LOD,它的基本思想是用不同的LOD来构造三维地形,对于局部分辨率依赖视点变化的地景模型,根据视点与场景的距离不同,采用不同的细节层次水平,当视点移动的时候,相应的改变视区场景的细节层次水平;对于依赖地表特征变化的模型,在平缓与突变处采用不同细节层次,采用这种方法,既不会产生视觉损失,又加快显示速度[5]。

三.总结
三维地形实时渲染技术可以更好的还原和显示真实的环境。

通过坐标变换、光照、光栅化处理段完成Direct3D标准的图形显示过程[9]。

在这个过程中,由于地形数据的海量特征以及当前显示硬件条件的限制,不可能以可交互的速渲染如此大量的三角形。

数字地形简化技术可以加速虚拟环境的渲染,使得三维实时可视化成为可能。

层次细节(LOD:Level Of Detail)是70年代由Clark提出的模型简化技术[4]。

而LOD技术发展至今经历了三大过程,分别是离散LOD模型、连续LOD模型、视相关LOD 模型。

但是对于大型复杂的地形,上述技术仍不能很好的满足地形的实时绘制要求。

比如战场环境仿真的基础性课题。

对于弹道导弹作战区域的可视化首先考虑其地形特征。

1)弹道导弹作战区域多在丘陵和山区。

采用基于地形陡峭程度的网格简化方法几乎减少不了多少三角形网格,仅在平原地区使用效果较好。

2)弹道导弹作战区域分布面积很大,但我们真正关心区域却往往只是很少一部分,比如作战阵地、洞库等。

采用基于视点的LOD网格简化方法当把视点移动到非重要目标区时仍然需要绘制大量的三角形片元,而这是没有必要的。

而且在视点移动过程中还可能会产生明显的呼吸效应,再则每次视点移动都要修补因网格间的连接不够平滑而产生的裂缝。

这也要额外耗费系统资源[11]。

参考文献
[1]胡其.二维矢量数据与三维地形融合技术的研究. 硕士学位论文.浙江工业大学.2009
[2] 王珂珂,张立朝,潘贞,王青山,张世全. 基于DirectX的多分辨率动态DEM构网算法研究[J].北京测绘.2008,(2)
[3]孙前,邱国庆.基于重要目标区的三维地形快速渲染方法[J].计算机与数字工程.2009,37(4)
[4]杨崇源,张继贤,林宗坚.虚拟地形场景绘制中的LOD实时算法[J].测绘学报,2001,30(2)
[5]邓正红,张婷婷,刘瑞恒,张怡.大规模地形渲染技术的研究与实现.西北工业大学学报[J].2010,28(6)
[6]李慧,崔磊,林诚凯,潘金贵.一种超大规模地形实时渲染方法[J].系统仿真学
报.2004,16(4)
[7]张水坤.DirectX在绘制三维分形图形算法中的实现[J].科技创业月刊.2007,20(9)
[8] 臧新锐,付春龙,樊旭艳.虚拟环境中大范围三维地形模型简化方法研究与实现[J].GIS技术,2007,81(3):81~83
[9]叶志军.Visual C++/DirectX9 3D游戏开发导引[M]. 人民邮电出版社,2006.2:67-69
[10]杨冠军.矢量数据与地形三维可视化的结合性研究.硕士学位论文.中国农业大学,2007.6
[11]LINDSTROM P, KOLLER D, RIBARSKY W, et al. Real-Time, continuous level of detail rendering of height fields[J]. ACM Computer Graphics(SIGGRAPH96),1996,
30(3):109-118
[12] PAJAROLA R,DECORO C. Efficient implementation of real-time view-dependent multiresolution meshing[J]. IEEE Transactions on Visualization and Computer Graphics,2004,10(3):353-368
分层地形实时绘制中的地平线遮挡剔除1
Brandon Lloyd
Parris Egbert
Brigham Young University
摘要
我们目前的技术来执行在运行时的分层地形遮挡剔除。

该算法实现简单,需要最少的预处理和额外的存储空间,高度遮挡时需要2-4倍帧速率。

我们的方法是基于众所周知的地平线遮挡剔除算法。

我们展示了算法在分层的地形中的应用。

剔除这些地区会大大节省渲染时间。

CR分类和主题描述:I.3.3[计算机图形学]:图片/图像生成-查看算法;I.3.7 [计算机图形学]:三维图形/表面剔除。

其他关键词:渲染算法,能见度,遮挡剔除。

1.引言
详细的地形模型在实时导航中有非常重要的应用。

计算机图形发展的初期,军方已使用飞行模拟器训练飞行员。

商业客机的飞行模拟器也很快应用该技术。

模拟器技术很快用于视频游戏。

今天地形实时导航经常使用在拟议的道路建设项目或卫星所拍摄的数据可视化等方面。

这些应用程序的质量往往取决于地形模型的大小和细节。

图1左上角,没有遮挡剔除地形。

右上角启用,遮挡剔除。

最后一行显
示的第一行中的相应意见得出的地形要素。

规模庞大的地形模型显示出了几个问题。

大型模型需要大量的内存。

占地只有几平方英里的模型可以由数百万多边形组成。

地形模型的纹理映射通常需要使用高分辨率以提供足够的细节,这使得他们非常大。

往往只是部分模型可以容纳在内存中。

1作者:Brandon Lloyd .Parris Egbert
出处: VIS '02 Proceedings of the conference on Visualization '02
IEEE Computer Society Washington, DC, USA
大地形模型渲染的实时帧速率是具有挑战性的。

虽然近年来的渲染硬件取得了很大进步,但是最好的硬件每秒只能渲染几百万多边形。

内存带宽限制了每秒可以渲染的纹理的数量。

当观察者接近地面向下看这些限制不是一个问题,因为模式下的视锥外的大部分可能被剔除掉。

然而,当观察者是从高海拔模式下看,或正在地面水平,模型部分可能是可见的。

由于目前无法呈现数百万的多边形,在实时渲染大地形模型,需要专门的算法。

一种解决方案是使地形采用自适应的细节层次(LOD)。

距离的特点,不需要以那些观察者观察的同样的保真度呈现。

遥远的画面可以小而粗糙,这样没有使图像质量明显下降。

四叉树分层地形很好,适合于自适应LOD的,并已广泛用于计算机图形和地理信息系统系统。

四叉树选择适当的解决方案模型可以代表不同的部分。

自适应LOD渲染数量从百万下降到几万帧的多边形。

自适应LOD的产生类似的指数减少量的纹理对于一个给定的框架是必需的。

这是因为较少,较低分辨率的纹理贴图可以用来覆盖大部分的模型。

而自适应LOD同时从地平线角度和高海拔角度显著减少多边形数量。

对多边形的计数水平的考虑可能比其他方面多,这是地形模型的一个特点。

从高海拔角度看,所有的几何细节在观察方向压缩,因此可以使用较粗的LOD。

从地平线角度,需要一个更高的分辨率捕捉地形剖面,从而导致需要渲染更多的多边形数量。

这是不幸的,因为这些往往是很常见的地形三维可视化应用。

然而,增加多边形数量,也不能更好的优化粗糙的地形,因为他们经常遮挡大部分的地形模型。

遮挡的地区不需要,因为他们没有在最终图像显示。

图1显示了由于剔除遮挡呈现几何减少。

虽然已经在为剔除地形遮挡努力,需要大量的预处理和存储。

我们目前用一种算法来计算地形遮挡。

它是基于一个众所周知的算法。

高度场可以保证水平线以下的遮挡。

通过跟踪高度场的地平线,因为它是在从前到后的顺序呈现,高度场的自我遮挡量可能会被检测出来。

地平线有效地融合了许多单个部件的地形遮挡。

完全落在地平线以下的地形要素被剔除。

其余的地形要素呈现出来。

本文的贡献是遮挡地平线上的应用分层地形。

该算法需要最小的预处理和额外的内存,并很容易实现。

在简要讨论在第2节本文相关的工作,我们给我们在第3节使用的地形渲染算法的概述。

第4条解释的遮挡剔除算法的细节。

在第5节,我们将展示我们在渲染一个包含超过100万三角形的大地形模型中获得的性能的增强。

最后,我们做出一些结论性意见,并讨论未来的工作方向。

2.相关工作
在遮挡剔除方面已进行了大量的研究。

Cohen-Or等人最近的一篇文章提供了一个优良的可视性技术[6]。

可见算法可以判断可见度来预先计算步骤。

预处理现场的预先计算的可见度算法,以确定哪些对象在空间是可见的。

在运行时,只有在预先计算的当前视点的可见对象设置的对象是绘制,大量的可见对象是比较小的场景中的对象,这也会导致巨大的储蓄。

预处理算法的主要缺点是,他们只限于静态的场景,他。

相关文档
最新文档