CN1273940C - 一种分级层次化组装式深度拼图集的快速绘制森林方法 - Google Patents

一种分级层次化组装式深度拼图集的快速绘制森林方法 Download PDF

Info

Publication number
CN1273940C
CN1273940C CN 200410017677 CN200410017677A CN1273940C CN 1273940 C CN1273940 C CN 1273940C CN 200410017677 CN200410017677 CN 200410017677 CN 200410017677 A CN200410017677 A CN 200410017677A CN 1273940 C CN1273940 C CN 1273940C
Authority
CN
China
Prior art keywords
depth
pack
mosaic
node
forest
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CN 200410017677
Other languages
English (en)
Other versions
CN1564203A (zh
Inventor
华炜
张淮声
鲍虎军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN 200410017677 priority Critical patent/CN1273940C/zh
Publication of CN1564203A publication Critical patent/CN1564203A/zh
Application granted granted Critical
Publication of CN1273940C publication Critical patent/CN1273940C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种分级层次化组装式深度拼图集的快速绘制森林方法。该方法包括建立森林的层次结构、建立树模型的LDI-Pack的层次结构、建立LDM-Pack的层次结构、建立森林结构中各结点的LADM-Pack、建立绘制队列和绘制队列结点六个步骤。本发明借鉴了LOD,IBR,PBR和Billboard的优点,在图像质量、绘制性能和存储代价上提供了很好的平衡。所使用的纹理通过一种包含遮挡信息的自适应纹理压缩方法进行处理,减少了纹理内存的消耗,引入一种融合方法,实现了绘制队列结点的不同LADM-Pack的渐进过渡,能够快速绘制大规模森林场景,并且减弱了视觉上的跳跃。本发明可应用于地理信息仿真、虚拟场景漫游、游戏引擎等领域中。

Description

一种分级层次化组装式深度拼图集的快速绘制森林方法
技术领域
本发明涉及一般的图像数据处理或产生,尤其涉及一种分级层次化组装式深度拼图集的快速绘制森林方法。
技术背景
大规模场景的交互漫游在虚拟现实领域中起着重要的作用,而逼真的森林绘制效果在自然场景模拟中也是重要的组成部分。然而,森林包含大量的细节信息,以及受光照和遮挡影响,使得交互绘制大规模的森林成为较难解决的问题。解决这个问题的关键,就是如何适当简化树木和森林的复杂模型,同时尽量保持其绘制质量。前人对森林和植被等问题的快速绘制进行了研究,归类为五种类别:
1.几何的层次细节LOD模型:这类方法计算多个植被的层次细节模型,并使用视觉依赖的LOD技术实现不同层次之间的平滑切换。I.Remolar提出了一种自动的外观保持的森林简化算法。在绘制中,根据到视点的距离选择合适的层次。可参考[RMB02a]I.Remolar,M.Chover,O.Belmonte,J.Ribelles,C.Rebollo.Geometric Simplification of Foliage.Eurographics 2002.
2.公告牌Billbard和其变化类型:在许多应用中,经常使用一个带纹理的Billboard来表示一棵树。然而,其缺点是Billborad过于简化,不能很好表现树的细节信息。一个改进的策略就是使用好几个Billboard,构成X形状的Billboard。Aleks Jakulin把树分解为两部分:树干和树叶。树干用多边形网格表示,树叶简化为许多的切片,每个切片包含一组透明的平行薄片。每个切片表示树的一个视域方向。在绘制时,根据误差尺度选择两个切片,然后以融合模式进行绘制。可参考[Jak00]Aleks Jakulin.Interactive Vegetation Rendering with Slicing andBlending.Eurographics 2000.
3.体纹理:树模型首先被体素化,然后使用3D纹理映像的技术进行绘制。可参考[Ney96]Fabrice Neyret.Synthesizing Verdant Landscapes using VolumetricTextures.Eurographics Workshop on Rendering′96,Porto,Portugal,June 1996.。但是,这种方法通常比其它方法消耗更多的内存。特别是,当图形硬件的显存明显小于所有树的总需要时,在纹理传输上将消耗更多时间。
4.基于图像的绘制IBR:IBR方法把物体空间的复杂度转换为图像空间的复杂度,这样通过增大存储量降低时间。这种方法很适合做植被的绘制,因为植被的复杂度通常很高。可参考[SGH98]Jonathan Shade,Steven Gortler,Li-weiHe.Richard Szeliski.Layered Depth Images.SIGGRAPH 98 ConferenceProceedings,page 231-242,July 1998。
5.点绘制PBR:Levoy和Whitted首先使用多分辨率的点模型表示高细节的表面模型。可参考[MT85]Levoy,M.,Whitted,T.The Use of Points as a DisplayPrimitive.Technical report,University of North Carolina at Chapel Hill,1985。MarcStamminger提出了一个快速采样算法,用于处理复杂的几何物体,并演示了一个包含1000棵树的自然场景,可参考[SD01]Marc Stamminger,George Drettakis.Interactive Sampling and Rendering for Complex and Procedural Geometry.Eurographics Workshop on Rendering 2001.。
发明内容
在于针对现有技术的不足,本发明的目的是提供一种分级层次化组装式深度拼图集的快速绘制森林方法,可以交互式漫游大规模的森林场景,并且具有真实感效果。
为实现上述的目的,本发明采用的技术方案如下:
1)建立森林的层次结构:给定一个森林分布和树的模型,对森林所在的地形进行递归的四叉剖分,直到每个叶结点至多只有一棵树,然后自下而上的合并中间结点,直到合并成一个根结点,这个根结点表示整个森林,这样完成了森林四叉树层次结构的建立;
2)建立树模型的层深图像集LDI-Pack的层次结构:对于树的模型,经过采样得到层深图像,再建立其多分辨率的层次结构;
3)建立层次化深度拼图集LDM-Pack的层次结构:层次化深度拼图集LDM-Pack是层深图像集LDI-Pack产生出的一个数据结构,包括深度拼图和纹理数据两个部分;这个过程包含两个步骤,第一步对纹理数据进行遮挡包含的自适应压缩,并重组到大的纹理图像包中;第二步是根据层深图像的深度信息,建立树的深度拼图结构;
4)建立森林结构中各叶、中间、根结点的层次化组装式深度拼图集LADM-Pack:对每个叶、中间、根结点,根据预处理视点,从预先建立好的层次化深度拼图集LDM-Pack中选择深度拼图,构成用于绘制的层次化组装式深度拼图集LADM-Pack;
5)选择森林结构中各叶、中间、根结点建立绘制队列:自上而下的遍历整个森林的层次结构,递归的进行视域剔除和基于视差的各叶、中间、根结点选择,建立绘制队列结点;
7)融合方法为:当观察者移到一个视域区时,绘制队列结点过程将激活落在该视域区且距结点中心近的预处理视点,当观察者位于视域区时,激活的预处理视点的LADM-Pack的所有深度拼图以绘制模式从后向前绘制,计算f(cos(α))作为深度拼图的融合系数,参数α是深度拼图的法向量和视线方向反相的夹角,函数f(·)称作调节函数,这个融合策略可以保证当视点从某个视域区移到另一个视域区时,实现绘制的平滑过渡;当观察者从视域区viewcelli移到另一个视域区viewcelli+1时,也使用融合方法绘制不同LOD层次的LADM-Pack,建立了两个视域区的过渡区域,到结点中心的距离变化范围是从dt到di+1,当观察者在过渡区域时,融合从两个视域区中选择的LADM-Pack,融合系数可以通过下式计算
w i = 1 - d - d t d i + 1 - d t , w i + 1 = d - d t d i + 1 - d t
这里wi是对于视域区viewcelli的融合系数,wi+1是视域区viewcelli+1融合系数,d是观察者和结点中心的距离,di和di+1分别是结点中心到视域区viewcelli和视域区viewcelli+1的距离,dt(di<dt<di+1)是所定义的过渡区域的内边界,也是一个球面半径;对于需要绘制的中间、根结点,当观察者远离它们时,需要选择对应的中间、根结点来代替它的孩子结点,对每个中间、根结点,在它所有孩子结点的采样包围球和它的采样球之间定义一个过渡区域,融合系数的计算仍是用上面公式。
整个森林是一个四叉树层次结构,每个叶、中间、根结点使用层次化组装式深度拼图集LADM-Pack表示,每个层次化组装式深度拼图集LADM-Pack包含层次化组装式深度拼图LADM,是深度拼图DM的集合。
建立层次化深度拼图集LDM-Pack的层次结构就是对层深图像进行遮挡包含的自适应纹理压缩,并重组到纹理图像包中,减小纹理内存的消耗和根据层深图像的深度信息,建立树的深度拼图结构。
建立森林结构中各叶、中间、根结点的层次化组装式深度拼图集LADM-Pack就是对每个叶、中间、根结点,根据预处理视点,从预先建立好的层次化深度拼图集LDM-Pack中选择深度拼图,构成用于绘制的层次化组装式深度拼图集LADM-Pack。
选择森林结构中各叶、中间、根结点建立绘制队列就是自上而下的遍历整个森林的四叉树层次结构,递归的进行视域剔除和基于视差的各叶、中间、根结点选择,建立绘制队列结点。
绘制队列结点就是使用一种融合方法,实现不同层次化组装式深度拼图集LADM-Pack的渐进过渡。
本发明与背景技术相比较,其优点在于:
本发明借鉴了LOD,IBR,PBR和Billboard的优点,在图像质量、绘制性能和存储代价上提供了很好的平衡。本发明对层深图像的纹理进行了多分辨率的基于图像的层次化表示,所使用的纹理通过一种新的包含遮挡信息的自适应纹理压缩方法进行处理,减少了纹理内存的消耗,引入一种融合策略,在不同的层次化组装式深度拼图集上实现渐进过渡,能够快速绘制大规模森林场景,并且没有视觉上的明显跳跃。本方法可应用于地理信息仿真、虚拟场景漫游、游戏引擎等领域中。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是本发明方法的流程图;
图2是采样树的模型建立LDI-Pack的层次结构;
图3是建立LDI-Pack的层次结构;
图4是深度差带来的视差图;
图5是选择结点建立绘制队列图;
图6是绘制结点时视域区图;
图7是绘制结点时过渡区域图。
具体实施方式
如图1所示,本发明提出的一种分级层次化组装式深度拼图集的快速绘制森林方法,包括建立森林的层次结构、建立树模型的LDI-Pack的层次结构、建立LDM-Pack的层次结构、建立森林结构中各结点的LADM-Pack、选择森林结点建立绘制队列和绘制结点六个步骤。流程如图1所表示:首先根据森林分布和树的模型,建立森林的层次结构,然后采样树的模型,得到树的LDI-Pack的层次结构,接着建立LDM-Pack的层次结构,建立森林结构中各结点的LADM-Pack,绘制时选择森林结点建立绘制队列,最后绘制结点。
现具体介绍本方法的六个步骤:
1)建立森林的层次结构
给定一个森林分布和树的模型,对森林所在的地形进行递归的四叉剖分,直到每个叶结点至多只有一棵树,然后自下而上的合并中间结点,直到合并成一个根结点,这个根结点表示整个森林,这样完成了森林四叉树层次结构的建立。
2)建立树模型的LDI-Pack的层次结构
首先采样树的模型,选择一些采样点分布在采样球上,这个采样球的中心为树模型的中心点,其采样半径等于rbound/sin(0.5*fov),其中rbound是树模型包围球的半径,fov是采样中使用的摄像机视域广角。这些采样点称作采样视点,从树模型中心到采样视点的方向称为采样方向。在具体实现中,需要观察树的上方,在采样球上半部分选择了13个采样视点。
如图2所示,对每个采样方向1,根据采样半径确定其采样视点2,用一组平行的切平面3把该树模型的采样球切分成N层(N>0),这些切平面垂直于采样方向。然后,利用光线跟踪算法绘制每层中的几何面片,得到一张带深度分布4的采样图像。这种带深度的图像称作层深图像(LDI)5,每个像素包含五个分量,三个分量RGB表示像素颜色,分量A表示像素透明度,分量D表示像素的深度。如果光线没有与几何面片相交,那么对应像素的A分量值是0,否则为1。因此,对每个采样视点,都有一组同样分辨率的LDIs,称作LDI-Pack。把包含LDIs的个数称作LDI-Pack的分层数,把LDIs的分辨率称作LDI-Pack的分辨率。
下面构造该采样方向上LDI-Pack的层次结构。由上面方法获得的LDI-Pack作为最精细层,称作LDI-Pack0。它的层数为M0,分辨率为2N×2N。进一步的,把该采样方向上的采样视点记为sv0,设sv0到结点中心的距离为sd0
在第i级的LDI-Packi分辨率为2N-i×2N-i。其采样视点svi距离结点中心的距离是sdi(=2i·sd0)。
为了建立LDI-Packi,把LDI-Pack0所有像素的深度范围分为Mi间距。每个间距实际上定义了对象空间的一个分层。当像素的深度落在某个间距中时,该像素被排序存到对应的层中。把所有像素排序完后,每层的像素根据采样视点svi利用Warping技术进行重投影,产生一个新的LDI,并且分辨率变为2N-i×2N-i。这样产生的Mi个新的LDIs形成了一个LDI-Packi。通过这种方法,对每个方向创建了LDI-Pack的LOD层次。图3表示了一个建立LOD层次的例子,LDI-Pack0的分层数为7,分辨率是256×256,然后依次经过变换,得到分层数为4,分辨率是128×128的LDI-Pack1,分层数为2,分辨率是64×64的LDI-Pack2和分层数为1,分辨率是32×32的LDI-Pack3。这样共产生4级LOD的LDI-Pack。
3)建立LDM-Pack的层次结构
LDM-Pack是LDI-Pack产生出的一个数据结构,包括深度拼图和纹理数据两个部分。这个过程包含两个步骤,第一步对纹理数据进行自适应压缩,并重组到大的纹理图像包中;第二步是根据层深图像的深度信息,建立树的深度拼图结构。
深度拼图是一个近似估计一组空间点的小平面矩形,记为Depth Mosaic,简记为DM。深度拼图对应层深图像上的一个矩形区域,并使用这个区域作为深度拼图的纹理,深度拼图的深度值是落在层深图像矩形区域内的可见像素点的平均深度值,这些点到深度拼图的最大深度距离记为Diffdepth
对每个采样方向上的每个LDI-Pack做如下处理,先进行纹理数据的压缩。LDI-Pack原始的纹理数据占用不少存储空间,为了降低存储容量,使用一种新的压缩算法减小纹理数据。这种方法是Martin Kraus提出的自适应纹理映射的改进,可参考[KE02]Martin Kraus,Thomas Ertl,Adaptive Texture Maps,Proceedingsof the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware,2002。
首先把LDI-Pack中所有的LDIs分成大小相等的正方形块,称作基块,基块的颜色信息称作块纹理,记为BT。对每一个块纹理建立一个金字塔结构,在最精细一层的块纹理称为BT0,最粗糙一层称为BTn。在BTl的一个像素对应BTl-1的四个像素。定义EXPAND(BTl)操作为把BTl扩大为BTl-1。BTl1和BTl2(l1>l2)可以通过下式估计
Diff ( l 1 , l 2 ) = Σ i , j | EXPAND l 1 - l 2 ( BT l 1 ) ( i , j ) - BT l 2 ( i , j ) | NP , - - - ( 1 )
这里BTl2(i,j)是BTl2中像素(i,j)的颜色。EXPANDl1-l2(BTl1)(i,j)是把BTl1扩展(l1-l2)倍后,得到的块纹理中像素(i,j)的颜色,NP is BTl2中可见像素的数量。
然后计算Diff(l,0),l依次取为从1到n,直到找到l0满足Diff(l0,0)≤δ<Diff(l0+1,0),这里δ是后面将要讨论的一个阈值。这样认为BTl0可以很好的估计BT0,所以可以代替BT0
因为LDI-Pack包含的基块分布在多层中,所以从采样视点观察一组LDI-Pack时,基块之间存在明显遮挡。这样,可以估计每个基块的遮挡比例,如果基块的遮挡比例较大,那么该基块可以有较少的纹理细节。使用下面公式来计算上面的阈值δ
                    δ=(1+s·γoccludedc(2)这里δc是用户定义的颜色差异常量,s是放缩因子,可以调节受遮挡的影响,γoccluded是基块的遮挡比例,即
Figure C20041001767700101
γoccluded可以在第一步构造LDI-Pack的层次结构时计算出来。
处理所有的基块后,纹理信息可以得到很好的压缩。当δc=10且s=3时,平均压缩率是23%。压缩会造成块纹理变为不同大小的分辨率,如果每个块纹理仅用单个图像文件存储,则将会产生太多的小图像,纹理映射的性能将在绘制阶段极大下降。因此,把这些块纹理重组成几个大的纹理图像包。
然后建立LDI-Pack对应的LDM-Pack的深度拼图结构。对于LDI-Pack的一个层深图像LDI,可以建立对应的一组深度拼图,记为LDM。首先递归剖分LDI,构造一个子图块的四叉树结构。根结点对应整个LDI,第二级结点对应在上面介绍的基块,基块下面的结点对应由四叉剖分该基块产生的子图块,然后继续剖分,当子图块小到某个尺寸时,递归剖分结束。并且,对于完全透明的子图块则从图块结构中移去。接着,利用Warping算法来计算这些基块和子图块对应的深度拼图,同时计算深度拼图的平均深度,最大深度距离Diffdepth,遮挡比例。这样处理完所有的基块和子图块后,同样得到一个四叉树结构,就是LDM。处理完LDI-Pack的所有层后,完成了LDM-Pack深度拼图结构的创建,它的分层数等于LDI-Pack的分层数,同时把LDI-Pack的纹理分辨率作为对应的LDM-Pack的分辨率。
很明显对同一采样方向上所有LDI-Pack的LOD层次进行处理,同样得到对应的LDM-Pack的LOD层次。
4)建立森林结构中各结点的LADM-Pack
有了单树的LDM-Pack后,就可以建立叶结点的用于绘制的深度拼图集。森林的各叶、中间、根结点每个采样方向上用于绘制的深度拼图集也分为层次结构,每层是来自于其包含树的深度拼图,称作一个分层组装式深度拼图,记为LADM,每个方向上的所有LADM,构成一个分层组装式深度拼图集,记为LADM-Pack。首先介绍如何通过LDM创建叶结点的LADM。
在每个采样方向上,给定一个预处理视点pvi,需要从LDM-Pack的LOD结构中选择一个合适的层次。计算结点的包围球在屏幕上的投影面积Prjarea(Bs(T)),T表示对应的结点,Bs是计算T的包围球,Prijarea是投影面积的大小。找到一个IDM-Pack的LOD层次:
l if Resolution ( LDM - Pack l ) ≥ Prjarea ( Bs ( T ) ) > Resolution ( LDM - Pack l + 1 ) 0 if Prjarea ( Bs ( T ) ) > Resolution ( LDM - Pack 0 ) n if Prjarea ( Bs ( T ) ) ≤ Resolution ( LDM - Pack n ) Resolution表示LDM-Packi的纹理分辨率大小,n表示LDM-Pack的LOD层数。
接着,从得到的LDM-Packl中自上而下选择一些合适的深度拼图,选择准则是,根据其相关的预处理视点pvi,判断深度拼图的视差是否满足预先给定的阈值η。视差Disparity是一个用来衡量深度拼图和它包含的深度像素的最大深度差在投影平面上的投影的尺度。如图4所示,在预处理视点pvi6时,深度拼图的最大深度距离为Diffdepth7,从视点8观察该深度拼图,可得到视差Disparity9,通过下式估计:
Disparity = max ( w , h ) 2 tan ( fov / 2 ) · Diff depth d DM , - - - ( 3 )
这里w和h分别是视域的宽和高,dDM是pvi和深度拼图中心的距离。η由下式决定
                 η=(1+s·γoccluded)ηd≤Disparity,(4)这里ηd是用户定义的常量,s和γoccluded与(2)式中的一样。通过(2)和(4)式,引入了遮挡信息,即较大遮挡的部分将用较少几何信息和纹理信息表示。
