面向复杂三维cad模型的海量场景渐进式更新算法的制作方法

文档序号:6363145阅读:201来源:国知局
专利名称:面向复杂三维cad模型的海量场景渐进式更新算法的制作方法
技术领域
本发明属于计算机图形学和多媒体与虚拟现实技术领域,尤其涉及一种面向复杂三维CAD模型的海量场景渐进式更新算法。
背景技术
在机械制造(如飞机制造、高铁机车制造和造船)等行业,越来越多得使用了复杂产品制造信息化技术,特别是在产品设计、制造的生命周期中使用率虚拟样机技术。虚拟样机技术是一种基于产品计算机仿真模型的数字化设计方法,及从视觉、 听觉、触觉以及功能和行为上模拟真是产品的技术。复杂产品虚拟样机技术是在各领域 CAX (如CAD、CAM、CAE等)/DFX (如DFA、DFM等)技术基础上进一步融合先进建模/仿真技术、现代信息技术、先进设计制造技术和现代管理技术,将这些技术应用于复杂产品全生命周期、全系统,并对他们进行综合管理和强调虚拟化,从系统的层面来分析、模拟复杂产品的一种系统化的工程设计与管理方法。复杂产品全生命周期虚拟样机的开发关键就是复杂产品三维模型的仿真及在方针环境下的可视化编辑技术。而复杂模型自身存在的模型数据量大、结构拓扑复杂等特点向计算机软件及硬件都带来了很大的挑战。目前复杂三维模型的仿真可视化技术主要有两种一是通过输出敏感技术降低模型场景的绘制复杂度。这方面的主要技术有可见性剔除、简化、层次细节、缓存一致的数据排布和空间索引及其在线更新等。二是采用并行绘制技术,利用计算机集群代替单一的计算机来对模型进行处理。 目前并行绘制技术主要分为sort-first (数据分布型并行图形绘制),sort-middle (渲染指令级并行),sort-last (渲染像素级并行)三大类。目前已有的一些大规模复杂场景浏览系统,如被卡大学的GigaWalk,意大利CRS4 可视化计算小组的FarVoxels,普林斯顿大学的iWalk,霍普津斯大学的vLOD, Saarland 大学开发的基于共享内存式多CPU架构的大规模CAD模型绘制系统以及浙江大学的 AdaptiveVoxels 系统等。海量三维模型绘制技术尽管得到了广泛的重视,但其理论和方法仍不够成熟,大大限制了它的应用。首先,现有的海量模型场景树都只适用于静态场景。对于需要进行动态更新的场景必须要重新计算场景树。其次,已有的外存文件技术不支持对场景数据进行增量更新保存,因而场景的更新不能持久化。最后,缺乏对更新场景的在线简化技术,因而不能支持更新场景的绘制。

