论文部分内容阅读
摘 要:在虚拟场景中,为了解决场景逼真度与绘制速度之间的矛盾,可以采用LOD技术为物体建立几个不同细节层次的几何模型,然后根据物体距视点的远近在不同细节层次间进行切换。详细介绍了LOD技术原理及生成方法。
关键词:几何模型;层次细节;删减法
中图分类号:TP391.41文献标识码:A
Research of LOD Technology in Virtual Environment
XU Lan
(College of information science & engineering, Bohai University, Liaoning Jinzhou 121000)
Key words: geometry model; LOD;decimation
在虚拟场景系统中,表示场景模型的多边形数目越多,逼真度越大,但渲染速度就越慢。然而随着视点距物体远近的变化,对其表面渲染效果的要求也就不同了。因此可以采用LOD技术对每一个原始物体模型建立几个不同逼近精度的几何模型,当从近处观察物体时,采用精细模型,而当从远处观察物体时采用较为粗糙的模型。这样可以减少不必要的计算,节约时间且不会降低场景的逼真度,大大提高了场景的绘制速度。
1 LOD技术
层次细节(Level Of Detail,简称LOD)技术:在不影响画面视觉效果的条件下,通过逐次简化景物的表面细节来减少场景的几何复杂性,从而提高绘制算法的效率[1]。在图形绘制中依据视点远近或其他标准在这些细节模型中进行切换,从而能够实时地改变场景的复杂度。如果一个实体远离视点,则选择较粗糙的LOD进行绘制,如果实体靠近视点则选择高分辨率的LOD模型进行绘制。这样即能保证场景的视觉效果,又能提高场景的绘制速度,改善系统的实时性。
2 LOD基本原理
当视点远离对象时,对象被显示为低的LOD,只包含相关的少数几个多边形,而当视点向着对象移动时,实时系统将它替换为逐渐增加的更复杂的LOD,反之亦然。使用LOD技术可以有效提高模型数据库的多边形利用率,在有限的条件下取得最佳的视觉效果,如图1。
其中“Switch In”和“Switch Out”分别表示该LOD层次的转入和转出的距离,这两个值确定了该L.OD的显示范围。“Switch In”参数值一定要大于“Switch Out”参数值,为了保证相邻LOD之间的连续性,较高LOD的转入距离应该跟较低的LOD的转出距离相等。
3 LOD的生成方法
LOD技术大都用于简化多边形几何模型,目前用于模型简化的LOD生成方法[2]主要有:细分法、采样法、删减法。
3.1细分法
细分法(subdivision)用非常简单的基本模型表示初始模型,然后根据一定的规则迭代细分模型,每一步都向模型局部区域增加越来越多的细节,直到细节的模型满足用户定义的误差要求。图2显示用细分法对一个地形模型的简化过程。
3.2采样法
采样法(Sampling)通过在初始模型的表面随机抽取一些点来初始化多边形模型,通过较少的多边形重建初始模型且满足采样点处的误差估计。用户可以控制采样点数,但不能控制最终近似的初始多边形模型。该方法多适用于具有光滑表面的模型。图3表示采样法来简化地形模型的过程。
3.3删减法
删减法(Decimation)主要通过对几何模型的基本单元(点、边、面)的删减、合并来达到模型简化的目的。由于删减法应用比较广泛,所以在下面进行详细介绍。
实际应用中,三维场景模型最后一般都被转化为三角形网格。从网格的几何及拓扑特性出发,存在着三种不同的基本化简操作[3]:
(1)顶点删除操作:删除网格中的一个顶点,然后对它的相邻三角形形成的空洞作三角剖分,以保持网格的拓扑一致性。
(2)边压缩操作:把网格上的一条边压缩为一个顶点,与该边相邻的两个三角形退化为两条边(面积为零)。
(3)面片收缩操作:把网格上的一个面片收缩为一个顶点,该三角形本身和与其相邻的三个三角形都退化,而它的三个顶点收缩为一个新的顶点。
利用这些基本操作,只要确定每次操作给网格场景带来的误差计算,用这个误差代价计算方法来计算原始网格上的每一个基本元素的误差作为权值,插入到一个按权值递增排列的队列中。然后开始循环进行网格基本化简操作。在每一次循环中,选取队首权值最小的操作,执行之,更新变化的网格信息,并重新计算改变了的网格基本元素的误差,插入到队列中,再开始下一个循环,直到队列的最小误差达到用户设定的阈值或者用户希望的化简网格数目己经达到。通过上面的方法,可以建立原始场景的不同层次细节的模型,所建立的模型具有一定层次的细节,而且相对于原始网格,它们之间的误差是逐步递增的,这样的模型可以很好的用于层次细节的显示中。图7(a)、(b)、(c)、(d)分别为门廊的三个不同层次细节模型及层级视图。
4 LOD的切换
在MulitGen中一般采用尺寸/距离标准来进行LOD的切换,对使用了LOD的模型需要定义每一级LOD进行切换显示的范围值,即切入距离与关闭距离(如图8所示)。一旦观察视点接近对象模型,且两者距离小于切换距离,对象就开始显示当前的LOD模型,当两者距离继续缩小到关闭距离时,当前的LOD模型将关闭,如果定义了更精确的LOD模型,则切换到更精确的LOD模型继续显示,初级LOD的关闭距离往往就是高级LOD的切入距离。这样,当视点远离对象时,看到的是粗糙的LOD模型,而逐渐靠近对象时,看到的总是越来越精细的LOD模型。
5 LOD间的平滑过渡
根据物体与视点的距离来选择不同细节层次模型的LOD技术可以大大提高绘制的效率。C rector采用了Morph方法来平滑相邻LOD模型的切换,使其自然过渡。在Morphing过程中系统为低端LOD点位置分配一个变形点,当高端LOD被载入时,实时系统优先显示该变形点,然后逐步更新视觉场景利用LOD技术可以使相邻层次模型的多边形数减少50%~60%。
6 结束语
LOD技术能够很好地解决场景逼真度与绘制速度之间矛盾,既能保证场景的视觉效果,又能提高场景的绘制速度,改善系统的实时性。
参考文献:
[1]郭阳明,翟正军,陆艳红.虚拟场景生中的LOD技术综述[J].计算机仿真.2005,22(12):180-183.
[2]孙家广等.计算机图形学[J].第三版.北京:清华大学出版社,1998.
[3]李竹林,孟晓红,张洪香,赵宗涛.基于LOD建模的视景仿真生成技术研究[J].计算机技术与发展,2006,16(2):50-52.
关键词:几何模型;层次细节;删减法
中图分类号:TP391.41文献标识码:A
Research of LOD Technology in Virtual Environment
XU Lan
(College of information science & engineering, Bohai University, Liaoning Jinzhou 121000)
Key words: geometry model; LOD;decimation
在虚拟场景系统中,表示场景模型的多边形数目越多,逼真度越大,但渲染速度就越慢。然而随着视点距物体远近的变化,对其表面渲染效果的要求也就不同了。因此可以采用LOD技术对每一个原始物体模型建立几个不同逼近精度的几何模型,当从近处观察物体时,采用精细模型,而当从远处观察物体时采用较为粗糙的模型。这样可以减少不必要的计算,节约时间且不会降低场景的逼真度,大大提高了场景的绘制速度。
1 LOD技术
层次细节(Level Of Detail,简称LOD)技术:在不影响画面视觉效果的条件下,通过逐次简化景物的表面细节来减少场景的几何复杂性,从而提高绘制算法的效率[1]。在图形绘制中依据视点远近或其他标准在这些细节模型中进行切换,从而能够实时地改变场景的复杂度。如果一个实体远离视点,则选择较粗糙的LOD进行绘制,如果实体靠近视点则选择高分辨率的LOD模型进行绘制。这样即能保证场景的视觉效果,又能提高场景的绘制速度,改善系统的实时性。
2 LOD基本原理
当视点远离对象时,对象被显示为低的LOD,只包含相关的少数几个多边形,而当视点向着对象移动时,实时系统将它替换为逐渐增加的更复杂的LOD,反之亦然。使用LOD技术可以有效提高模型数据库的多边形利用率,在有限的条件下取得最佳的视觉效果,如图1。
其中“Switch In”和“Switch Out”分别表示该LOD层次的转入和转出的距离,这两个值确定了该L.OD的显示范围。“Switch In”参数值一定要大于“Switch Out”参数值,为了保证相邻LOD之间的连续性,较高LOD的转入距离应该跟较低的LOD的转出距离相等。
3 LOD的生成方法
LOD技术大都用于简化多边形几何模型,目前用于模型简化的LOD生成方法[2]主要有:细分法、采样法、删减法。
3.1细分法
细分法(subdivision)用非常简单的基本模型表示初始模型,然后根据一定的规则迭代细分模型,每一步都向模型局部区域增加越来越多的细节,直到细节的模型满足用户定义的误差要求。图2显示用细分法对一个地形模型的简化过程。
3.2采样法
采样法(Sampling)通过在初始模型的表面随机抽取一些点来初始化多边形模型,通过较少的多边形重建初始模型且满足采样点处的误差估计。用户可以控制采样点数,但不能控制最终近似的初始多边形模型。该方法多适用于具有光滑表面的模型。图3表示采样法来简化地形模型的过程。
3.3删减法
删减法(Decimation)主要通过对几何模型的基本单元(点、边、面)的删减、合并来达到模型简化的目的。由于删减法应用比较广泛,所以在下面进行详细介绍。
实际应用中,三维场景模型最后一般都被转化为三角形网格。从网格的几何及拓扑特性出发,存在着三种不同的基本化简操作[3]:
(1)顶点删除操作:删除网格中的一个顶点,然后对它的相邻三角形形成的空洞作三角剖分,以保持网格的拓扑一致性。
(2)边压缩操作:把网格上的一条边压缩为一个顶点,与该边相邻的两个三角形退化为两条边(面积为零)。
(3)面片收缩操作:把网格上的一个面片收缩为一个顶点,该三角形本身和与其相邻的三个三角形都退化,而它的三个顶点收缩为一个新的顶点。
利用这些基本操作,只要确定每次操作给网格场景带来的误差计算,用这个误差代价计算方法来计算原始网格上的每一个基本元素的误差作为权值,插入到一个按权值递增排列的队列中。然后开始循环进行网格基本化简操作。在每一次循环中,选取队首权值最小的操作,执行之,更新变化的网格信息,并重新计算改变了的网格基本元素的误差,插入到队列中,再开始下一个循环,直到队列的最小误差达到用户设定的阈值或者用户希望的化简网格数目己经达到。通过上面的方法,可以建立原始场景的不同层次细节的模型,所建立的模型具有一定层次的细节,而且相对于原始网格,它们之间的误差是逐步递增的,这样的模型可以很好的用于层次细节的显示中。图7(a)、(b)、(c)、(d)分别为门廊的三个不同层次细节模型及层级视图。
4 LOD的切换
在MulitGen中一般采用尺寸/距离标准来进行LOD的切换,对使用了LOD的模型需要定义每一级LOD进行切换显示的范围值,即切入距离与关闭距离(如图8所示)。一旦观察视点接近对象模型,且两者距离小于切换距离,对象就开始显示当前的LOD模型,当两者距离继续缩小到关闭距离时,当前的LOD模型将关闭,如果定义了更精确的LOD模型,则切换到更精确的LOD模型继续显示,初级LOD的关闭距离往往就是高级LOD的切入距离。这样,当视点远离对象时,看到的是粗糙的LOD模型,而逐渐靠近对象时,看到的总是越来越精细的LOD模型。
5 LOD间的平滑过渡
根据物体与视点的距离来选择不同细节层次模型的LOD技术可以大大提高绘制的效率。C rector采用了Morph方法来平滑相邻LOD模型的切换,使其自然过渡。在Morphing过程中系统为低端LOD点位置分配一个变形点,当高端LOD被载入时,实时系统优先显示该变形点,然后逐步更新视觉场景利用LOD技术可以使相邻层次模型的多边形数减少50%~60%。
6 结束语
LOD技术能够很好地解决场景逼真度与绘制速度之间矛盾,既能保证场景的视觉效果,又能提高场景的绘制速度,改善系统的实时性。
参考文献:
[1]郭阳明,翟正军,陆艳红.虚拟场景生中的LOD技术综述[J].计算机仿真.2005,22(12):180-183.
[2]孙家广等.计算机图形学[J].第三版.北京:清华大学出版社,1998.
[3]李竹林,孟晓红,张洪香,赵宗涛.基于LOD建模的视景仿真生成技术研究[J].计算机技术与发展,2006,16(2):50-52.