这样对整个LDM-Pack处理后,得到一组LADM-Pack。为了提高绘制的效率,建立了叶结点的LOD层次结构。实际操作中,创建3层LOD结构,选择0层的预处理视点pv0就是采样球的采样视点sv0,则使用的LDM-Pack也是0级的数据,设d0是pv0到结点中心的距离,选择pvi的位置为该采样方向上对应的di=ki·d0,(0<k≤2),然后利用上面的步骤选择出相应的LADM-Packi。对每个采样方向均如此执行,最后完成构造叶结点的过程。
对于中间和根结点,也可以先采样得到LDI-Pack,再建立LDM-Pack,最后选择出LADM-Pack。但如果这样执行,处理时间和存储容量都会变得不可接受。与处理叶结点不同的是,重用叶结点的可用信息,既可以提高效率,也可以节省存储空间。
首先,与处理叶结点一样,定义一组采样方向和预处理视点。这里,需要保证中间结点的采样球能够包含它子结点所有预处理视点。给定树组的某个采样方向v和该方向上的预处理视点pvi,对于树组中的每棵树,选择这棵树的一个采样方向v’i,使得这个方向与方向v一致,且夹角最小。然后使用上述方法根据pvi选择LDM-Packl,再从中选出合适的深度拼图。
得到了这样深度拼图的集合后,再进行分层处理。注意到叶结点的深度拼图均来自同一棵树,因此其深度拼图的层次正好与相应的LDM-Pack的层次对应,而中间结点的深度拼图可能来自于不同的树,所以需要进行重新分层操作。把深度拼图集的包围球在预处理采样方向v上进行分层,把深度拼图进行排序,归类到不同的层次中。分层完成后,得到了预处理视点pvi上的一个LADM-Packi
在当前实现中,对每个中间结点只使用一级的LADM-Pack。这也很合情理,因为LADM-Packs的较粗糙层可以在较高结点找到。通过使用上面方法,中间结点的所有纹理仅仅来自于叶结点的纹理图像包。这样,节省了大量的存储空间。
处理完所有的结点后,整个森林是一个四叉树层次结构,每个叶、中间、根结点使用层次化组装式深度拼图集LADM-Pack表示,每个层次化组装式深度拼图集LADM-Pack包含层次化组装式深度拼图LADM,是深度拼图DM的集合。森林的整个结构称为分级层次化组装式深度拼图集,简记为HLADM-Pack。
5)选择森林结点建立绘制队列
选择森林结点建立绘制队列过程也是一个遍历森林场景图过程,即自上而下的遍历整个森林的层次结构,递归的进行视域剔除和基于视差的各叶、中间、根结点选择,建立绘制队列结点。
首先,定义各叶、中间、根结点的深度差异:
          Diffdepth(node)=max{Diffdepth(mosaic)|_mosaic∈node}为了保证结点的深度差异大于其子结点的深度差,定义饱和深度差为
