CN101315703A - 三维大规模场景动态管理方法 - Google Patents

三维大规模场景动态管理方法 Download PDF

Info

Publication number
CN101315703A
CN101315703A CNA2007100414524A CN200710041452A CN101315703A CN 101315703 A CN101315703 A CN 101315703A CN A2007100414524 A CNA2007100414524 A CN A2007100414524A CN 200710041452 A CN200710041452 A CN 200710041452A CN 101315703 A CN101315703 A CN 101315703A
Authority
CN
China
Prior art keywords
pixel
test
scene
dimensional
large scale
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.)
Pending
Application number
CNA2007100414524A
Other languages
English (en)
Inventor
梅晓莱
柯耐德
S·斯班索耶维奇
陆首博
宋凌飞
毛若明
冯嘉明
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.)
Plex VR Digital Technology Shanghai Co Ltd
Original Assignee
Plex VR Digital Technology Shanghai Co Ltd
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 Plex VR Digital Technology Shanghai Co Ltd filed Critical Plex VR Digital Technology Shanghai Co Ltd
Priority to CNA2007100414524A priority Critical patent/CN101315703A/zh
Publication of CN101315703A publication Critical patent/CN101315703A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明涉及计算机三维图像处理技术领域,特别是一种三维大规模场景动态管理方法。它包括:A:三维引擎主要针对于渲染室外大规模场景,其场景主要采用八叉树划分并管理;B:渲染流程包括:B1:CPU和GPU与应用程序的数据交换;B2:顶点的坐标系转换;B3:像素到渲染图形缓存的处理过程。本发明可根据视角来判断需要真正需要显示的三维数据,从而达到动态的读取场景显示,场景的变化也是连续的,而并不会在不同场景部分切换时出现间断。另外根据距离短远近,不同精度的模型也可以有选择的显示,更重要的、更明显的模型应该显示更高精度的模型,而更远的模型则可以显示更简单的版本。

Description