发明内容
本发明的技术效果能够克服上述缺陷,提供一种面向复杂三维CAD模型的海量场景渐进式更新算法。其在海量三维CAD数据场景更新后的在线绘制功能方面取得了突破, 形成原型验证系统。为实现上述目的,本发明采用如下技术方案其包括以下步骤
(I)构建支持场景在线更新的系统架构;(2)用不同的文件分别保存场景树数据,模型输入几何数据和简化LOD模型数据;(3)快速更新整个场景空间索引,使其在绘制加速算法中保持有效;(4)基于PC多GPU硬件平台的海量三维场景LOD模型并行在线构造技术。本发明旨在研究面向复杂三维CAD模型的海量场景渐进式更新算法。以场景树更新技术为基础,研究空间剖分索引的增量更新和LOD模型并行计算的简化问题,致力于解决外存文件数据更新的效率问题、空间索引更新时的重构优化问题和在线LOD简化任务调度问题。采用基于块的外存文件结构及相应更新算法、自适应的空间索引更新算法和基于优先级的简化任务调度算法,最终在海量三维CAD数据场景更新后的在线绘制功能上取得突破,形成原型验证系统。本发明的设计思路是对于更新后的海量三维场景,为避免重构全部的空间剖分索引和LOD模型,通过缩小空间剖分索引结点的更新集合和可能需简化的LOD结点集合,来减少场景更新的计算量,结合基于多GPU得快速体素LOD模型简化方法,加速场景更新速度,达到在线交互绘制的目的。所述步骤(I)中,场景并行更新算法流程方面,在外存算法之后插入空间索引动态剖分算法,在可见性剔除算法之后插入并行简化算法;硬件架构方面,本发明采用的并行简化部署方案为基于一台PC的多GPU并行简化架构。所述步骤(2)中,包括一个支持海量三维模型更新的外存算法,步骤如下(a)将外存文件划分为固定大小的块,然后将物体剖分后包围体中的几何数据送入到这些文件块中;(b)开辟足够大的文件,计算出一个与新加物体距离最近的已有物体集合;(C)将该集合按照其几何数据所在的文件块分为若干个子集,按照距离建立新加物体与这些文件块的关系,选取关系最为密切的一个文件块来插入新加物体。所述步骤(3)中,在海量三维场景进行更新时,使用结合粗粒度场景BSP与细粒物体BSP的双层BSP场景树结构;进行物体编辑时,物体BSP结构保持不变,仅更新粗粒度的场景BSP ;在绘制时,细粒度的物体BSP保证可见性剔除算法的效率,采用lazy update策略对场景BSP进行更新,重构失效的BSP结点。所述步骤(4)中,基于并行简化的海量模型绘制系统是传统的海量模型绘制系统与空间索引动态剖分以及并行简化结合。其中空间索引动态更新时修改场景树在内存中的数据,并行简化算法收集当前视点的潜在可见的更新结点,将这些结点与其在LOD层次结构中的父结点和子结点一起构成潜在简化集(PSS,Potentially Simplification Set)。根据多GPU并行简化硬件平台,在多个简化端中需要最优的分配简化任务。本发明的创新之处主要体现在(I)突破过去仅考虑静态海量模型绘制的思路,提出以文件块数据存储策略为基础的海量三维场景更新技术;(2)不同于已有的重构整个场景空间剖分索引的方法,提出了拒不更新海量模型空间索引的方法。在保持空间索引加速操作有效性和速度的基础上,降低了空间索引重构的计算量,同时也减少了需要更新的LOD结点数量;(3)基于多GPU硬件环境,在线并行构造体素LOD模型,支持输入敏感的海量三维模型更新绘制。本发明的有益效果在于本发明的海量CAD模型编辑场景树的更新算法可适用于动态场景的绘制,并以支持数据更新的外存文件格式来保存数据更新;本发明的空间剖分索引增量更新技术可满足海量三维场景的在线应用需求;本发明的基于GPU采样的并行简化技术来更新场景的LOD模型算法,可最终支持海量模型场景的更新绘制。