SDiff depth ( node ) = max Diff depth ( node ) , max [ SDiff depth ( node ′ ) | ∀ node ′ ⋐ node ]
这里node′表示孩子结点,结点的视差需要满足
Disparity ≤ max ( w , h ) 2 tan ( fov / 2 ) · SDiff depth d DM , ( 5 )
(5)中所示的变量除了SDiffdepth,其他均与(3)一致。
这个过程从上而下遍历森林的层次结构,递归的进行视域剔除和各叶、中间、根结点选择。如果各叶、中间、根结点在视域外,则被剔除,如果在视域内,则判断其视差是否满足用户定义的门限,如果满足则选择该叶、中间、根结点,放在绘制队列中,称作绘制队列结点,否则继续访问,如图5所示,箭头所指的各中间结点(T1,T7,T8,T12)和叶结点(方块表示)构成了整个绘制队列结点。因为深度拼图的纹理可以是透明的,所以需要根据当前视点从后向前绘制面片。
6)绘制队列结点
对于每个绘制队列结点,其来自于森林的叶、中间、根结点。因为叶结点和中间、根结点的数据结构一样,所以绘制叶结点的方法可以直接用于中间、根结点。将着重讨论叶结点的绘制。
在每个结点,如果选择M个采样方向,在每个方向的LADM-Pack中有N级LOD,那么共有M个采样方向与N个同心采样球相交,故共有N×M个预处理视点。这些预处理视点在图6中以小点表示,每个预处理视点对应一个LADM-Pack。更进一步,这些同心球和采样方向形成了一个空间分区。图6显示了二维的空间分区。由采样方向和同心圆围成的封闭区域称作视域区(viewcell),在图6中以灰色表示的区域是外部的视域区,为无穷远范围,图中仅显示了一部分外部视域区。
当观察者移到一个视域区时,绘制队列结点过程将激活落在该视域区且距结点中心近的预处理视点。如图6所示,当观察者位于①视域区viewcell1时,标记为黑色结点就是激活的预处理视点。然后,激活的预处理视点的LADM-Pack的所有深度拼图以绘制模式从后向前绘制。计算f(cos(α))作为深度拼图的融合系数。参数α是深度拼图的法向量和视线方向反相的夹角。函数f(·)称作调节函数。在实现中,采用贝塞尔Bezier曲线作为调节函数。这个融合策略可以保证当视点从某个视域区移到另一个视域区时,实现绘制的平滑过渡,如图9中从①视域区viewcell1到②视域区viewcell2
但是,当观察者从①视域区viewcell1移到③视域区viewcell3时,如图6所示,因为绘制了不同LOD层次的LADM-Pack,将会出现明显的跳跃。为了减轻这种跳跃,建立了两个视域区的过渡区域。图7中显示的灰色区域就是过渡区域,到结点中心的距离变化范围是从dt到di+1。当观察者在过渡区域时,融合从两个视域区中选择的LADM-Pack。融合系数可以通过下式计算
w i = 1 - d - d t d i + 1 - d t , w i + 1 = d - d t d i + 1 - d t , - - - ( 6 )
这里wi是对于视域区viewcelli的融合系数,wi+1是视域区viewcelli+1融合系数,d是观察者和结点中心的距离。di和di+1分别是结点中心到视域区viewcelli和视域区viewcelli+1的距离,dt(di<dt<di+1)是所定义的过渡区域的内边界,也是一个球面半径。
对于需要绘制的中间、根结点,当观察者远离它们时,需要选择对应的中间、根结点来代替它的孩子结点。这种直接替换也会造成视觉的跳跃。因此,对每个中间、根结点,在它所有孩子结点的采样包围球和它的采样球之间定义一个过渡区域。融合系数的计算仍是用公式(6)。

