首页 / 专利库 / 电脑图像 / 视锥体裁剪 / 一种面向实时绘制的大规模场景组织与调度技术及仿真系统

一种面向实时绘制的大规模场景组织与调度技术及仿真系统

阅读:759发布:2020-05-28

专利汇可以提供一种面向实时绘制的大规模场景组织与调度技术及仿真系统专利检索,专利查询,专利分析的服务。并且本 发明 基于动态调度技术,提出一种高效的大规模场景实时组织与调度技术及仿真系统。该系统对海量场景数据进行分 块 ,在实时运行时,根据视点的 位置 动态地载入所需的场景块和释放无用的场景块,使得内存中的场景数据维持在一定范围内。通过LOD(Levels of Detail)技术和视域,剔除对内存中的场景数据进行简化,大量减少送入GPU(Graphic Processing Unit)的三 角 形数量,从而达到实时仿真 渲染 。,下面是一种面向实时绘制的大规模场景组织与调度技术及仿真系统专利的具体信息内容。

1.一种面向实时绘制的大规模场景组织与调度技术,其特征在于,该技术包含以下步骤:
步骤1:场景数据的分:在离线预处理过程中,对场景数据进行分块和编号;
步骤2:场景数据的实时调度及高速处理;
步骤3:对场景调度数据进行实时的绘制和渲染
2.根据权利要求1所述一种面向实时绘制的大规模场景组织与调度技术,其特征在于,场景数据的分块包括:
在离线预处理过程中,首先要对场景数据进行分块和编号;
根据需要,实时动态的调入和释放相应的数据资源,对场景进行分块处理,减少场景分块大小对最后渲染速度的影响;控制每次读取的数据块为4kb或其整数倍,将每块场景的大小设为257×257;将场景进行分块之后,进行编号,利用每块场景的坐标来计算场景块的索引。
3.根据权利要求1所述一种面向实时绘制的大规模场景组织与调度技术,其特征在于,场景数据的实时调度及高速处理包括:
场景分块的调度:采用基于视点的场景数据调度方法,利用视点的位置、方向来判断所需载入的场景数据和释放的场景数据;
场景的LOD简化:场景载入内存后,经LOD和视域剔除进行简化满足实时渲染的需求;
避免裂缝方法:在预处理阶段,事先为每个Patch建立不同LOD级别的三形索引,在实时渲染时只检查与每个Patch相邻的4个Patch,使之LOD级别相差在1之内,最后采用相应的索引进行渲染;
视域剔除技术:将场景区域中大部分对于观察视点不可见,不需渲染的图像信息进行裁剪,提高渲染速度。
4.根据权利要求3所述一种面向实时绘制的大规模场景组织与调度技术,其特征在于,场景的LOD简化包括:
场景被载入内存之后,进行简化满足实时渲染的需求:将场景块分成“Patch”,每个“Patch”平与垂直方向上各具有个高程点;最高层次分辨率绘制所有的高程点,最低层次的分辨率只绘制Patch角上的四个高程点;在预处理阶段,事先建立好场景查找表后,在实时渲染时根据视点与场景块的距离d选择合适的细节层次;将每块Patch的大小设为17×17个点,同时Patch的LOD级别为4级。
5.根据权利要求3所述一种面向实时绘制的大规模场景组织与调度技术,其特征在于,对场景调度数据进行实时的绘制和渲染时采用视域剔除方法,该方法不考虑视锥体的三个裁剪平面:近裁剪平面和上下裁剪平面,保留视锥体的远裁剪平面和左、右裁剪平面;将视锥体投影到x-z平面上,可形成投影三角形,以场景分块为最小单元进行视域剔除。
6.一种面向实时绘制的大规模场景仿真系统,其特征在于,该仿真系统包括:
分块数据模型:大规模场景绘制采取基于九宫格结构,完成原始场景均匀分块;
多分辨率层次构造:在完成原始场景均匀分块基础上,为满足实时绘制的需要,该系统采用自顶向下的九宫格剖分方法生成场景块的层次模型;
基于视域扩展的数据预取及调度策略:在控制数据量同时,减少视点运动趋势随机性所带来影响,包含不同动趋势下可能显示范围;
构建场景模型:获取场景数据,加载纹理数据,并对纹理进行处理;
将获得的场景数据导入,添加地理信息,生成三维场景模型;将处理好的纹理图片进行配准处理,最后与生成的三维场景模型进行叠加
7.根据权利要求6所述,一种面向实时绘制的大规模场景仿真系统,其特征在于,分块数据模型包括:
场景的初始分辨率为r0,第l层的分辨率为r1;在进行场景绘制时,离视点远的区域与离视点近的区域采用不同的分辨率,九宫格的中间一格采用高分辨率,依次向外不断降低LOD层次视点中心块与九宫格的中间一格重合,多分辨率的变换都集中在周围八格。
8.根据权利要求6所述,一种面向实时绘制的大规模场景仿真系统,其特征在于,基于视域扩展的数据预取及调度策略包括:
在每一中将地域覆盖区域覆盖区域分为视域、视域扩展、可视区域、调度区域以及预加载区域;视域扩展相交的场景分块构成调度区域,用集合N表示调度区域包含的分块集合,其数据被载入内存中;对应的场景分块集合为预加载区域,代表当前帧需要预先加载到内存的场景数据,这些数据不需要立即绘制,而是对下一帧的预测,是与当前帧视点的运动速度和方向相关的可变量,利用的变化实现对视域扩展范围的动态调整;以此得到视域扩展和视域的范围,与视域扩展不相交的场景块直接剔除。