三维大规模场景动态管理方法
技术领域
本发明涉及计算机三维图像处理技术领域,特别是一种三维大规模场景动态管理方法。
背景技术
计算机三维图形学是计算机领域十分热门及发展迅速的领域,在影视、游戏、军事、科研领域都有非常多的应用实例。大多数研究和产品都把目标集中于在计算机里构建三维的物体并在计算机屏幕上逼真的还原真实世。随着计算机硬件成本的不断下降,以前只有科研单位及大型企业里才能应用的三维系统,现在在普通PC机上也能达到相当的效果。
为了将每一张静止的画面计算、渲染到计算机屏幕并且根据用户的交互可以连续不断的变化。需要提供给计算机进行运算并指导硬件完成相应功能的程序。这样的程序要实现功能需要依赖大体如下几个部分:
用户界面:用来接收用户输入,显示可以操作的按钮等控制部件,将画好的每祯图片显示到屏幕
三维实时引擎:用来根据不同的用途,实现的具有一定灵活性的软件模块和工具,用来管理三维几何信息,三维纹理信息,光照阴影,其他效果等等。
通用三维绘图接口:将上千种不同显示卡制造上的不同点屏蔽,提供给上层程序统一的调用接口,极大的方便程序的开发。否则开发的程序只能运行于有限的计算机型号上。
显示卡驱动程序:一般由硬件厂商开发提供,随计算机硬件或操作系统一同提供给用户,只有通过这个程序才可以调用硬件中提供的指令。
现有的三维大规模场景动态管理方法会一次性的把存在文件里的相关的几何及纹理等数据读入到计算机的内存中,这样就会将所能表现的场景大小或复杂度与计算机系统的容量直接关联(内存),即使能够在运行时自动读取另一个文件的内容替换前面的数据,也会造成明显的滞后和间断。针对像虚拟城市等复杂场景的实时渲染,一种动态的数据载入的结构和策略是相当必要的。
发明内容
本发明的目的在于提供一种三维大规模场景动态管理方法,主要解决上述现有技术中所存在的技术问题,它能在保证图形效果的前提下,使之应用的扩展性大大增强。
为解决上述技术问题,本发明是这样实现的:
一种三维大规模场景动态管理方法,其特征在于它包括:
A:三维引擎主要针对于渲染室外大规模场景,其场景主要采用八叉树划分并管理;
B:渲染流程包括:
B1:CPU和GPU与应用程序的数据交换;
B2:顶点的坐标系转换;
B3:像素到渲染图形缓存的处理过程。
所说步骤A中在处理场景之前先对场景的物体进行简单的规模估算,然后决定八叉树的细化深度。
所说的步骤B1进一步包括:
B11:应用程序通过CPU把在暂存内存中的渲染列表传输给GPU;
B12:应用程序通过OpenGL硬件抽象层来控制GPU进行渲染;
B13:GPU把内存中的顶点信息进行多边形的拓扑处理,以及在显存的像素数据组合并进行栅栏化处理。
所说的步骤B2进一步包括:
B21:所有程序中的模型都是建立在物体空间的坐标系统下的,引擎通过现实世界定位信息可以把模型坐标转换成现实世界的GIS坐标系统;
B22:再根据摄像机在世界坐标的投影,可以把三维世界的坐标系映射成裁剪后的齐次坐标空间;
B23:最后把这个坐标系进行视角转换,形成屏幕坐标输出。
所说的步骤B3进一步包括:
B31:像素的范围测试,这个测试简单的判断这个代渲染的像素是否在视角范围之类,如果是就通过测试,否则标为不通过;
B32:裁剪测试,这个测试主要是判断像素时候在系统定义的裁剪长方形内,所有在长方形外的像素将会被丢弃;
B33:所有通过裁剪测试的像素都要通过透明测试,这个测试会用这个像素的最终透明值和程序定义的透明常量比较,程序会决定这个比较的结果;
B34:通过透明测试的像素要进入模版测试,主要通过比较这个像素在程序存储的一个模板缓存中对应位置的值,如果符合程序要求的值,就通过测试;
B35:深度测试,这个测试主要是比较当前像素在深度缓存中的值和当前位置的深度值,如果像素不满足测试预制的深度关系就会测试失败,一旦通过所有的测试的像素,就会最终选染在屏幕上。
通过上述发明方法,本发明可根据视角来判断需要真正需要显示的三维数据,从而达到动态的读取场景显示,场景的变化也是连续的,而并不会在不同场景部分切换时出现间断。另外根据距离短远近,不同精度的模型也可以有选择的显示,更重要的、更明显的模型应该显示更高精度的模型,而更远的模型则可以显示更简单的版本。另外在本地的文件不能无限制的增加大小,这限制了传统的做法能够适应更大场景的用途。而我们的方法可以很好的移植到网络化的应用,从服务器读取数据,而服务器端理论上可以保存海量的数据。
附图说明
图1形象的阐述了八叉树的划分原理和存储方式;
图1.a)描述为一个物体而构造的八叉树平面图;
图1.b)是1.a)图对应的八叉树结构图;
图2是CPU和GPU与应用程序的数据交换示意图;
图3是坐标信息在渲染流程中的转化过程;
图4在像素输出到图像缓存前的处理过程;
图5是Kafa 3维渲染引擎的场景管理的系统结构图;
图6是系统通过基于八叉树的视场计算,只把视场范围内的模型载入到内存中。
图7是动态场景管理结合不同精度的模型等级。
具体实施方式
本发明提供了一种三维大规模场景动态管理方法,它是关于第二层也就是三维实时引擎的部分。其特点是:
一、本发明的三维引擎主要针对于渲染室外大规模场景,其场景主要采用八叉树划分并管理。
八叉树主要是用来空间划分和实时剔出物体,而整个划分策略是基于静态的结构,因为如果在实时计算是改变结构整需要大量的计算量。
简单解释一下八叉树的工作原理:
如图1,假设所有需要渲染的物体都包含在一个三维世界的正方体包围盒中,八叉树的管理就是把这个大的包围盒细分成八个等大的小包围盒,对于每一个包围盒又再继续划分,直到最小的包围盒完全的包含三维世界的任一物体。形成的八叉树的最深叶子的深度就是这个八叉树的划分深度。
但由于针对超大场景的完全划分需要的时间和空间的耗销都比较大。本三维引擎做出相应比较灵活的调整,在处理场景之前先对场景的物体进行简单的规模估算(主要针对多边形数量,物体的个数,物体所占的面积),然后决定八叉树的细化深度。
这个改变的好处在于,在较好的控制整个场景划分的前提下可以快速的判别场景中的节点是否可见,如果一个节点是不可见的,引擎会自动忽略掉这个节点的所有子节点,而如果一个节点是可见的,引擎会继续在其子节点中进行逐层的可见性判别,从而达到一个快速获取当前视角的渲染物体列表。
二、渲染流程及解释
1、CPU和GPU与应用程序的数据交换。
图2主要描述本系统的应用程序和CPU,GPU之前的数据交换过程。主要有:1,应用程序通过CPU把在暂存内存中的渲染列表传输给GPU。2,应用程序通过OpenGL硬件抽象层来控制GPU进行渲染。3。GPU把内存中的顶点信息进行多边形的拓扑处理,以及在显存的像素数据组合并进行栅栏化处理。
2、顶点的坐标系转换。
图3主要描述了本引擎从模型读取到顶点信息输出到屏幕的顶点处理过程。首先,所有程序中的模型都是建立在物体空间的坐标系统下的,引擎通过现实世界定位信息可以把模型坐标转换成现实世界的GIS坐标系统,再根据摄像机在世界坐标的投影,可以把三维世界的坐标系映射成裁剪后的齐次坐标空间,最后把这个坐标系进行视角转换,形成屏幕坐标输出。
3、像素到渲染图形缓存的处理过程。
最后介绍本引擎像素级的图形渲染处理过程。这个过程主要是决定每个像素究竟是丢弃还是渲染的,第一,像素的范围测试。这个测试简单的判断这个代渲染的像素是否在视角范围之类,如果是就通过测试,否则标为不通过。第二,裁剪测试。这个测试主要是判断像素时候在系统定义的裁剪长方形内,所有在长方形外的像素将会被丢弃。第三,所有通过裁剪测试的像素都要通过透明测试,这个测试会用这个像素的最终透明值和程序定义的透明常量比较,程序会决定这个比较的结果(一般是大于,小于或者相等)。第四,通过透明测试的像素要进入模版测试,主要通过比较这个像素在程序存储的一个模板缓存中对应位置的值,如果符合程序要求的值(0或者1),就通过测试。深度测试,是最后的一个测试阶段。这个测试主要是比较当前像素在深度缓存中的值和当前位置的深度值,如果像素不满足测试预制的深度关系就会测试失败,一旦通过所有的测试的像素,就会最终选染在屏幕上。
三、系统架构及解释
如图5,Kafa主要控制了SceneManager进行对应的场景管理(主要是应用八叉树的场景管理)。而SceneManager通过场景渲染图(SceneGraph)来管理场景中等待渲染的节点,Entity是场景中的物体,同样被SceneManager所管理。Entity和SceneNode的关系在于,SceneNode都是Entity,而Entity只有被放到代渲染队列中才会成为SceneNode被八叉树的系统进行划分和送往RenderEngine进行渲染。而Camera主要是通过视角进行对SceneNode的剔出。图5的系统设计图完整的描述了本渲染引擎的场景管理的方式和场景管理和渲染器之前的关系。
图6,系统通过基于八叉树的视场计算,只把视场范围内的模型载入到内存中。每一个模型都有多个细节程度的版本。系统根据模型离视点的远景,选择载入不同细节程度的版本——离视点近的,载入高精度的模型;离视点远的,载入低精度的模型。这样的载入模式适合人眼观察物体的模式,同时更好的利用了内存资源。图7是动态场景管理结合不同精度的模型等级
综上所述仅为本发明的较佳实施例而已,并非用来限定本发明的实施范围。即凡依本发明申请专利范围的内容所作的等效变化与修饰,都应为本发明的技术范畴。