图I为本发明的场景并行更新算法流程;图2为本发明的基于PC的并行简化系统硬件架构;图3为本发明的潜在简化集(PSS)。
具体实施例方式本发明的面向复杂三维CAD模型的海量场景渐进式更新算法,包括以下步骤(I)构建支持场景在线更新的系统架构。基于并行简化的海量模型绘制系统是传统的海量模型绘制系统与空间索引动态剖分以及并行简化技术的有机结合,其中空间索引动态剖分需要修改场景树在内存中的数据,因此在外存算法之后插入算法流程,而并行简化算法需要在得到潜在简化集(PSS)之后才能工作,因此在可见性剔除算法之后插入算法流程,场景并行更新算法流程如图I所
/Jn ο在硬件架构方面,本发明提出的并行简化部署方案为基于一台PC的多GPU并行简化架构。在当前主流PC平台上,装载2个或2个以上的GPU图形处理硬件,从而充分利用GPU强大的采样能力来进行并行LOD模型构造,硬件部署如图2所示。(2)不同于单一的海量数据文件结构,本发明通过不同的文件分别保存场景数据, 模型输入几何数据和简化LOD模型数据。模型输入几何数据和简化LOD模型数据为海量数据,为支持海量场景的更新操作,在表达场景树时,使用双BSP的空间结构。首先将场景中的每个模型用BSP剖分成包围体,然后对场景中所有的包围体聚簇生成整个场景的BSP树。采用本发明提出的一个支持海量三维模型更新的外存算法,来提高在进行绘制数据访问时的缓冲命中率。支持海量三维模型更新的外存算法为(a)将外存文件划分为固定大小的块,然后将物体剖分后包围体中的几何数据送入到这些文件块中;(b)根据对场景的先验知识(预估场景的数据量),需预先开辟足够大的文件,在将新的物体加入到场景的过程中,计算出一个与新加物体距离最近的已有物体集合;(c)将该集合按照其几何数据所在的文件块分为若干个子集,按照距离建立新加物体与这些文件块的关系,选取关系最为密切的一个文件块来插入新加物体。从而确保在模型不断增加的过程中,距离接近的物体几何在硬盘上的排列也靠近;(d)在场景更新时同样也会出现删除物体的情况,这时再外存文件快中会出现碎片,因而在进行了一定数量的更新操作之后,我们需对外存文件进行碎片整理。与新家物体的算法类似,在进行碎片整理时将被整理块中每个物体取出,视其为新加物体,按照添加算法将其重新添加到外存文件中。(3)快速更新整个场景空间索引,使其在绘制加速算法中保持有效。在海量三维场景进行更新时,用来进行加速绘制的空间剖分索引会失效,我们使用结合粗粒度场景BSP与细粒物体BSP的双层BSP场景树结构。进行物体编辑时,物体BSP 结构保持不变,仅更新粗粒度的场景BSP。在绘制时,细粒度的物体BSP保证了可见性剔除算法的效率,同时在对场景BSP进行更新时我们采用lazy update策略,仅重构失效的BSP 结点。将空间索引结点分为三种状态lazy (表示待剖分),vacant (包含物体面片数小于设定值)和confirmed (已经过重构)。在添加物体时,首先将被添加的物体的包围体放到已有的空间剖分结构中,每个包围体都从根节点开始自上至下判断是否在当前的空间剖分结点的包围盒内,若否,则将其放入当前结点的父结点的包围体队列中,并将父节点标记为 lazy。若是则将其送入孩子结点中做同样的判断,以此类推,直至将其加入到叶结点中,若叶结点包含包围体的数量已超过剖分设定值,则标记其为lazy,并向叶结点的叶子编辑结点的集合中添加相应的叶子编辑结点。从场景中删除模型时,通过物体剖分生成包围体找到相应的BSP叶子结点,断开其与叶子结点的联系,若BSP叶子结点原先标志为confirmed, 则将叶子结点标记为vacant,表示其为有空位的,若原先为lazy则保持lazy不变。在移动模型时,在移动过程中并不修改物体的包围体与空间剖分结点的索引关系。在移动后,首先判断每个包围体是否还在原先的BSP叶子节点中,若还是,则什么也不做,若已经出了原先的BSP叶子结点,则首先解除与原先BSP叶子结点的关系,并将其向上推,直到推到一个在其包围盒之内的结点中,然后,将其标记为lazy。若根节点包围盒容纳不下移动之后的模型,则将其放到场景树中一个单独的包围体队列中,并将整个空间剖分结构标记为lazy。在BSP结构中结点的状态确定之后,系统随着特定操作(如绘制)在遍历空间剖分结构的时候,自适应的对空间剖分结构进行更新。在遍历BSP结构时对所有遇到的lazy 结点进行重构并将其标示为confirmed。在对lazy结点进行空间索引重构时,我们使用基于SAH的BSP生成算法,以期望得到具有最有加速性能的空间索引结构。(4)基于PC多GPU硬件平台的海量三维场景LOD模型并行在线构造技术。基于并行简化的海量模型绘制系统是传统的海量模型绘制系统与空间索引动态剖分以及并行简化结合。其中空间索引动态更新需要修改场景树在内存中的数据,并行简化算法收集当前视点的潜在可见的更新结点,将这些结点与其在LOD层次结构中的父结点和子结点一起构成潜在简化集(PSS, Potentially Simplification Set)(如图3所示)。 根据多GPU并行简化硬件平台,在多个简化端中需要最优的分配简化任务。在场景的空间剖分结构更新完毕之后,在广度上减少了更新结点的基础上,根据当前视点扩大的视域锥剔除、遮挡剔除等可见性判断,从深度上减少当前需要更新LOD模型结点的数量,就可得到潜在简化集(PSS),然后我们对PSS中的LOD模型结点进行简化处理。在已有的基于可见性的绘制系统的基础上,采用一个统一的简化架构来处理更新后场景LOD模型的重构计算。 系统的并行简化任务调度引擎中建立有一个简化任务队列,每个简化任务包含有待简化的空间剖分子树根节点,需要得到简化模型的误差,以及一个简化任务优先级标识,简化任务队列按照简化任务优先级升序排列。在运行时,可见物体(即前一帧中被绘制的物体) 队列中的未完成LOD模型被赋予最高的优先级。然后是PVS队列中未完成的LOD模型,PSS队列中的模型的简化优先级最低。在运用这个简化队列的同时,我们还是用LRU算法来判断简化任务结果的使用效率。基于这个思想,在简化队列中,我们首先简化那些被修改时间较长的模型,而对于最近频繁被修改的模型,则等到其最终修改结果确定之后再对其进行简化。在进行简化任务分配时,并行简化任务调度引擎每次从任务队列中取出一个优先级最高的简化任务,将其分配给空闲的简化端。在每个简化端(即GPU上),我们使用了基于GPU采样的快速体素LOD模型构造算法(AdaptiveVoxels),在最短的时间内构造出符合设定误差的体素LOD模型。
权利要求
1.面向复杂三维CAD模型的海量场景渐进式更新算法,其特征在于,包括以下设计思路(1)构建支持场景在线更新的系统架构;(2)用不同的文件分别保存场景树数据,模型输入几何数据和简化LOD模型数据; (3)快速更新整个场景空间索引,使其在绘制加速算法中保持有效;(4)基于PC多GPU硬件平台的海量三维场景LOD模型并行在线构造技术。
2.根据权利要求I所述的面向复杂三维CAD模型的海量场景渐进式更新算法,其特征在于,所述步骤(I)中,场景并行更新算法流程方面,在外存算法之后插入空间索引动态剖分算法,在可见性剔除算法之后插入并行简化算法;硬件架构方面,本发明采用的并行简化部署方案为基于一台PC的多GPU并行简化架构。
3.根据权利要求I所述的面向复杂三维CAD模型的海量场景渐进式更新算法,其特征在于,所述步骤(2)中,包括一个支持海量三维模型更新的外存算法,步骤如下(a)将外存文件划分为固定大小的块,然后将物体剖分后包围体中的几何数据送入到这些文件块中;(b)开辟足够大的文件,计算出一个与新加物体距离最近的已有物体集合;(C)将该集合按照其几何数据所在的文件块分为若干个子集,按照距离建立新加物体与这些文件块的关系,选取关系最为密切的一个文件块来插入新加物体。
4.根据权利要求I所述的面向复杂三维CAD模型的海量场景渐进式更新算法,其特征在于,所属步骤(3)中,在海量三维场景进行更新时,使用结合粗粒度场景BSP与细粒物体 BSP的双层BSP场景树结构;进行物体编辑时,物体BSP结构保持不变,仅更新粗粒度的场景BSP ;在绘制时,细粒度的物体BSP保证可见性剔除算法的效率,采用lazy update策略对场景BSP进行更新,重构失效的BSP结点。
5.根据权利要求I所述的面向复杂三维CAD模型的海量场景渐进式更新算法,其特征在于,所属步骤(4)中,基于并行简化的海量模型绘制系统是传统的海量模型绘制系统与空间索引动态剖分以及并行简化结合,根据多GPU并行简化硬件平台,在多个简化端中最优的分配简化任务;在场景的空间剖分结构更新完毕之后,在广度上减少了更新结点的基础上,根据当前视点扩大的视域锥剔除、遮挡剔除等可见性判断,从深度上减少当前需要更新LOD模型结点的数量,得到潜在简化集(PSS),然后对PSS中的LOD模型结点进行简化处理;在已有的基于可见性的绘制系统的基础上,在系统的并行简化任务调度引擎中建立一个简化任务队列,每个简化任务包含有待简化的空间剖分子树根节点,需要得到简化模型的误差,以及一个简化任务优先级标识,简化任务队列按照简化任务优先级升序排列;在运行时优先级由高到低为可见物体队列中的未完成LOD模型、PVS队列中未完成的LOD模型、PSS队列中的模型;同时,用LRU算法来判断简化任务结果的使用效率。
全文摘要
本发明涉及一种面向复杂三维CAD模型的海量场景渐进式更新算法。本发明用不同的文件分别保存场景树数据,模型输入几何数据和简化LOD模型数据;使用双层BSP场景树结构快速更新整个场景空间索引;采用基于PC多GPU硬件平台的海量三维场景LOD模型并行在线构造技术,快速构造LOD。本发明的优点在于可加速场景更新速度,达到在线交互绘制的目的。
文档编号G06T19/00GK102609990SQ201210009810
公开日2012年7月25日 申请日期2012年1月5日 优先权日2012年1月5日
发明者刘寿鑫, 吕憧憬, 宋丽丽, 李勃, 田丰林, 钱程程, 陈戈, 韩勇, 马纯永 申请人:中国海洋大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1