CN110378992A - 面向大场景模型web端动态渲染LOD处理方法 - Google Patents
面向大场景模型web端动态渲染LOD处理方法 Download PDFInfo
- Publication number
- CN110378992A CN110378992A CN201910641617.4A CN201910641617A CN110378992A CN 110378992 A CN110378992 A CN 110378992A CN 201910641617 A CN201910641617 A CN 201910641617A CN 110378992 A CN110378992 A CN 110378992A
- Authority
- CN
- China
- Prior art keywords
- node
- model
- data
- large scene
- rendering
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Architecture (AREA)
- Image Generation (AREA)
Abstract
本发明是面向大场景模型web端动态渲染LOD处理方法。该方法首先设置细分参数对网格模型预计算;然后使用了一种新的文件格式对结果进行存储;最后根据自适应误差函数基于视点对多分辨率模型进行选择和渲染。本发明的特点是对大场景模型可以灵活地进行不同细节层次和节点数量的剖分,保证在渲染时能够保持较好的细节,适用于大规模静态场景的模型数据的动态调度及渲染显示。
Description
技术领域
本发明属于计算机虚拟现实技术领域,具体而言是基于无人机采集的大场景图片进行建模,针对建模后的网格数据处理的方法,处理过的数据能够在Web端无延迟加载并能够实时渲染。
背景技术
近年来随着虚拟现实技术的迅猛发展和计算机硬件处理能力的不断提高,计算机图形学得到了越来越广阔的应用前景,同时伴随着海量数据的发展,对三维模型的可视化和处理技术也提出了越来越高的要求。三维模型的处理和可视化技术作为计算机图形学的主要研究内容,利用该技术来绘制并渲染逼真流畅的大规模场景模型,在智慧城市、智慧校园、智慧社区等虚拟现实领域有重要意义。
多细节分辨率模型(Level of Detail,LOD)技术作为目前海量大场景数据渲染主要方法之一,在虚拟现实可视化中可以有效提高渲染速度,同时降低对硬件的性能要求。LOD技术是图形生成加速渲染方法中的一种主要方法。在1976年,Clark就提出了层次细节(Levels of Detail,LOD)模型的概念(参见Clark J.Hierarchical Geometric Modelsfor Visible Surface Algorithms[A].Communications of the ACM,1976.547-554.),认为当物体覆盖屏幕较小区域时,可以使用该物体较低分辨率的模型,反之则使用较高分辨率模型,以便对复杂场景进行快速绘制。
LOD技术在不影响画面视觉效果的条件下,通过逐次简化景物的表面细节来减少场景的几何复杂性,从而提高绘制算法的效率。该技术通常对每一原始多面体模型建立几个不同逼近精度的几何模型。与原模型相比,每个模型均保留了一定层次的细节。目前LOD的实现方式主要有两种:1、静态LOD,即在预处理过程中产生一个物体的几个离散的不同细节层次模型,实时绘制是根据特定的标准选择合适的层次表示模型,不过存在内存占用过高的缺陷,2、动态LOD,即设计一个数据结构,在实时绘制时可以从该数据结构中提取出所需要的层次模型,从而在渲染时根据视点信息进行重建,此方式下CPU占用率过高。
发明内容
针对现有细节层次模型处理方法普适性较低,对计算机硬件资源要求较高等问题,本发明提供了一种面向大场景模型动态渲染LOD处理方法,其包括:
步骤A、对大场景模型进行多分辨率的计算,切分为不同细节层次,且不同细节层次之间保持一定的分辨率比例关系;
步骤B、定义存储切分结果的数据结构和新文件结构,利用所定义的数据结构将结果存储在新定义的文件结构中;
步骤C、基于WebGL和所定义的新文件结构,自适应动态计算细分模型和Web场景中视点的对应关系,实现Web端大场景模型的动态渲染。
进一步地,所述步骤A中,对大场景模型进行多分辨率计算时,用户指定计算时所使用的内存大小RAM,并构建KD-tree索引结构以加速网格计算;然后设置顶层节点面片数量top_node_faces,相邻两层网格分辨率比例设置为0.5,依据分辨率关系逐步细分模型,细分收敛条件是当前节点所包含的顶点数目n<N,N为用户设定。
进一步地,所述步骤B中数据结构为,结构头包含所有顶点数据、面片数据、纹理数据及各个节点包围球;所设计的文件格式结构为:文件头和节点数据信息两个部分,其中文件头描述三维模型的全局信息,包括:模型整体包围球中心、半径、顶点数目、面片数目,材质数据以及节点数目;节点数据信息是每个节点包含的数据信息,包括边界信息、面片数据、顶点坐标以及多分辨率数据。
进一步地,所述步骤C中,自适应计算过程为:首先计算节点包围球和相机在世界坐标系下欧式距离D,通过实时对比D和节点包围球半径d的比值与用户输入的阈值的对比实现对节点数据的动态调度。
本发明与现有技术相比的有益效果是:
本发明对动态LOD方法进行了改进,在模型生成阶段用户可以指定生成节点细节,根据计算机硬件资源指定所使用的内存大小,从而提高本发明的适用性,在渲染阶段可设置调节阈值进行模型细节的渲染控制,提高渲染效率的同时可降低CPU的占用率。
本发明用户可以指定切分时所能使用的内存大小(默认使用2000M),因此能够充分发挥计算机性能,在内存较小的计算机上可设置较小的参数,反之可设置较大的参数,从而提高了本发明对不同计算机硬件配置的适应性;
本发明专门为细分网格模型设计了一种扩展名为.nxs的文件对计算结果进行存储,所涉及的文件能够很好的支持本发明的使用,在动态渲染与调度过程中,基于对该文件的解析信息和用户设定的阈值误差,在较小CPU的占用率下可实现对细分网格模型的快速调度。
附图说明
图1为本发明的面向大规模静态场景web端动态渲染的处理方法流程图;
图2为本发明渲染显示边界细节的示意图;
图3为本发明分块显示的示意图;
图4为本发明在web端进行分块LOD渲染后一平方公里整体效果显示图;
图5为图4局部细节图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实例对本发明做进一步的详细说明,但是本发明要求保护的范围并不局限于下述的具体实例。
如图1(左)网格处理流程图所示,首先构建全局的KD-tree索引结构用来加速网格顶点的查询与计算,然后基于构建的索引结构对网格模型进行分块处理,在进行分块的同时确保相邻父子节点网格分辨率误差为0.5,同时在父节点中保留模型的边界信息,在渲染阶段,如图1(右)渲染流程图所示,首先基于WebGL加载.nxs文件,基于用户指定的误差因子和nxs文件中的模型节点信息构造节点评价系统,基于节点评价函数实现对细分模型的动态加载。本发明的具体实施方法如下:
1大场景模型细分LOD的计算
1.1大场景模型的细分
针对大场景网格文件,首先构建KD-tree索引结构并将网格顶点信息输入到KD-tree中。然后构建该网格的整体包围球,构建方式为:1、计算所有网格顶点的重心作为其包围球心,同时统计所有网格顶点和面片的数量;2、基于KD-tree索引结构,寻找距离包围球球心最远的点,以球心和该点的距离作为包围球半径。预先设定每层节点包含的顶点数目为N=4096,切分模型所使用的内存为8000M,只要该层节点包围球空间含有的顶点数目少于N,该包围球所对应的节点就停止剖分。
1.2多分辨率层次的细分网格模型建立
基于步骤1.1所构建的KD-tree索引结构和场景包围球信息,以整个场景的包围球包含的信息为场景的根节点,顺次向下构建LOD层次,同时网格分辨率降低为上级分辨率的50%。当满足切分停止条件时(即该节点所包含的顶点数不满足预设值),停止切分,在分的过程中,父节点保留当前等级网格模型的边界信息,细分LOD模型的边界如图2所示。切分步骤如下:
Step1.首先判断当前节点的状态,如果当前节点node是叶子节点,则把其当前未简化的几何信息作为最精细层LOD1,而将LOD1的面片数量简化为原来的1/2得到次精细层LOD2,重复这一步骤。
Step2.若node不是叶子节点,则先对其非空子节点调用Step1,递归调用Step1,直至node的所有非空子节点构建完细分模型。
对KD-tree的根节点调用上述过程,递归地建立整个KD-tree的细分LOD结构。参考图3,在细分LOD建立过程中,将属于同一纹理的面片归为同一组,避免在渲染过程中对纹理的多次调用,提高渲染效率。在对大场景模型细分处理过程中,设定使用内存为8000M以加快处理速度,针对北航青岛研究院模型,本发明的输出信息如下:该模型的顶点数据为46万左右,对其进行切分的LOD细节层次为5层,且该模型包含纹理信息和顶点颜色信息,计算结果保存在.nxs文件中.
1.3大场景模型细分LOD文件格式(.nxs)
为提高渲染效果及加载效率本发明使用了一种链接型文件格式—Nexus file(扩展名为.nxs),对已构建好分块LOD的模型进行二进制存储,该文件的头信息包含根节点包围球,顶点数据、纹理材质数据、总的面片数据、总的节点数量。基于得到模型的LOD数据文件,就可以直接导入web场景进行大规模网格模型的LOD渲染显示。
2.细分场景模型的坐标变换
由于场景中的模型是在世界坐标系下的,按照场景中模型的空间变换信息,对以nxs文件格式载入的多层次LOD节点包围球数据作相应的变换,包括旋转、平移和缩放。遍历所有节点,计算它们中心的平均值作为场景世界坐标系的中心Center。得到了场景的包围球和中心之后,将节点数据变换到该世界坐标系下。
3.得到场景的细分LOD模型之后,还必须根据用户指定阈值误差及漫游视点进行LOD模型的web渲染,基于视点的LOD渲染流程图如图1(右)所示,首先加载场景根节点获取切分模型的整体信息,渲染效果如图4及图5所示。
根据公式选择细分LOD模型进行渲染,其中D是节点的包围球中心到相机的距离,d是场景中节点包围球的半径,θ是视景体的水平夹角,e用户指定的误差阈值。基于视点渲染的算法描述如下,
Step1.首先将场景根节点加入节点队列Queue。从Queue取出节点node,遍历node的子节点,比较简化误差e与E,若符合公式(1),则把该node节点指针加入到渲染队列。
Step2.遍历完毕node的所有子节点之后,若没有符合公式(1)的,则将node的非空子节点加入Queue
Step3.重复Step1——Step2,直到Queue为空
Step4.遍历渲染队列进行渲染。
面向大场景web动态渲染的分块LOD数据处理方法,首先进行网格模型的细分处理,在细分处理阶段用户可指定使用的内存大小和节点参数;然后设置特定的数据结构,并将处理后的数据存储到自定义的文件中;最后根据用户指定的误差阈值,在web端实现动态加载和渲染。本发明相对于静态LOD提供了较好的细节性绘制;相对于目前多数动态LOD又减少了渲染的复杂度,从而满足大规模静态场景实时渲染得需要。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
Claims (4)
1.面向大场景模型动态渲染LOD处理方法,其特征在于包括:
步骤A、对大场景模型进行多分辨率的计算,切分为不同细节层次,且不同细节层次之间保持一定的分辨率比例关系;
步骤B、定义存储切分结果的数据结构和使用新文件结构,利用所定义的数据结构将结果存储在新定义的文件结构中;
步骤C、基于WebGL和所定义的新文件结构,自适应动态计算细分模型和Web场景中视点的对应关系,实现Web端大场景模型的动态渲染。
2.根据权利要求1所述的面向大场景模型动态渲染LOD处理方法,其特征在于:所述步骤A中,对大场景模型进行多分辨率计算时,用户指定计算时所使用的内存大小RAM,并构建KD-tree索引结构以加速网格计算;然后设置顶层节点面片数量(top_node_faces),相邻两层网格分辨率比例设置为0.5,依据分辨率关系逐步细分模型,细分收敛条件是当前节点所包含的顶点数目n<N,N为用户设定。
3.根据权利要求1所述的面向大场景模型动态渲染LOD处理方法,其特征在于:所述步骤B中数据结构为,结构头包含所有顶点数据、面片数据、纹理数据及各个节点包围球;所设计的文件格式结构为:文件头和节点数据信息两个部分,其中文件头描述三维模型的全局信息,包括:模型整体包围球中心、半径、顶点数目、面片数目,材质数据以及节点数目;节点数据信息是每个节点包含的数据信息,包括边界信息、面片数据、顶点坐标以及多分辨率数据。
4.根据权利要求1所述的Web端大场景模型的动态渲染方法,其特征在于:所述步骤C中,自适应计算过程为:首先计算节点包围球和相机在世界坐标系下欧式距离D,通过实时对比D和节点包围球半径d的比值与用户输入的阈值的对比实现对节点数据的动态调度。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910641617.4A CN110378992A (zh) | 2019-07-16 | 2019-07-16 | 面向大场景模型web端动态渲染LOD处理方法 |
CN201911098659.4A CN110717967A (zh) | 2019-07-16 | 2019-11-12 | 面向大场景模型web端动态渲染LOD处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910641617.4A CN110378992A (zh) | 2019-07-16 | 2019-07-16 | 面向大场景模型web端动态渲染LOD处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110378992A true CN110378992A (zh) | 2019-10-25 |
Family
ID=68253518
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910641617.4A Pending CN110378992A (zh) | 2019-07-16 | 2019-07-16 | 面向大场景模型web端动态渲染LOD处理方法 |
CN201911098659.4A Pending CN110717967A (zh) | 2019-07-16 | 2019-11-12 | 面向大场景模型web端动态渲染LOD处理方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911098659.4A Pending CN110717967A (zh) | 2019-07-16 | 2019-11-12 | 面向大场景模型web端动态渲染LOD处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN110378992A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110992469A (zh) * | 2019-11-29 | 2020-04-10 | 四川航天神坤科技有限公司 | 海量三维模型数据的可视化方法及系统 |
CN112287138A (zh) * | 2020-10-15 | 2021-01-29 | 广州市城市规划勘测设计研究院 | 一种城市信息模型的组织调度方法、装置和设备 |
CN113066157A (zh) * | 2021-04-07 | 2021-07-02 | 奥格科技股份有限公司 | 基于cim平台的数据分级请求渲染方法及系统 |
CN114373036A (zh) * | 2021-12-21 | 2022-04-19 | 北京博能科技股份有限公司 | 一种场景三维渲染的方法及系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112802158B (zh) * | 2021-01-18 | 2022-05-24 | 中国人民解放军国防科技大学 | 一种基于多尺度可视化的大规模动态符号标绘方法 |
AT525294A1 (de) | 2021-08-04 | 2023-02-15 | Ocean Maps GmbH | Verfahren zum Erzeugen einer hierarchischen Datenstruktur, hierarchische Datenstruktur sowie Verfahren zum Streamen von dreidimensionalen Objekten |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169871A (zh) * | 2007-12-03 | 2008-04-30 | 北京航空航天大学 | 面向大规模静态场景实时渲染的hlod预处理方法 |
CN101441779B (zh) * | 2008-12-26 | 2010-11-10 | 南京师范大学 | 一种海量数字化地形的快速动态绘制方法 |
US20150178976A1 (en) * | 2011-11-28 | 2015-06-25 | Google Inc. | View Dependent Level-of-Detail for Tree-Based Replicated Geometry |
CN103150761A (zh) * | 2013-04-02 | 2013-06-12 | 乐淘奇品网络技术(北京)有限公司 | 通过网页高速逼真3d渲染进行物品设计定制的方法 |
CN105336003B (zh) * | 2015-09-28 | 2018-05-25 | 中国人民解放军空军航空大学 | 结合gpu技术实时流畅绘制出三维地形模型的方法 |
CN108074274A (zh) * | 2017-12-26 | 2018-05-25 | 深圳拎得清软件有限公司 | 基于浏览器的bim模型实时渲染方法及装置 |
-
2019
- 2019-07-16 CN CN201910641617.4A patent/CN110378992A/zh active Pending
- 2019-11-12 CN CN201911098659.4A patent/CN110717967A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110992469A (zh) * | 2019-11-29 | 2020-04-10 | 四川航天神坤科技有限公司 | 海量三维模型数据的可视化方法及系统 |
CN110992469B (zh) * | 2019-11-29 | 2024-01-23 | 四川航天神坤科技有限公司 | 海量三维模型数据的可视化方法及系统 |
CN112287138A (zh) * | 2020-10-15 | 2021-01-29 | 广州市城市规划勘测设计研究院 | 一种城市信息模型的组织调度方法、装置和设备 |
CN112287138B (zh) * | 2020-10-15 | 2022-11-15 | 广州市城市规划勘测设计研究院 | 一种城市信息模型的组织调度方法、装置和设备 |
CN113066157A (zh) * | 2021-04-07 | 2021-07-02 | 奥格科技股份有限公司 | 基于cim平台的数据分级请求渲染方法及系统 |
CN113066157B (zh) * | 2021-04-07 | 2024-05-24 | 奥格科技股份有限公司 | 基于cim平台的数据分级请求渲染方法及系统 |
CN114373036A (zh) * | 2021-12-21 | 2022-04-19 | 北京博能科技股份有限公司 | 一种场景三维渲染的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110717967A (zh) | 2020-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378992A (zh) | 面向大场景模型web端动态渲染LOD处理方法 | |
CN108133044B (zh) | 基于属性分离的空间大数据三维可视化方法及平台 | |
Sander et al. | Signal-specialized parameterization | |
US7561156B2 (en) | Adaptive quadtree-based scalable surface rendering | |
CN105261066B (zh) | 一种三维地理信息系统实时绘制多线程分配与控制方法 | |
US20020060685A1 (en) | Method, system, and computer program product for managing terrain rendering information | |
Sander et al. | Progressive buffers: view-dependent geometry and texture lod rendering | |
US20220005261A1 (en) | Method for instant rendering of voxels | |
Westerteiger et al. | Spherical Terrain Rendering using the hierarchical HEALPix grid | |
Fisher et al. | DiagSplit: parallel, crack-free, adaptive tessellation for micropolygon rendering | |
CN108230430A (zh) | 云层遮罩图的处理方法及装置 | |
Ji et al. | Dynamic lod on gpu | |
Zhou et al. | Fast generation method of 3D scene in Chinese landscape painting | |
CN110502305B (zh) | 一种动态界面的实现方法、装置及相关设备 | |
CN115953541B (zh) | 一种四叉树lod地形生成方法、装置、设备及存储介质 | |
Baldacci et al. | GPU-based approaches for shape diameter function computation and its applications focused on skeleton extraction | |
Lee et al. | Bimodal vertex splitting: Acceleration of quadtree triangulation for terrain rendering | |
Deng et al. | Visualization of vector data on global scale terrain | |
US9007388B1 (en) | Caching attributes of surfaces without global parameterizations | |
Ivo et al. | Improved silhouette rendering and detection of splat-based models | |
CN117953181B (zh) | 一种面向web3d的顶点分层与增量式lod方法及系统 | |
Sheng et al. | MCGIM-based model streaming for realtime progressive rendering | |
Claux et al. | An efficient trim structure for rendering large b-rep models | |
WO2022227293A1 (zh) | 一种纹理贴图方法、装置、电子设备及存储介质 | |
US11436783B2 (en) | Method and system of decoupled object space shading |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191025 |
|
WD01 | Invention patent application deemed withdrawn after publication |