海量三维模型数据的可视化方法及系统技术方案

技术编号:23768499 阅读:25 留言:0更新日期:2020-04-11 21:10
本发明专利技术涉三维模型数据可视化技术领域,实施例具体公开一种海量三维模型数据的可视化方法及系统。本申请通过在读取三维场景数据后,首先根据其索引文件中存储的属性和渲染数据构建地图对象,然后通过该地图对象创建地图节点,将地图节点添加进三维场景进行渲染,通过分页LOD机制动态调度选择加载区域瓦片数据以及三维模型,在实时渲染时通过可见性检测控制线程中渲染的当前浏览的三维模型数量的方法,提高了三维场景显示速度,提高了数据读取和三维模型显示浏览的速度。

Visualization method and system of massive 3D model data

【技术实现步骤摘要】
海量三维模型数据的可视化方法及系统
本专利技术涉三维模型数据可视化
,具体涉及一种海量三维模型数据的可视化方法及系统。
技术介绍
目前海量三维模型数据实时绘制主要采用静态LOD方法,即以离线方式预先对模型数据进行处理,生成一系列不同细节层次的网格模型,绘制时根据显示参数和硬件性能选择一个合适的层次进行绘制。静态LOD方法将耗费资源的数据生成过程作为预处理,对硬件性能要求较低,但在视点实时变换及细节层次突变的处理上不如动态LOD方法。
技术实现思路
有鉴于此,本申请提供一种海量三维模型数据的可视化方法及系统,能够解决或者至少部分解决上述存在的问题。为解决以上技术问题,本专利技术提供的技术方案是一种海量三维模型数据的可视化方法,包括:读取三维场景数据,根据其索引文件的属性数据和渲染数据构建地图对象;根据地图对象构建地图节点加入三维场景进行渲染;通过分页LOD动态调度组织渲染;通过可见性检测控制线程中渲染的当前浏览的三维模型数量。优选的,所述根据地图对象构建地图节点加入三维场景进行渲染的方法包括:采用四叉树结构管理三维场景,根据构建的地图对象生成包含地形节点、模型节点和覆盖模型节点的子树;针对地形节点创建包含影像图层、高程图层和瓦片键值的瓦片模型,将该瓦片模型以分页LOD形式加入根节点,其中瓦片键值包含瓦片模型的空间信息,用于确定数据在三维场景中的位置,且以四叉树形式被组织起来。优选的,所述通过分页LOD动态调度组织渲染的方法包括:加载数据时根据地图对象或数据的profile属性实时进行分层瓦片化,通过分页LOD动态调度选择加载区域瓦片数据;加载模型时分页LOD根据观察点与图像子节点的距离选择显示子节点,且每个模型采用单独的线程负责实时调度和加载。优选的,所述通过可见性检测控制线程中渲染的当前浏览的三维模型数量的方法包括:判断三维场景的视角是否改变,若是,则进入下一步,若否,则不动作;进行视点高度检测,判断视点高度是否小于或等于预设可视高度,若否,则暂停所有模型对象的后台工作线程,若是,则进入下一步;对于每个处于可视范围内的三维模型进行视口检测,判断其是否处在视口呈现的地表坐标范围内,若否,则暂停其对应的后台工作线程,若是,则进入下一步;遍历每一个通过视点高度检测和视口检测的模型对象进行遮挡检测,判断模型对象与视点之间是否存在遮挡,若是,则暂停其对应后台工作线程,若否,则唤醒其对应后台线程。优选的,所述通过可见性检测控制线程中渲染的当前浏览的三维模型数量的方法包括:新增一个bool值控制可见性检测的计算频率;每次在进入可见性检测计算前先判断该bool值是否为true,若为true,则进入可见性检测步骤,完成计算后再将该bool值设置为false;或者通过事件回调机制来触发执行可见性检测,即在原有事件回调基础上新建一个事件回调来收集用户改变视角的操作信息,每当收集到触发视角改变的操作信息时,将可见性检测线程的bool值设置为ture,随后执行一次可见性检测计算。本专利技术还提供一种海量三维模型数据的可视化系统,包括:地图对象构建模块,用于读取三维场景数据,根据其索引文件的属性数据和渲染数据构建地图对象;地图节点构建模块,用于根据地图对象构建地图节点加入三维场景进行渲染;分页LOD调度模块,用于通过分页LOD动态调度组织渲染;可见性检测模块,用于通过可见性检测控制线程中渲染的当前浏览的三维模型数量。优选的,所述地图节点构建模块包括:子树构建单元,用于采用四叉树结构管理三维场景,根据构建的地图对象生成包含地形节点、模型节点和覆盖模型节点的子树;模型构建单元,用于针对地形节点创建包含影像图层、高程图层和瓦片键值的瓦片模型,将该瓦片模型以分页LOD形式加入根节点,其中瓦片键值包含瓦片模型的空间信息,用于确定数据在三维场景中的位置,且以四叉树形式被组织起来。优选的,所述分页LOD调度模块包括:加载数据单元,用于加载数据时根据地图对象或数据的profile属性实时进行分层瓦片化,通过分页LOD动态调度选择加载区域瓦片数据;加载模型单元,用于加载模型时分页LOD根据观察点与图像子节点的距离选择显示子节点,且每个模型采用单独的线程负责实时调度和加载。优选的,所述可见性检测模块包括:视角判断单元,用于判断三维场景的视角是否改变,若是,则进入高度检测单元,若否,则不动作;高度检测单元,用于进行视点高度检测,判断视点高度是否小于或等于预设可视高度,若否,则暂停所有模型对象的后台工作线程,若是,则进入视口检测单元;视口检测单元,用于对于每个处于可视范围内的三维模型进行视口检测,判断其是否处在视口呈现的地表坐标范围内,若否,则暂停其对应的后台工作线程,若是,则进入遮挡检测单元;遮挡检测单元,用于遍历每一个通过视点高度检测和视口检测的模型对象进行遮挡检测,判断模型对象与视点之间是否存在遮挡,若是,则暂停其对应后台工作线程,若否,则唤醒其对应后台线程。本专利技术还提供一种海量三维模型数据的可视化系统,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现如上述海量三维模型数据的可视化方法的步骤。本申请与现有技术相比,其有益效果详细说明如下:本申请通过在读取三维场景数据后,首先根据其索引文件中存储的属性和渲染数据构建地图对象,然后通过该地图对象创建地图节点,将地图节点添加进三维场景进行渲染,通过分页LOD机制动态调度选择加载区域瓦片数据以及三维模型,在实时渲染时通过可见性检测控制线程中渲染的当前浏览的三维模型数量的方法,提高了三维场景显示速度,提高了数据读取和三维模型显示浏览的速度。附图说明为了更清楚地说明本专利技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种海量三维模型数据的可视化方法流程示意图;图2为本专利技术实施例提供的一种通过可见性检测控制线程中渲染的当前浏览的三维模型数量的方法流程示意图;图3为本专利技术实施例提供的海量三维模型数据的可视化系统结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本专利技术保护范围。为了使本领域的技术人员更好地理解本专利技术的技术方案,下面结合附图和具体实施例对本专利技术作进一步的详细说明。如图1所示,本专利技术实施例提供一种海量三维模型数据的可视化方本文档来自技高网...