Claims (5)

1.一种分级层次化组装式深度拼图集的快速绘制森林方法,其特征在于包括以下六个步骤:
1)建立森林的层次结构:给定一个森林分布和树的模型,对森林所在的地形进行递归的四叉剖分,直到每个叶结点至多只有一棵树,然后自下而上的合并中间结点,直到合并成一个根结点,这个根结点表示整个森林,这样完成了森林四叉树层次结构的建立;
2)建立树模型的层深图像集LDI-Pack的层次结构:对于树的模型,经过采样得到层深图像,再建立其多分辨率的层次结构;
3)建立层次化深度拼图集LDM-Pack的层次结构:层次化深度拼图集LDM-Pack是层深图像集LDI-Pack产生出的一个数据结构,包括深度拼图和纹理数据两个部分;这个过程包含两个步骤,第一步对纹理数据进行遮挡包含的自适应压缩,并重组到大的纹理图像包中;第二步是根据层深图像的深度信息,建立树的深度拼图结构;
4)建立森林结构中各叶、中间、根结点的层次化组装式深度拼图集LADM-Pack:对每个叶、中间、根结点,根据预处理视点,从预先建立好的层次化深度拼图集LDM-Pack中选择深度拼图,构成用于绘制的层次化组装式深度拼图集LADM-Pack;
5)选择森林结构中各叶、中间、根结点建立绘制队列:自上而下的遍历整个森林的层次结构,递归的进行视域剔除和基于视差的各叶、中间、根结点选择,建立绘制队列结点;
6)绘制队列结点:对于已经选取的绘制队列结点,选择预处理视点和层次化组装式深度拼图集LADM-Pack,使用一种融合方法,实现了绘制队列结点的不同层次化组装式深度拼图集LADM-Pack的渐进过渡;
7)融合方法为:当观察者移到一个视域区时,绘制队列结点过程将激活落在该视域区且距结点中心近的预处理视点,当观察者位于视域区时,激活的预处理视点的LADM-Pack的所有深度拼图以绘制模式从后向前绘制,计算f(cos(α))作为深度拼图的融合系数,参数α是深度拼图的法向量和视线方向反相的夹角,函数f(·)称作调节函数,这个融合策略可以保证当视点从某个视域区移到另一个视域区时,实现绘制的平滑过渡;当观察者从视域区viewcelli移到另一个视域区viewcelli+1时,也使用融合方法绘制不同LOD层次的LADM-Pack,建立了两个视域区的过渡区域,到结点中心的距离变化范围是从dt到di+1,当观察者在过渡区域时,融合从两个视域区中选择的LADM-Pack,融合系数可以通过下式计算
w i = 1 - d - d t d i + 1 - d t , w i + 1 = d - d t d i + 1 - d t
这里wi是对于视域区viewcelli的融合系数,wi+1是视域区viewcelli+1融合系数,d是观察者和结点中心的距离,di和di+1分别是结点中心到视域区viewcelli和视域区viewcelli+1的距离,dt(di<dt<di+1)是所定义的过渡区域的内边界,也是一个球面半径;对于需要绘制的中间、根结点,当观察者远离它们时,需要选择对应的中间、根结点来代替它的孩子结点,对每个中间、根结点,在它所有孩子结点的采样包围球和它的采样球之间定义一个过渡区域,融合系数的计算仍是用上面公式。
2.根据权利要求1所述的一种分级层次化组装式深度拼图集的快速绘制森林方法,其特征在于:整个森林是一个四叉树层次结构,每个叶、中间、根结点使用层次化组装式深度拼图集LADM-Pack表示,每个层次化组装式深度拼图集LADM-Pack包含层次化组装式深度拼图LADM,是深度拼图DM的集合。
3.根据权利要求1所述的一种分级层次化组装式深度拼图集的快速绘制森林方法,其特征在于:建立层次化深度拼图集LDM-Pack的层次结构就是对层深图像进行遮挡包含的自适应纹理压缩,并重组到纹理图像包中,减小纹理内存的消耗和根据层深图像的深度信息,建立树的深度拼图结构。
4.根据权利要求1所述的一种分级层次化组装式深度拼图集的快速绘制森林方法,其特征在于:建立森林结构中各叶、中间、根结点的层次化组装式深度拼图集LADM-Pack就是对每个叶、中间、根结点,根据预处理视点,从预先建立好的层次化深度拼图集LDM-Pack中选择深度拼图,构成用于绘制的层次化组装式深度拼图集LADM-Pack。
5.根据权利要求1所述的一种分级层次化组装式深度拼图集的快速绘制森林方法,其特征在于:选择森林结构中各叶、中间、根结点建立绘制队列就是自上而下的遍历整个森林的四叉树层次结构,递归的进行视域剔除和基于视差的各叶、中间、根结点选择,建立绘制队列结点。
CN 200410017677 2004-04-12 2004-04-12 一种分级层次化组装式深度拼图集的快速绘制森林方法 Expired - Lifetime CN1273940C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410017677 CN1273940C (zh) 2004-04-12 2004-04-12 一种分级层次化组装式深度拼图集的快速绘制森林方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410017677 CN1273940C (zh) 2004-04-12 2004-04-12 一种分级层次化组装式深度拼图集的快速绘制森林方法

