一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于虚幻引擎的三维倾斜摄影数据处理方法、装置及设备与流程

2022-02-20 04:17:44 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种基于虚幻引擎的三维倾斜摄影数据处理方法、装置及设备。


背景技术:

2.随着智慧城市建设的不断推进,对于城市大规模的三维空间信息的表达、分析和管理的需求变得越来越迫切,而三维倾斜摄影数据是一种重要的地理信息数据,它基于精确的地理信息和丰富的影像纹理信息,是目前构建三维模型场景的主流技术手段之一。
3.本发明的发明人在对现有的三维倾斜摄影数据处理技术中发现,现有的数据结构在写入三维倾斜摄影数据时需要频繁读取硬盘和频繁操作内存申请释放,导致降低了对三维倾斜摄影数据加载和调度的速度。


技术实现要素:

4.本发明提供一种基于虚幻引擎的三维倾斜摄影数据处理方法、装置及设备,以解决无法快速对三维倾斜摄影数据进行加载和调度的技术问题,能够基于虚幻引擎,采用双显存池与双队列的加载策略对三维倾斜摄影数据进行加载,大大提高了对三维倾斜摄影数据加载和调度的速度。
5.为了解决上述技术问题,本发明实施例第一方面提供了一种基于虚幻引擎的三维倾斜摄影数据处理方法,包括:使用平面坐标系对三维倾斜摄影数据进行加载,并将所述三维倾斜摄影数据所在平面坐标系的原点设置为虚幻引擎的内部坐标系的原点,以使所述虚幻引擎的内部坐标系对齐所述平面坐标系;
6.将所述三维倾斜摄影数据导入所述虚幻引擎中,识别得到所述三维倾斜摄影数据的顶点信息和纹理信息,并在所述虚幻引擎的内部坐标系中构建用于导入所述三维倾斜摄影数据的场景;
7.设置用于存储所述顶点信息的顶点显存池和用于存储所述纹理信息的纹理显存池,基于对应所述场景中显示不同精度的lod层级,从所述三维倾斜摄影数据的顶点信息和纹理信息中,采用双队列机制将对应相机高度的lod层级中相机视锥范围内的节点的顶点信息、纹理信息分别加载到所述顶点显存池、所述纹理显存池,并从所述顶点显存池、所述纹理显存池中分别读取显示节点的顶点信息、纹理信息;
8.利用所述显示节点的顶点信息绘制三角面模型,将所述显示节点的纹理信息映射至所述三角面模型,以获得待渲染的三角面模型。
9.作为其中一种改进,所述采用双队列机制将对应相机高度的lod层级中相机视锥范围内的节点的顶点信息、纹理信息分别加载到所述顶点显存池、所述纹理显存池,并从所述顶点显存池、所述纹理显存池中分别读取显示节点的顶点信息、纹理信息的步骤,具体包括:
10.构建预设长度相同的队列a、队列b;
11.在开始加载所述三维倾斜摄影数据时,读取得到所述相机视锥范围内的节点的顶点信息、纹理信息的索引号,并根据所述索引号建立索引数组;
12.将所述索引号对应的节点的顶点信息、纹理信息分别加载至所述顶点显存池、所述纹理显存池,并将所述索引号加入队列a;
13.在任一次所述相机视锥范围发生改变后,读取得到当次相机视锥范围内的节点数据的索引号,并得到对应当次的索引号的索引数组;
14.将当次的索引号对应的节点的顶点信息、纹理信息分别加载至所述顶点显存池、所述纹理显存池;
15.根据所述队列a中数据的长度进行循环,将所述队列a中的索引号依次出队并与当次的索引数组中的索引号进行对比;其中,当所述队列a中的索引号存在于当次的索引数组中的时候,重新将所述队列a中存在于当次的索引数组中的索引号加入所述队列a,并从当次的索引数组中删除所述队列a中存在于当次的索引数组中的索引号,根据所述队列a中存在于当次的索引数组中的索引号,从所述顶点显存池、所述纹理显存池中分别读取所述队列a中存在于当次的索引数组中的索引号对应的节点的顶点信息、纹理信息;
16.当所述队列a中的索引号不存在于当次的索引数组中的时候,将所述队列a中不存在于当次的索引数组中的索引号加入队列b;
17.在根据所述队列a中数据的长度进行循环结束后,将当次的索引数组中的剩余索引号依次加入所述队列a;
18.根据所述剩余索引号,从所述顶点显存池、所述纹理显存池中分别读取所述剩余索引号对应的节点的顶点信息、纹理信息;
19.将所述队列b中的索引号依次加入所述队列a;其中,当所述队列a已满,所述队列b中存在尚未出队的索引号的时候,将所述队列b中尚未出队的索引号出队,并在所述顶点显存池、所述纹理显存池中将所述队列b中尚未出队的索引号对应的节点的顶点信息、纹理信息分别替换为当次的索引数组中的剩余索引号对应的节点的顶点信息、纹理信息;
20.根据当前的所述队列a中的索引号,从所述顶点显存池、所述纹理显存池中分别读取当前的所述队列a中的索引号对应的节点的顶点信息、纹理信息。
21.作为其中一种改进,所述利用所述显示节点的顶点信息绘制三角面模型的步骤,具体包括:
22.新建并初始化一个mesh网格组件;
23.在所述mesh网格组件中创建顶点数组;
24.根据调取的节点的顶点信息,调用staticmeshcoponent类的绘制函数绘制所述三角面模型。
25.作为其中一种改进,所述将所述显示节点的纹理信息映射至所述三角面模型,以获得待渲染的三角面模型的步骤,具体包括:
26.将所述显示节点的纹理信息转换为材质信息;
27.利用纹理映射的方式将所述材质信息映射至所述三角面模型,以获得待渲染的三角面模型。
28.作为其中一种改进,所述将所述三维倾斜摄影数据导入所述虚幻引擎中,识别得到所述三维倾斜摄影数据的顶点信息和纹理信息,并在所述虚幻引擎的内部坐标系中构建
用于导入所述三维倾斜摄影数据的场景的步骤,具体包括:
29.将所述三维倾斜摄影数据导入虚幻引擎;
30.输入参数,得到存储所述三维倾斜摄影数据的scp格式的描述文件,所述参数包括模型参考点和投影参数;
31.执行倾斜入库操作将所述三维倾斜摄影数据转为s3mb格式的数据文件;
32.在所述虚幻引擎的内部坐标系中新建场景,将执行倾斜入库操作后的描述文件添加至所述场景。
33.作为其中一种改进,在利用所述显示节点的顶点信息绘制三角面模型,将所述显示节点的纹理信息映射至所述三角面模型,以获得待渲染的三角面模型的步骤之后,所述方法还包括:
34.基于虚幻引擎,结合视锥剔除算法和遮挡剔除算法,启用独立线程对待渲染的三角面模型进行延迟渲染。
35.作为其中一种改进,在采用双队列机制将对应相机高度的lod层级中相机视锥范围内的节点的顶点信息、纹理信息分别加载到所述顶点显存池、所述纹理显存池的步骤之前,所述方法还包括:
36.将所述三维倾斜摄影数据的纹理信息压缩成directxt3格式,并将压缩后的纹理信息存储在gpu内存中。
37.本发明实施例第二方面提供了一种基于虚幻引擎的三维倾斜摄影数据处理装置,包括:
38.坐标系对齐模块,用于使用平面坐标系对三维倾斜摄影数据进行加载,并将所述三维倾斜摄影数据所在平面坐标系的原点设置为虚幻引擎的内部坐标系的原点,以使所述虚幻引擎的内部坐标系对齐所述平面坐标系;
39.第一数据处理模块,用于将所述三维倾斜摄影数据导入所述虚幻引擎中,识别得到所述三维倾斜摄影数据的顶点信息和纹理信息,并在所述虚幻引擎的内部坐标系中构建用于导入所述三维倾斜摄影数据的场景;
40.第二数据处理模块,用于设置用于存储所述顶点信息的顶点显存池和用于存储所述纹理信息的纹理显存池,基于对应所述场景中显示不同精度的lod层级,从所述三维倾斜摄影数据的顶点信息和纹理信息中,采用双队列机制将对应相机高度的lod层级中相机视锥范围内的节点的顶点信息、纹理信息分别加载到所述顶点显存池、所述纹理显存池,并从所述顶点显存池、所述纹理显存池中分别读取显示节点的顶点信息、纹理信息;
41.三角面模型获取模块,用于利用所述显示节点的顶点信息绘制三角面模型,将所述显示节点的纹理信息映射至所述三角面模型,以获得待渲染的三角面模型。
42.作为其中一种改进,还包括:
43.延迟渲染模块,用于基于虚幻引擎,结合视锥剔除算法和遮挡剔除算法,启用独立线程对待渲染的三角面模型进行延迟渲染。
44.本发明实施例第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的基于虚幻引擎的三维倾斜摄影数据处理方法。
45.相比于现有技术,本发明实施例的有益效果在于,本发明提供的一种基于虚幻引
擎的三维倾斜摄影数据处理方法、装置及设备,提出了双显存池与双队列的三维倾斜摄影数据加载策略,在游戏引擎中对三维倾斜摄影数据进行加载,大大提高了三维倾斜摄影数据的加载和读取的速度。
附图说明
46.图1是本发明提供的基于虚幻引擎的三维倾斜摄影数据处理方法的一个优选实施例的流程示意图;
47.图2是本发明提供的双队列机制的一个优选实施例的加载示意图;
48.图3是本发明提供的双队列机制的另一个优选实施例的加载示意图;
49.图4是本发明提供的双队列机制的又一个优选实施例的加载示意图;
50.图5是本发明提供的双队列机制的又一个优选实施例的加载示意图;
51.图6是本发明提供的双队列机制的又一个优选实施例的加载示意图;
52.图7是本发明提供的基于虚幻引擎的三维倾斜摄影数据处理装置的一个优选实施例的结构示意图。
具体实施方式
53.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
54.参见图1,是本发明提供的基于虚幻引擎的三维倾斜摄影数据处理方法的一个优选实施例的流程示意图。
55.本发明实施例第一方面提供了一种基于虚幻引擎的三维倾斜摄影数据处理方法,包括步骤s1至步骤s4,具体如下:
56.步骤s1:使用平面坐标系对三维倾斜摄影数据进行加载,并将所述三维倾斜摄影数据所在平面坐标系的原点设置为虚幻引擎的内部坐标系的原点,以使所述虚幻引擎的内部坐标系对齐所述平面坐标系。
57.需要说明的是,虚幻引擎中的倾斜摄影数据的加载首先需要对齐二者的坐标系。倾斜三维数据具备真实世界的坐标,带有地理坐标信息,而虚幻引擎的坐标系不具备真实地理意义,因此需要倾斜摄影数据所在坐标系的原点设置为虚幻引擎内部坐标系的原点(0,0,0)。
58.步骤s2:将所述三维倾斜摄影数据导入所述虚幻引擎中,识别得到所述三维倾斜摄影数据的顶点信息和纹理信息,并在所述虚幻引擎的内部坐标系中构建用于导入所述三维倾斜摄影数据的场景。
59.作为其中一种改进,所述将所述三维倾斜摄影数据导入所述虚幻引擎中,识别得到所述三维倾斜摄影数据的顶点信息和纹理信息,并在所述虚幻引擎的内部坐标系中构建用于导入所述三维倾斜摄影数据的场景,包括步骤s21至步骤s24,具体如下:
60.步骤s21:将所述三维倾斜摄影数据导入虚幻引擎。
61.步骤s22:输入参数,得到存储所述三维倾斜摄影数据的scp格式的描述文件,所述
参数包括模型参考点和投影参数。
62.步骤s23:执行倾斜入库操作将所述三维倾斜摄影数据转为s3mb格式的数据文件。
63.步骤s24:在所述虚幻引擎的内部坐标系中新建场景,将执行倾斜入库操作后的描述文件添加至所述场景。
64.需要说明的是,描述文件和数据文件是空间三维数据模型的基础组成部分,描述文件以scp格式进行储存,包含了一个或多个瓦片树的根节点路径;数据文件通过瓦片树组织,瓦片树中每个瓦片对应一个s3mb格式的文件。
65.步骤s3:设置用于存储所述顶点信息的顶点显存池和用于存储所述纹理信息的纹理显存池,基于对应所述场景中显示不同精度的lod层级,从所述三维倾斜摄影数据的顶点信息和纹理信息中,采用双队列机制将对应相机高度的lod层级中相机视锥范围内的节点的顶点信息、纹理信息分别加载到所述顶点显存池、所述纹理显存池,并从所述顶点显存池、所述纹理显存池中分别读取显示节点的顶点信息、纹理信息。
66.需要说明的是,lod(level of detail)是根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。通过在三维场景中显示不同精度的lod层级,可以快速实现对同一个数据进行从清晰到模糊的查看。当屏幕视角距离某个地物近时(视锥范围大),引擎自动调用最清晰层的数据;当屏幕视角远离该地物时(视锥范围小),则自动切换为模糊层的数据。
67.s3mb数据文件中自带了多级金子塔的模型精度级别,可以通过对s3mb文件中所有子级进行索引编译后直接加载模型,读取其lod级别和视锥范围信息,并将lod层中相机视锥范围内的节点(node或patch)的顶点信息和纹理信息加载到显存。
68.视锥范围是一个金字塔形状,包含一个近端和远端裁切平面,定义了应在该空间内可见的最近和最远对象。所有其他视锥范围外的对象都被删除以节省处理时间。相机视锥是近端和远端裁切平面之间的可视查看区域的一个金字塔形状。近端裁切平面是能够看到的最接近相机的对象的点。远端裁切平面是能够看到的离相机最远的对象的点。
69.作为其中一种改进,所述采用双队列机制将对应相机高度的lod层级中相机视锥范围内的节点的顶点信息、纹理信息分别加载到所述顶点显存池、所述纹理显存池,并从所述顶点显存池、所述纹理显存池中分别读取显示节点的顶点信息、纹理信息的步骤,具体包括:
70.如图2所示,构建预设长度相同的队列a、队列b;
71.如图3所示,在开始加载所述三维倾斜摄影数据时,读取得到所述相机视锥范围内的节点的顶点信息、纹理信息的索引号,并根据所述索引号建立索引数组;
72.将所述索引号对应的节点的顶点信息、纹理信息分别加载至所述顶点显存池、所述纹理显存池,并将所述索引号加入队列a;
73.如图4所示,在任一次所述相机视锥范围发生改变后,读取得到当次相机视锥范围内的节点数据的索引号,并得到对应当次的索引号的索引数组;
74.将当次的索引号对应的节点的顶点信息、纹理信息分别加载至所述顶点显存池、所述纹理显存池;
75.根据所述队列a中数据的长度进行循环,将所述队列a中的索引号依次出队并与当次的索引数组中的索引号进行对比;其中,当所述队列a中的索引号存在于当次的索引数组
中的时候,重新将所述队列a中存在于当次的索引数组中的索引号加入所述队列a,并从当次的索引数组中删除所述队列a中存在于当次的索引数组中的索引号,根据所述队列a中存在于当次的索引数组中的索引号,从所述顶点显存池、所述纹理显存池中分别读取所述队列a中存在于当次的索引数组中的索引号对应的节点的顶点信息、纹理信息;
76.当所述队列a中的索引号不存在于当次的索引数组中的时候,将所述队列a中不存在于当次的索引数组中的索引号加入队列b;
77.如图5所示,在根据所述队列a中数据的长度进行循环结束后,将当次的索引数组中的剩余索引号依次加入所述队列a;
78.根据所述剩余索引号,从所述顶点显存池、所述纹理显存池中分别读取所述剩余索引号对应的节点的顶点信息、纹理信息;
79.如图6所示,将所述队列b中的索引号依次加入所述队列a;其中,当所述队列a已满,所述队列b中存在尚未出队的索引号的时候,将所述队列b中尚未出队的索引号出队,并在所述顶点显存池、所述纹理显存池中将所述队列b中尚未出队的索引号对应的节点的顶点信息、纹理信息分别替换为当次的索引数组中的剩余索引号对应的节点的顶点信息、纹理信息;
80.根据当前的所述队列a中的索引号,从所述顶点显存池、所述纹理显存池中分别读取当前的所述队列a中的索引号对应的节点的顶点信息、纹理信息。
81.需要说明的是,本发明实施例根据在指定屏幕分辨率下显示器上一次可显示的最细lod层的节点个数,设置用于存储所述顶点信息的顶点显存池和用于存储所述纹理信息的纹理显存池,并构建预设长度相同的队列a、队列b。假设在指定屏幕分辨率下显示器上一次可显示的最细lod层的节点个数为n,则两个显存池中可分别存放3n个节点的顶点信息和纹理信息,同时建立两个长度为3n的队列。
82.作为其中一种改进,在采用双队列机制将对应相机高度的lod层级中相机视锥范围内的节点的顶点信息、纹理信息分别加载到所述顶点显存池、所述纹理显存池的步骤之前,所述基于虚幻引擎的三维倾斜摄影数据处理方法还包括:
83.将所述三维倾斜摄影数据的纹理信息压缩成directxt3格式,并将压缩后的纹理信息存储在gpu内存中。
84.需要说明的是,一个虚拟场景可能会载入数百幅纹理,而载入纹理会占用大量的gpu内存和磁盘空间。为解决这一问题,本发明实施例通过将这些纹理压缩成directxt3格式存储在gpu内存中,需要使用时再由gpu实时解压缩。
85.步骤s4:利用所述显示节点的顶点信息绘制三角面模型,将所述显示节点的纹理信息映射至所述三角面模型,以获得待渲染的三角面模型。
86.作为其中一种改进,所述利用所述显示节点的顶点信息绘制三角面模型,包括步骤s41至s43,具体如下:
87.步骤s41:新建并初始化一个mesh网格组件。
88.步骤s42:在所述mesh网格组件中创建顶点数组。
89.具体地,在所述mesh网格组件中创建顶点数组包括:构建两个列表分别为顶点列表和顶点索引列表,顶点列表中存放即将绘制顶点的坐标信息,顶点索引列表中存放绘制顶点的索引顺序,此索引顺序应按三角面的顺时针方向排列。
90.步骤s43:根据调取的节点的顶点信息,调用staticmeshcoponent类的绘制函数绘制所述三角面模型。
91.作为其中一种改进,所述将所述显示节点的纹理信息映射至所述三角面模型,以获得待渲染的三角面模型,包括步骤s44和步骤s45,具体如下:
92.步骤s44:将所述显示节点的纹理信息转换为材质信息。
93.步骤s45:利用纹理映射的方式将所述材质信息映射至所述三角面模型,以获得待渲染的三角面模型。
94.需要说明的是,材质决定了物体表面的外观,由此定义了五种物理属性:基色(表面的颜色或纹理,用于添加细节和颜色变化)、法线(材质表面法线信息,光影信息,表现材质凹凸感)、金属(表明是否具有金属观感)、环境光(环境光遮蔽,记录表面遮蔽效果)和粗糙度(具有最大粗糙度的表面不会有任何的光泽)。因此根据倾斜摄影纹理信息可以参照其物理属性使用三维图形引擎转化为对应的材质信息。
95.基础纹理映射可以看作是粘贴一个图像的局部到一个三角形上,这个动作通过在三角形的三个顶点上指定纹理坐标的方式完成,这些坐标“映射”每个顶点到纹理中的某个位置。纹理坐标随后被插值,如此就针对每个像素给出了纹理坐标。碎片着色器随后抓取被纹理坐标所指向的纹理色彩,并且将其发送到帧缓存,最终形成映射后的图像。
96.作为其中一种改进,在利用所述显示节点的顶点信息绘制三角面模型,将所述显示节点的纹理信息映射至所述三角面模型,以获得待渲染的三角面模型的步骤之后,所述基于虚幻引擎的三维倾斜摄影数据处理方法还包括:
97.基于虚幻引擎,结合视锥剔除算法和遮挡剔除算法,启用独立线程对待渲染的三角面模型进行延迟渲染。
98.需要说明的是,本发明实施例所采用的虚幻引擎4的渲染过程通常包括以下几个步骤:(1)计算几何多边形(即mesh);(2)决定表面材质特性,例如法线、粗糙度等等;(3)计算入射光照;(4)计算光照对表面的影响,并最终显示。
99.常规的前向渲染(forward shading)流程是将上述四个步骤依次执行完毕;而延迟渲染则将前两个步骤和后两个步骤分开到渲染管道中相互独立的两个部分来执行,具体的步骤如下:
100.geometry阶段:将本帧所有的几何信息光栅化到g-buffer。g-buffer通常由以下纹理信息构成:diffuse,高光,法线和深度,高光因子存储在高光纹理的alpha通道。该过程对应虚幻引擎前向渲染的前两步。
101.lighting阶段:以g-buffer作为输入(位置,法线)进行逐像素的光照计算。该过程对应前向渲染的后两步。
102.composition阶段:将g-buffer中的贴图buffer和lighting buffer融合,得到渲染结果。
103.在启用独立线程对所述第二三角面进行延迟渲染的过程中,结合视锥剔除算法和遮挡剔除算法优化渲染所需的时间。
104.具体地,视锥剔除是根据相机的视野(fov)以及近裁减面(near plane)和远裁剪面(far plane)的距离,将可视范围外的物体排除出渲染,被剔除的物体将不会进入渲染的几何阶段(geometry stage)。视椎体剔除是减少渲染消耗的最有效手段之一,可以在不影
响渲染效果的情况下大幅减少渲染涉及到的顶点数和面数。
105.遮挡剔除根据场景中物体的位置预先生成场景遮挡数据,运行时就可以剔除对应静态物体之后的其他物体。遮挡剔除是减少渲染消耗的有效手段之一,可以和视椎体剔除同时生效,进一步减少渲染的消耗。
106.遮挡剔除通常会使用深度缓冲器(z-buffer)。深度缓冲区原理就是把一个距离观察平面(近裁剪面)的深度值(或距离)与窗口中的每个像素相关联。在绘制每个像素之前,深度缓冲器的深度值和已经存储在这个像素的深度值会进行比较。新像素深度值小于原先像素深度值,则新像素值会取代原先的;反之,新像素值被遮挡,其颜色值和深度将被丢弃。
107.硬件遮挡查询是遮挡剔除的常用算法,其基本思想是,当和深度缓冲器中内容进行比较时,用户可以通过查询硬件来找到一组多边形是否可见的,且这些多边形通常是复杂物体的包围体。如果其中没有多边形可见,那么便可将这个物体裁剪掉。
108.本发明实施例提供的一种基于虚幻引擎的三维倾斜摄影数据处理方法,提出了双显存池与双队列的加载策略,在游戏引擎中对三维倾斜摄影数据进行加载,适合批量处理gb、tb级别的大数据,大大提高了三维倾斜摄影数据的加载和读取的速度,并且利用游戏引擎的延迟渲染结合视锥剔除算法和遮挡剔除算法对三维倾斜摄影数据进行渲染,解决了现有技术中由于海量数据的加载和计算而造成的渲染瓶颈的问题,大大提高了渲染的效率,为用户提供了快速和流畅的体验感。
109.参见图7,是本发明提供的基于虚幻引擎的三维倾斜摄影数据处理装置的一个优选实施例的结构示意图。
110.本发明实施例第二方面提供了一种基于虚幻引擎的三维倾斜摄影数据处理装置,包括:
111.坐标系对齐模块701,用于使用平面坐标系对三维倾斜摄影数据进行加载,并将所述三维倾斜摄影数据所在平面坐标系的原点设置为虚幻引擎的内部坐标系的原点,以使所述虚幻引擎的内部坐标系对齐所述平面坐标系;
112.第一数据处理模块702,用于将所述三维倾斜摄影数据导入所述虚幻引擎中,识别得到所述三维倾斜摄影数据的顶点信息和纹理信息,并在所述虚幻引擎的内部坐标系中构建用于导入所述三维倾斜摄影数据的场景;
113.第二数据处理模块703,用于设置用于存储所述顶点信息的顶点显存池和用于存储所述纹理信息的纹理显存池,基于对应所述场景中显示不同精度的lod层级,从所述三维倾斜摄影数据的顶点信息和纹理信息中,采用双队列机制将对应相机高度的lod层级中相机视锥范围内的节点的顶点信息、纹理信息分别加载到所述顶点显存池、所述纹理显存池,并从所述顶点显存池、所述纹理显存池中分别读取显示节点的顶点信息、纹理信息;
114.三角面模型获取模块704,用于利用所述显示节点的顶点信息绘制三角面模型,将所述显示节点的纹理信息映射至所述三角面模型,以获得待渲染的三角面模型。
115.作为其中一种改进,所述基于虚幻引擎的三维倾斜摄影数据处理装置还包括:
116.延迟渲染模块705,用于基于虚幻引擎,结合视锥剔除算法和遮挡剔除算法,启用独立线程对待渲染的三角面模型进行延迟渲染。
117.作为其中一种改进,所述第二数据处理模块703还用于:
118.构建预设长度相同的队列a、队列b;
119.在开始加载所述三维倾斜摄影数据时,读取得到所述摄像机视锥范围内的相机视锥范围内的节点的顶点信息、纹理信息的索引号,并根据所述索引号建立索引数组;
120.将所述索引号对应的节点的顶点信息、纹理信息分别加载至所述顶点显存池、所述纹理显存池,并将所述索引号加入队列a;
121.在任一次所述相机视锥范围发生改变后,读取得到当次相机视锥范围内的节点数据的索引号,并得到对应当次的索引号的索引数组;
122.将当次的索引号对应的节点的顶点信息、纹理信息分别加载至所述顶点显存池、所述纹理显存池;
123.根据所述队列a中数据的长度进行循环,将所述队列a中的索引号依次出队并与当次的索引数组中的索引号进行对比;其中,当所述队列a中的索引号存在于当次的索引数组中的时候,重新将所述队列a中存在于当次的索引数组中的索引号加入所述队列a,并从当次的索引数组中删除所述队列a中存在于当次的索引数组中的索引号,根据所述队列a中存在于当次的索引数组中的索引号,从所述顶点显存池、所述纹理显存池中分别读取所述队列a中存在于当次的索引数组中的索引号对应的节点的顶点信息、纹理信息;
124.当所述队列a中的索引号不存在于当次的索引数组中的时候,将所述队列a中不存在于当次的索引数组中的索引号加入队列b;
125.在根据所述队列a中数据的长度进行循环结束后,将当次的索引数组中的剩余索引号依次加入所述队列a;
126.根据所述剩余索引号,从所述顶点显存池、所述纹理显存池中分别读取所述剩余索引号对应的节点的顶点信息、纹理信息;
127.将所述队列b中的索引号依次加入所述队列a;其中,当所述队列a已满,所述队列b中存在尚未出队的索引号的时候,将所述队列b中尚未出队的索引号出队,并在所述顶点显存池、所述纹理显存池中将所述队列b中尚未出队的索引号对应的节点的顶点信息、纹理信息分别替换为当次的索引数组中的剩余索引号对应的节点的顶点信息、纹理信息;
128.根据当前的所述队列a中的索引号,从所述顶点显存池、所述纹理显存池中分别读取当前的所述队列a中的索引号对应的节点的顶点信息、纹理信息。
129.作为其中一种改进,所述三角面模型获取模块704还用于:
130.新建并初始化一个mesh网格组件;
131.在所述mesh网格组件中创建顶点数组;
132.根据调取的节点的顶点信息,调用staticmeshcoponent类的绘制函数绘制所述三角面模型。
133.作为其中一种改进,所述三角面模型获取模块704还用于:
134.将所述显示节点的纹理信息转换为材质信息;
135.利用纹理映射的方式将所述材质信息映射至所述三角面模型,以获得待渲染的三角面模型。
136.作为其中一种改进,所述第一数据处理模块702还用于:
137.将所述三维倾斜摄影数据导入虚幻引擎;
138.输入参数,得到存储所述三维倾斜摄影数据的scp格式的描述文件,所述参数包括模型参考点和投影参数;
139.执行倾斜入库操作将所述三维倾斜摄影数据转为s3mb格式的数据文件;
140.在所述虚幻引擎的内部坐标系中新建场景,将执行倾斜入库操作后的描述文件添加至所述场景。
141.作为其中一种改进,所述延迟渲染模块705还用于:
142.基于虚幻引擎,结合视锥剔除算法和遮挡剔除算法,启用独立线程对待渲染的三角面模型进行延迟渲染。
143.作为其中一种改进,所述第二数据处理模块703还用于:
144.将所述三维倾斜摄影数据的纹理信息压缩成directxt3格式,并将压缩后的纹理信息存储在gpu内存中。
145.需要说明的是,本发明实施例所提供的一种基于虚幻引擎的三维倾斜摄影数据处理装置,能够实现上述任一实施例所述的基于虚幻引擎的三维倾斜摄影数据处理方法的所有流程,装置中的各个模块的作用以及实现的技术效果分别与上述实施例所述的基于虚幻引擎的三维倾斜摄影数据处理方法的作用以及实现的技术效果对应相同,这里不再赘述。
146.本发明实施例第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一实施例所述的基于虚幻引擎的三维倾斜摄影数据处理方法。
147.所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
148.所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
149.所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
150.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献