【技术保护点】
1.一种海量三维模型数据的可视化方法,其特征在于,包括:/n读取三维场景数据,根据其索引文件的属性数据和渲染数据构建地图对象;/n根据地图对象构建地图节点加入三维场景进行渲染;/n通过分页LOD动态调度组织渲染;/n通过可见性检测控制线程中渲染的当前浏览的三维模型数量。/n

【技术特征摘要】
1.一种海量三维模型数据的可视化方法,其特征在于,包括:
读取三维场景数据,根据其索引文件的属性数据和渲染数据构建地图对象;
根据地图对象构建地图节点加入三维场景进行渲染;
通过分页LOD动态调度组织渲染;
通过可见性检测控制线程中渲染的当前浏览的三维模型数量。


2.根据权利要求1所述的海量三维模型数据的可视化方法,其特征在于,所述根据地图对象构建地图节点加入三维场景进行渲染的方法包括:
采用四叉树结构管理三维场景,根据构建的地图对象生成包含地形节点、模型节点和覆盖模型节点的子树;
针对地形节点创建包含影像图层、高程图层和瓦片键值的瓦片模型,将该瓦片模型以分页LOD形式加入根节点,其中瓦片键值包含瓦片模型的空间信息,用于确定数据在三维场景中的位置,且以四叉树形式被组织起来。


3.根据权利要求1所述的海量三维模型数据的可视化方法,其特征在于,所述通过分页LOD动态调度组织渲染的方法包括:
加载数据时根据地图对象或数据的profile属性实时进行分层瓦片化,通过分页LOD动态调度选择加载区域瓦片数据;
加载模型时分页LOD根据观察点与图像子节点的距离选择显示子节点,且每个模型采用单独的线程负责实时调度和加载。


4.根据权利要求1所述的海量三维模型数据的可视化方法,其特征在于,所述通过可见性检测控制线程中渲染的当前浏览的三维模型数量的方法包括:
判断三维场景的视角是否改变,若是,则进入下一步,若否,则不动作;
进行视点高度检测,判断视点高度是否小于或等于预设可视高度,若否,则暂停所有模型对象的后台工作线程,若是,则进入下一步;
对于每个处于可视范围内的三维模型进行视口检测,判断其是否处在视口呈现的地表坐标范围内,若否,则暂停其对应的后台工作线程,若是,则进入下一步;
遍历每一个通过视点高度检测和视口检测的模型对象进行遮挡检测,判断模型对象与视点之间是否存在遮挡,若是,则暂停其对应后台工作线程,若否,则唤醒其对应后台线程。


5.根据权利要求1所述的海量三维模型数据的可视化方法,其特征在于,所述通过可见性检测控制线程中渲染的当前浏览的三维模型数量的方法包括:
新增一个bool值控制可见性检测的计算频率;
每次在进入可见性检测计算前先判断该bool值是否为true,若为true,则进入可见性检测步骤,完成计算后再将该bool值设置为false;或者
通过事件回调机制来触发执行可见性检测,即在原有事件回调基础上新建一个事件回调来收集用户改变视角的操作信息,每当收集到触发视角...

【专利技术属性】
技术研发人员:陈银吕琪菲韩宇韬张至怡杨佳龙陈爽党建波阳松江
申请(专利权)人:四川航天神坤科技有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1