说明书全文

一种面向实时绘制的大规模场景组织与调度技术及仿真系统

技术领域

[0001] 本发明涉及计算机仿真技术领域、虚拟现实,地理信息,特别涉及一种对困难场景实时绘制的方法。

背景技术

[0002] 大规模场景实时绘制,是利用计算机进行三维场景的实时显示。在飞行仿真、战场仿真、城市规划和三维户外游戏等领域中具有广泛的应用,是计算机图形学和虚拟现实领域的研究热点。但是对于大规模场景,由于三形数目巨大,即使是高性能的图形加速卡,也不能满足实际的需求。
[0003] 随着现代测绘技术的发展,空间数据获取的数量正以前所未有的速度增长。从数字城市到数字中国再到数字地球,场景数据呈几何级数增长,海量场景数据的廉价获取已成为可能。由于计算机内存的大小是有限的,海量场景数据无法被一次性载入内存进行实时渲染。因此,如何开发数据的内、外存调度技术,减少载入内存的场景数据,并将调度技术与LOD技术和可见性剔除结合起来,是三维场景漫游系统的关键问题。

发明内容

[0004] 本发明的目的是提供一种面向实时绘制的大规模场景组织与调度技术及仿真系统。
[0005] 根据本发明的一个方面,提供一种面向实时绘制的大规模场景组织与调度技术,其特征在于,该技术包含以下步骤:
[0006] 步骤1:场景数据的分:在离线预处理过程中,对场景数据进行分块和编号;
[0007] 步骤2:场景数据的实时调度及高速处理;
[0008] 步骤3:对场景调度数据进行实时的绘制和渲染。
[0009] 进一步的根据本发明的一个方面,一种面向实时绘制的大规模场景组织与调度技术,其特征在于,场景数据的分块包括:
[0010] 在离线预处理过程中,首先要对场景数据进行分块和编号;
[0011] 根据需要,实时动态的调入和释放相应的数据资源,对场景进行分块处理,减少场景分块大小对最后渲染速度的影响;控制每次读取的数据块为4kb或其整数倍,将每块场景的大小设为257×257;将场景进行分块之后,进行编号,利用每块场景的坐标来计算场景块的索引。
[0012] 进一步的根据本发明的一个方面,一种面向实时绘制的大规模场景组织与调度技术,其特征在于,场景数据的实时调度及高速处理包括:
[0013] 场景分块的调度:采用基于视点的场景数据调度方法,利用视点的位置、方向来判断所需载入的场景数据和释放的场景数据;
[0014] 场景的LOD简化:场景载入内存后,经LOD和视域剔除进行简化满足实时渲染的需求;
[0015] 避免裂缝方法:在预处理阶段,事先为每个Patch建立不同LOD级别的三角形索引,在实时渲染时只检查与每个Patch相邻的4个Patch,使之LOD级别相差在1之内,最后采用相应的索引进行渲染;
[0016] 视域剔除技术:将场景区域中大部分对于观察视点不可见,不需渲染的图像信息进行裁剪,提高渲染速度。
[0017] 进一步的根据本发明的一个方面,一种面向实时绘制的大规模场景组织与调度技术,其特征在于,场景的LOD简化包括:
[0018] 场景被载入内存之后,进行简化满足实时渲染的需求:将场景块分成“Patch”,每个“Patch”平与垂直方向上各具有个高程点;最高层次分辨率绘制所有的高程点,最低层次的分辨率只绘制Patch角上的四个高程点;在预处理阶段,事先建立好场景查找表后,在实时渲染时根据视点与场景块的距离d选择合适的细节层次;将每块Patch的大小设为17×17个点,同时Patch的LOD级别为4级。
[0019] 进一步的根据本发明的一个方面,一种面向实时绘制的大规模场景组织与调度技术,其特征在于,对场景调度数据进行实时的绘制和渲染时采用视域剔除方法,该方法不考虑视锥体的三个裁剪平面:近裁剪平面和上下裁剪平面,保留视锥体的远裁剪平面和左、右裁剪平面;将视锥体投影到x-z平面上,可形成投影三角形,以场景分块为最小单元进行视域剔除。
[0020] 根据本发明的另一个方面,提供一种面向实时绘制的大规模场景仿真系统,其特征在于,该仿真系统包括:
[0021] 分块数据模型:大规模场景绘制采取基于九宫格结构,完成原始场景均匀分块;
[0022] 多分辨率层次构造:在完成原始场景均匀分块基础上,为满足实时绘制的需要,该系统采用自顶向下的九宫格剖分方法生成场景块的层次模型;
[0023] 基于视域扩展的数据预取及调度策略:在控制数据量同时,减少视点运动趋势随机性所带来影响,包含不同动趋势下可能显示范围;
[0024] 构建场景模型:获取场景数据,加载纹理数据,并对纹理进行处理;
[0025] 将获得的场景数据导入,添加地理信息,生成三维场景模型;将处理好的纹理图片进行配准处理,最后与生成的三维场景模型进行叠加
[0026] 进一步的根据本发明的另一个方面,一种面向实时绘制的大规模场景仿真系统,其特征在于,分块数据模型包括:
[0027] 场景的初始分辨率为r0,第l层的分辨率为r1;在进行场景绘制时,离视点远的区域与离视点近的区域采用不同的分辨率,九宫格的中间一格采用高分辨率,依次向外不断降低LOD层次视点中心块与九宫格的中间一格重合,多分辨率的变换都集中在周围八格。
[0028] 进一步的根据本发明的另一个方面,一种面向实时绘制的大规模场景仿真系统,其特征在于,基于视域扩展的数据预取及调度策略包括:
[0029] 在每一中将地域覆盖区域覆盖区域分为视域、视域扩展、可视区域、调度区域以及预加载区域;视域扩展相交的场景分块构成调度区域,用集合N表示调度区域包含的分块集合,其数据被载入内存中;对应的场景分块集合为预加载区域,代表当前帧需要预先加载到内存的场景数据,这些数据不需要立即绘制,而是对下一帧的预测,是与当前帧视点的运动速度和方向相关的可变量,利用的变化实现对视域扩展范围的动态调整;以此得到视域扩展和视域的范围,与视域扩展不相交的场景块直接剔除。
[0030] 有益效果
[0031] 本发明基于动态调度技术,提出一种高效的大规模场景实时组织与调度技术及仿真系统。该系统对海量场景数据进行分块,在实时运行时,根据视点的位置动态地载入所需的场景块和释放无用的场景块,使得内存中的场景数据维持在一定范围内。通过LOD(Levels of Detail)技术和视域,剔除对内存中的场景数据进行简化,大量减少送入GPU(Graphic Processing Unit)的三角形数量,从而达到实时仿真渲染。
[0032] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明
[0033] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0034] 图1为本发明用于面向实时绘制的大规模场景组织与调度技术框架
[0035] 图2为本发明用于面向实时绘制的大规模场景组织与调度技术场景分块方法中场景块的分布示意。
[0036] 图3为本发明用于面向实时绘制的大规模场景组织与调度技术中裂缝避免技术中,Patch拼接时几何裂缝问题的消除示意图。
[0037] 图4为本发明一种面向实时绘制的大规模场景仿真系统中分段式实时绘制场景流程图