Publications (2)

Publication Number Publication Date
CN1564203A CN1564203A (zh) 2005-01-12
CN1273940C true CN1273940C (zh) 2006-09-06

Family

ID=34479092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410017677 Expired - Lifetime CN1273940C (zh) 2004-04-12 2004-04-12 一种分级层次化组装式深度拼图集的快速绘制森林方法

Country Status (1)

Country Link
CN (1) CN1273940C (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145239A (zh) * 2006-06-20 2008-03-19 威盛电子股份有限公司 绘图处理单元及处理边框颜色信息的方法
CN101551916B (zh) * 2009-04-16 2012-02-29 浙江大学 一种基于本体技术的三维场景建模方法及系统
CN101789028B (zh) * 2010-03-19 2012-03-21 苏州广达友讯技术有限公司 地理位置搜索引擎及其构建方法
WO2012083508A1 (zh) * 2010-12-24 2012-06-28 中国科学院自动化研究所 互联网上复杂场景真实感快速绘制方法
US9165403B2 (en) * 2011-01-14 2015-10-20 Intel Corporation Planetary scale object rendering
CN103077497B (zh) * 2011-10-26 2016-01-27 中国移动通信集团公司 对层次细节模型中的图像进行缩放的方法和装置
CN102662729B (zh) * 2012-04-16 2015-03-04 浙江工业大学 一种面向大规模森林仿真的生长模型的调度方法
CN106558043B (zh) * 2015-09-29 2019-07-23 阿里巴巴集团控股有限公司 一种确定融合系数的方法和装置
CN105872496B (zh) * 2016-07-01 2019-07-09 黄岩 一种超高清视频融合方法
CN108053475A (zh) * 2018-02-09 2018-05-18 城市生活(北京)资讯有限公司 一种三维地形显示方法及装置
CN111354081A (zh) * 2018-12-20 2020-06-30 中科星图股份有限公司 大规模三维森林绘制方法

Also Published As

Publication number Publication date
CN1564203A (zh) 2005-01-12

Similar Documents

Publication Publication Date Title
CN100547616C (zh) 一种基于分级层次化深度网格的森林绘制方法
CN1215444C (zh) 映射和渲染三维目标和活动的三维目标的基于图像的方法
CN108648269A (zh) 三维建筑物模型的单体化方法和系统
CN1273940C (zh) 一种分级层次化组装式深度拼图集的快速绘制森林方法
CN105006021B (zh) 一种适用于快速点云三维重建的颜色映射方法及装置
US20090154794A1 (en) Method and apparatus for reconstructing 3D shape model of object by using multi-view image information
Jakulin Interactive vegetation rendering with slicing and blending
CN106462999A (zh) 处理和/或传输3d数据
CN109118588B (zh) 一种基于块分解的彩色lod模型自动生成方法
Hwa et al. Adaptive 4-8 texture hierarchies
CN1890694A (zh) 计算机图形处理器及在三维图像显示屏上呈现三维场景的方法
CN110400367A (zh) 降低渲染延迟的系统和方法
CN110321443A (zh) 三维实景模型数据库构建方法、装置及数据服务系统
CN116342783B (zh) 一种实景三维模型数据渲染优化方法及系统
CN110148201B (zh) 一种超高精度的织物实时渲染方法
CN107330964A (zh) 一种复杂三维物体的显示方法及系统
CN1816829A (zh) Mip贴图级别选择
CN106251400A (zh) 一种基于多四边形网格构建地形图的方法及装置
CN116402973A (zh) 一种基于lod重构的倾斜摄影模型优化方法、系统
CN102509344B (zh) 一种基于非均匀采样三维对象反射的实时绘制方法
CN106231286B (zh) 一种三维图像生成方法及装置
CN113327314B (zh) 一种基于层次的覆盖全空域的云表示与实时绘制方法
CN109118565A (zh) 一种顾及杆塔电力线遮挡的电力走廊三维模型纹理映射方法
Kada et al. Real-time visualisation of urban landscapes using open-source software
Lall et al. View-region optimized image-based scene simplification

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20060906

CX01 Expiry of patent term