Claims (5)

1、一种三维大规模场景动态管理方法,其特征在于它包括:
A:三维引擎主要针对于渲染室外大规模场景,其场景主要采用八叉树划分并管理;
B:渲染流程包括:
B1:CPU和GPU与应用程序的数据交换;
B2:顶点的坐标系转换;
B3:像素到渲染图形缓存的处理过程。
2、根据权利要求1所述的三维大规模场景动态管理方法,其特征在于所说步骤A中在处理场景之前先对场景的物体进行简单的规模估算,然后决定八叉树的细化深度。
3、根据权利要求1所述的三维大规模场景动态管理方法,其特征在于所说的步骤B1进一步包括:
B11:应用程序通过CPU把在暂存内存中的渲染列表传输给GPU;
B12:应用程序通过OpenGL硬件抽象层来控制GPU进行渲染;
B13:GPU把内存中的顶点信息进行多边形的拓扑处理,以及在显存的像素数据组合并进行栅栏化处理。
4、根据权利要求1所述的三维大规模场景动态管理方法,其特征在于所说的步骤B2进一步包括:
B21:所有程序中的模型都是建立在物体空间的坐标系统下的,引擎通过现实世界定位信息可以把模型坐标转换成现实世界的GIS坐标系统;
B22:再根据摄像机在世界坐标的投影,可以把三维世界的坐标系映射成裁剪后的齐次坐标空间;
B23:最后把这个坐标系进行视角转换,形成屏幕坐标输出。
5、根据权利要求1所述的三维大规模场景动态管理方法,其特征在于所说的步骤B3进一步包括:
B31:像素的范围测试,这个测试简单的判断这个代渲染的像素是否在视角范围之类,如果是就通过测试,否则标为不通过;
B32:裁剪测试,这个测试主要是判断像素时候在系统定义的裁剪长方形内,所有在长方形外的像素将会被丢弃;
B33:所有通过裁剪测试的像素都要通过透明测试,这个测试会用这个像素的最终透明值和程序定义的透明常量比较,程序会决定这个比较的结果;
B34:通过透明测试的像素要进入模版测试,主要通过比较这个像素在程序存储的一个模板缓存中对应位置的值,如果符合程序要求的值,就通过测试;
B35:深度测试,这个测试主要是比较当前像素在深度缓存中的值和当前位置的深度值,如果像素不满足测试预制的深度关系就会测试失败,一旦通过所有的测试的像素,就会最终选染在屏幕上。
CNA2007100414524A 2007-05-30 2007-05-30 三维大规模场景动态管理方法 Pending CN101315703A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007100414524A CN101315703A (zh) 2007-05-30 2007-05-30 三维大规模场景动态管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007100414524A CN101315703A (zh) 2007-05-30 2007-05-30 三维大规模场景动态管理方法