具体实施方式

[0038] 下面详细描述本发明的实施例,所述实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0039] 图1为本发明一个方面的用于面向实时绘制的大规模场景组织与调度技术框架。
[0040] 其中,本实施例的方法主要通过计算机设备来实现;所述计算机设备包括网络设备和用户设备;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于计算(Cloud Computing)的由大量计算机或网络服务器构成的云,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机;所述用户设备包括但不限于PC机、平板电脑、智能手机、PDA、IPTV等;所述计算机设备所处的网络。
[0041] 需要说明的是,所述网络设备、用户设备和网络仅为举例,其他现有的或今后可能出现的计算设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
[0042] 场景数据的分块。在离线预处理过程中,对场景数据进行分块和编号,以便于动态调度。
[0043] 场景数据的分块包括:
[0044] 在离线预处理过程中,首先要对场景数据进行分块和编号,以便于动态调度。
[0045] 根据需要,实时动态的调入和释放相应的数据资源。对场景进行分块处理。减少场景分块大小对最后渲染速度的影响。该技术控制每次读取的数据块为4kb或其整数倍。将每块场景的大小设为257×257。将场景进行分块之后,进行编号。利用每块场景的坐标来计算场景块的索引。可以迅速根据视点的位置计算出所需的场景的索引。
[0046] 场景数据的实时调度及高速处理包括:
[0047] 场景分块的调度。该技术采用一种基于视点的场景数据调度方法,利用视点的位置、方向来判断所需载入的场景数据和释放的场景数据。
[0048] 场景的LOD简化。场景载入内存后,需经LOD技术和视域剔除进行简化以满足实时渲染的需求。
[0049] 避免裂缝技术。该技术在预处理阶段,事先为每个Patch建立不同LOD级别的三角形索引,在实时渲染时只要检查与每个Patch相邻的4个Patch,使之LOD级别相差在1之内,最后采用相应的索引进行渲染。
[0050] 视域剔除技术。该技术将场景区域中大部分对于观察视点不可见,不需渲染的图像信息进行裁剪,提高渲染速度。
[0051] 场景分块的调度包括:
[0052] 场景数据的动态调度。该技术采用一种基于视点的场景数据调度方法,利用视点的位置、方向判断载入的场景数据和释放的场景数据,将实际驻留在内存中的场景区域分为可见区域和可见区域扩展。
[0053] 提供一种调度策略,简单高效,降低属于磁盘调度延迟。程序初始化时,根据视点的位置读取以视点为中心的块场景数据,用数组标记好读入内存的各场景块的索引。使内存中的数据具有重用性。随视点的移动,动态释放不可见的子块和调入新的子块。
[0054] 根据视点的位置读取以视点为中心的m×m块场景数据,假设视点的位置为(x,z),目前所处的场景块为(i,j),其中心坐标为(xi,zj),则当前内存中的场景块所覆盖的范围为时,这里以x方向为例来判断所需载入和释放的场景数据,z方向类似,则调度过程为:
[0055] 当视点仍在该场景块内时,不用进行数据调度;
[0056] 当视点的可视范围已经移动到了场景块边界时,需要载入新的场景块,同时释放视点身后的场景块;
[0057] 当视点已经移动到了场景块外时,需要载入新的场景块,同时释放的已载入的全部场景块。
[0058] 场景的LOD简化包括:
[0059] 场景被载入内存之后,进行简化满足实时渲染的需求。LOD技术和视域剔除是简化场景的主要方法。将场景块分成“Patch”,每个“Patch”水平与垂直方向上各具有个高程点。最高层次分辨率绘制所有的高程点,最低层次的分辨率只绘制Patch角上的四个高程点。在预处理阶段,事先建立好场景查找表后,就可以在实时渲染时根据视点与场景块的距离d选择合适的细节层次。将每块Patch的大小设为17×17个点,同时Patch的LOD级别为4级。
[0060] 对场景调度数据进行实时的绘制和渲染包括:视域剔除技术。该技术不考虑视锥体的三个裁剪平面:近裁剪平面和上下裁剪平面,保留视锥体的远裁剪平面和左、右裁剪平面。将视锥体投影到x-z平面上,可形成投影三角形,以场景分块为最小单元进行视域剔除。充分优化处理数据量巨大时渲染速度缓慢问题。
[0061] 分块数据模型。大规模场景绘制本方法基于九宫格结构,完成原始场景均匀分块。
[0062] 多分辨率层次构造。在完成原始场景均匀分块的基础上,为满足实时绘制的需要,该系统采用自顶向下的九宫格剖分方法生成场景块的层次模型。
[0063] 基于视域扩展的数据预取及调度策略。本仿真系统在控制数据量的同时,减少视点运动趋势随机性所带来影响,包含不同动趋势下可能显示范围。
[0064] 构建场景模型。获取场景数据,本系统从外存中加载纹理数据,并对纹理进行特殊高效处理。将获得的场景数据导入,添加地理信息,生成三维场景模型。将处理好的纹理图片进行配准处理,最后与生成的三维场景模型进行叠加。
[0065] 分块数据模型包括:
[0066] 当场景的初始分辨率为r0,第l层的分辨率为r1,且r1=r0×3。在进行场景绘制时,离视点远的区域与离视点近的区域采用不同的分辨率,虚线圆所在的区域(即九宫格的中间一格)需要较高分辨率,依次向外不断降低LOD层次视点中心块与九宫格的中间一格重合,多分辨率的变换都集中在周围八格。
[0067] 多分辨率层次构造包括:
[0068] 根据视点位置变化情况,实时的分裂以及合并地形三角形网格,用最优化的动态分辨率来描述连续的地形表面。引入两个三角形队列来进行分裂以及合并的工作,一个队列记录当前地形中被绘制的所有三角形,另外一个队列记录当前绘制地形中全部可以合并的矩形。本系统在绘制每一帧的三角形网格时以前一帧的输出为基础,对状态改变的三角形才会被重新计算,没有改变的三角形不会被重复加入绘制三角形的队列。此绘制方法的运算效率较高,十分适合于场景的实时可视化
[0069] 将初始输入数据分割成若干等腰直角三角形,建立一个三角形的二叉树结构。将地形块作为一个矩形,从对角线剖开分割成为两个相同的等腰直角三角形,以两个等腰直角三角形作为根节点加入到三角形二叉树。为根节点的一个等腰直角三角形,将三角形的直角顶点与斜边的中点相连,按连接线分割三角形形成两个小等腰直角三角形,在三角形二叉树中它们就作为子节点。对所有的三角形按照上述方法递归的分裂下去,直到满足需要的精度为止,最后就生成了一个完整的三角形二叉树结构。在三角形被分裂形成了5个细节层次的地形模型,地形表面表现精细。
[0070] 在生成等腰直角三角形二叉树结构的过程中会存在特定的三角形邻接关系。三角形是两个相邻的三角形,而且他们的邻接边是自身的斜边。因为使用的是规则网格,所以三角形与—定可以构成一个矩形。当三角形与分别进行斜边二等分后,他们所得到的四个子三角形就可以一起组成一个可以合并的矩形,定义该矩形的作用是进行合并操作。
[0071] 基于视域扩展的数据预取及调度策略包括:
[0072] 本系统在每一帧中将地域覆盖区域覆盖区域分为视域、视域扩展、可视区域、调度区域以及预加载区域。视域扩展相交的场景分块构成调度区域,用一个总集合表示调度区域各个包含的分块集合,集合中数据应被载入内存中;对应的场景分块集合为预加载区域,代表当前帧需要预先加载到内存的场景数据,这些数据不需要立即绘制,而是对下一帧的预测。是与当前帧视点的运动速度和方向相关的可变量,利用的变化实现对视域扩展范围的动态调整。以此得到视域扩展和视域的范围,与视域扩展不相交的场景块直接剔除。
[0073] 基于视域扩展的数据预取及调度策略包括:
[0074] 误差机制。原始地形模型时会产生几何误差,在二维空间中看,这个几何误差是非单调函数。本系统用误差边界体代替了精确的误差。对于每一个三角形均计算它的误差边界体,将其作为一个世界坐标中的包围盒,囊括了该三角形的所有顶点。将三角形的边界体投影到平面上会有一个厚度,描述该三角形的几何误差,其叶子节点的边界体厚度为0。一个父三角形的边界体厚度取决于它的两个子三角形的边界体厚度。
[0075] 实时场景绘制。本系统控制计算代价,研究更为有效的细裁剪策略能有效提高绘制速度。在场景绘制中,使用高效合理的裂缝修补方法对不同分辨率场景块处理。
[0076] 实时场景绘制包括:
[0077] 预处理阶段。本系统对原始高程数据进行分块处理,将其划分为大小相同的场景子块;然后为每个场景子块建立四叉树结构,从而构建出与视点无关的多分辨率层次结构;采用块内无冗余数据存储方法,有效降低外存中高程数据的冗余,生成索引文件,便于绘制时快速获取相应层次中顶点高程数据。
[0078] 实时绘制阶段。本系统利用新型多线程机制使数据调度与绘制同时进行,主线程首先利用基于视域扩展的数据预取策略确定需要调度的场景块,以视锥为基础采用细裁剪策略为需要绘制的场景数据构建连续LOD模型,通过索引文件快速获取顶点高程数据;子线程实现基于外存数据调度以及数据卸载。
[0079] 需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0080] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