Publications (1)

Publication Number Publication Date
CN101315703A true CN101315703A (zh) 2008-12-03

Family

ID=40106703

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007100414524A Pending CN101315703A (zh) 2007-05-30 2007-05-30 三维大规模场景动态管理方法

Country Status (1)

Country Link
CN (1) CN101315703A (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840565A (zh) * 2010-04-19 2010-09-22 浙江大学 一种基于gpu的八叉树并行构建方法
CN102509331A (zh) * 2011-10-25 2012-06-20 江苏南大先腾信息产业有限公司 一种基于三维引擎的动态模型搭建方法
CN102840838A (zh) * 2011-04-06 2012-12-26 通用电气公司 用于显示观察的物体表面的三维数据质量的指示的方法和装置
CN102982159A (zh) * 2012-12-05 2013-03-20 上海创图网络科技发展有限公司 一种三维网页多场景快速切换方法
CN102999880A (zh) * 2012-11-14 2013-03-27 厦门亿力吉奥信息科技有限公司 基于GPU的电力WebGIS矢量实时绘制方法及装置
WO2014019127A1 (en) * 2012-07-31 2014-02-06 Intel Corporation (A Corporation Of Delaware) Hybrid rendering systems and methods
CN106204703A (zh) * 2016-06-29 2016-12-07 乐视控股(北京)有限公司 三维场景模型渲染方法和装置
CN106204704A (zh) * 2016-06-29 2016-12-07 乐视控股(北京)有限公司 虚拟现实中三维场景的渲染方法和装置
CN107193911A (zh) * 2017-05-14 2017-09-22 北京比目鱼工程咨询有限公司 一种基于bim模型的三维可视化引擎及web应用程序调用方法
CN107392988A (zh) * 2016-05-05 2017-11-24 辉达公司 利用投影几何失真用于以可变采样率渲染的系统、方法和计算机程序产品
CN109237999A (zh) * 2018-09-19 2019-01-18 中国电子科技集团公司第二十八研究所 一种批量三维态势目标尾迹实时绘制方法和系统
CN109711035A (zh) * 2018-12-21 2019-05-03 成都四方伟业软件股份有限公司 城市模型构建方法及装置
CN113610978A (zh) * 2021-06-10 2021-11-05 瑞祥集团(河北)科技材料有限公司 结合空间定位扫描测绘方案自动生成设计方法和系统
CN116228949A (zh) * 2023-02-28 2023-06-06 如你所视(北京)科技有限公司 三维模型处理方法、装置及存储介质
CN117496001A (zh) * 2024-01-02 2024-02-02 埃洛克航空科技(北京)有限公司 一种渲染自定义几何体依附模型的方法及装置
CN117547816A (zh) * 2023-11-21 2024-02-13 北京畅游创想软件技术有限公司 一种游戏场景渲染方法、装置、设备及介质
CN117689791A (zh) * 2024-02-02 2024-03-12 山东再起数据科技有限公司 三维可视化多场景渲染应用集成方法
CN117547816B (zh) * 2023-11-21 2024-06-11 北京畅游创想软件技术有限公司 一种游戏场景渲染方法、装置、设备及介质

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840565A (zh) * 2010-04-19 2010-09-22 浙江大学 一种基于gpu的八叉树并行构建方法
CN102840838A (zh) * 2011-04-06 2012-12-26 通用电气公司 用于显示观察的物体表面的三维数据质量的指示的方法和装置
CN102509331B (zh) * 2011-10-25 2014-04-30 江苏南大先腾信息产业有限公司 一种基于三维引擎的动态模型搭建方法
CN102509331A (zh) * 2011-10-25 2012-06-20 江苏南大先腾信息产业有限公司 一种基于三维引擎的动态模型搭建方法
US10026143B2 (en) 2012-07-31 2018-07-17 Intel Corporation Hybrid rendering systems and methods
US10726515B2 (en) 2012-07-31 2020-07-28 Intel Corporation Hybrid rendering systems and methods
US9262795B2 (en) 2012-07-31 2016-02-16 Intel Corporation Hybrid rendering systems and methods
WO2014019127A1 (en) * 2012-07-31 2014-02-06 Intel Corporation (A Corporation Of Delaware) Hybrid rendering systems and methods
CN102999880A (zh) * 2012-11-14 2013-03-27 厦门亿力吉奥信息科技有限公司 基于GPU的电力WebGIS矢量实时绘制方法及装置
CN102982159A (zh) * 2012-12-05 2013-03-20 上海创图网络科技发展有限公司 一种三维网页多场景快速切换方法
CN107392988A (zh) * 2016-05-05 2017-11-24 辉达公司 利用投影几何失真用于以可变采样率渲染的系统、方法和计算机程序产品
CN106204703A (zh) * 2016-06-29 2016-12-07 乐视控股(北京)有限公司 三维场景模型渲染方法和装置
CN106204704A (zh) * 2016-06-29 2016-12-07 乐视控股(北京)有限公司 虚拟现实中三维场景的渲染方法和装置
CN107193911A (zh) * 2017-05-14 2017-09-22 北京比目鱼工程咨询有限公司 一种基于bim模型的三维可视化引擎及web应用程序调用方法
CN107193911B (zh) * 2017-05-14 2020-10-30 北京比目鱼信息科技有限责任公司 一种基于bim模型的三维可视化引擎及web应用程序调用方法
CN109237999A (zh) * 2018-09-19 2019-01-18 中国电子科技集团公司第二十八研究所 一种批量三维态势目标尾迹实时绘制方法和系统
CN109237999B (zh) * 2018-09-19 2020-09-08 中国电子科技集团公司第二十八研究所 一种批量三维态势目标尾迹实时绘制方法和系统
CN109711035A (zh) * 2018-12-21 2019-05-03 成都四方伟业软件股份有限公司 城市模型构建方法及装置
CN113610978A (zh) * 2021-06-10 2021-11-05 瑞祥集团(河北)科技材料有限公司 结合空间定位扫描测绘方案自动生成设计方法和系统
CN116228949A (zh) * 2023-02-28 2023-06-06 如你所视(北京)科技有限公司 三维模型处理方法、装置及存储介质
CN116228949B (zh) * 2023-02-28 2024-03-08 如你所视(北京)科技有限公司 三维模型处理方法、装置及存储介质
CN117547816B (zh) * 2023-11-21 2024-06-11 北京畅游创想软件技术有限公司 一种游戏场景渲染方法、装置、设备及介质
CN117547816A (zh) * 2023-11-21 2024-02-13 北京畅游创想软件技术有限公司 一种游戏场景渲染方法、装置、设备及介质
CN117496001A (zh) * 2024-01-02 2024-02-02 埃洛克航空科技(北京)有限公司 一种渲染自定义几何体依附模型的方法及装置
CN117496001B (zh) * 2024-01-02 2024-04-26 埃洛克航空科技(北京)有限公司 一种渲染自定义几何体依附模型的方法及装置
CN117689791B (zh) * 2024-02-02 2024-05-17 山东再起数据科技有限公司 三维可视化多场景渲染应用集成方法
CN117689791A (zh) * 2024-02-02 2024-03-12 山东再起数据科技有限公司 三维可视化多场景渲染应用集成方法

Similar Documents

Publication Publication Date Title
CN101315703A (zh) 三维大规模场景动态管理方法
US10834328B2 (en) Virtual camera for 3-D modeling applications
US7978205B1 (en) Systems and methods for providing an enhanced graphics pipeline
EP1594091B1 (en) System and method for providing an enhanced graphics pipeline
CN109564704A (zh) 虚拟现实/增强现实设备和方法
US8243073B2 (en) Tree insertion depth adjustment based on view frustum and distance culling
CN108648269A (zh) 三维建筑物模型的单体化方法和系统
CN102289845B (zh) 一种三维模型绘制方法以及装置
US20100188396A1 (en) Updating Ray Traced Acceleration Data Structures Between Frames Based on Changing Perspective
US20170004647A1 (en) Rendering graphics data on demand
CN113674389B (zh) 场景渲染方法、装置、电子设备及存储介质
CN101124613A (zh) 片段着色管线中增加的按比例缩放性
JP5873672B2 (ja) 仮想環境のポイントにおいて受光された光の量の推定方法
CN104050705A (zh) 处置光栅操作中的post-z覆盖数据
CN105261066A (zh) 一种三维地理信息系统实时绘制多线程分配与控制方法
US20020060685A1 (en) Method, system, and computer program product for managing terrain rendering information
CN105122310A (zh) 用于基于瓦片的渲染的帧内时戳
JP2012190428A (ja) 立体映像視覚効果処理方法
CN113034656A (zh) 游戏场景中光照信息的渲染方法、装置及设备
US11270494B2 (en) Shadow culling
CN101686336B (zh) 三维场景中计时装置的显示方法
CN115131482A (zh) 游戏场景中光照信息的渲染方法、装置及设备
Chochlík Scalable multi-GPU cloud raytracing with OpenGL
Karlsson et al. Rendering Realistic Augmented Objects Using a Image Based Lighting Approach
Shen et al. Development of AHTS-vessel Marine Engine Room Virtual Training Platform and Research on Key Technology

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20081203