System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及可视化渲染,尤其涉及一种三维数据可视化渲染方法及可视化渲染引擎系统。
技术介绍
1、传统gis可视化渲染引擎系统在可视化性能方面较为欠缺,存在着调度渲染效率低,导致帧率低,造作漫游卡顿;大范围的数据加载,耗时过长,严重影响用户体验;数据量较大时,容易内存溢出,导致系统崩溃。因此,迫切需要系统性的突破城市海量三维模型数据可视化性能瓶颈问题,研发真正满足大规模空间数据可视化系统,解决加载城市海量三维切片数据的性能问题,支持城市海量三维数据在系统中直接显示。
技术实现思路
1、鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的三维数据可视化渲染方法及可视化渲染引擎系统。
2、本专利技术的一个方面,提供了一种三维数据可视化渲染方法,所述方法包括:
3、采用lod技术将待渲染的三维模型数据进行空间分割处理生成具有不同几何细节层次的分块切片数据,所述分块切片数据是以层次结构组织的空间数据结构;
4、将所述分块切片数据通过具有空间关系的树形结构进行组织,并将所述树形结构输出为索引文件,树形结构中的根节点代表整个数据空间,每个叶子节点代表一个分块切片数据,每一分支节点代表所属父节点对应的细节层次数据,每一个节点包含:指向父节点和子节点的指针、节点的描述文件和二进制文件,描述文件包括数据层级关系和包围盒信息,二进制文件包括几何和纹理信息;
5、根据用户视域范围确定当前可视区域,筛选可视区域范围内的与用户视域
6、根据分块切片数据的索引编码从渲染请求队列查询待渲染分块切片数据,并根据查询结果更新图层类浏览器数据库,所述图层类浏览器数据库用于对待渲染分块切片数据进行浏览器存储管理;
7、采用分离式协同作业模式分批并行下载和解析图层类浏览器数据库中的待渲染分块切片数据,并根据数据解析结果执行渲染任务。
8、可选地,根据用户视角确定当前可视区域,筛选可视区域范围内的与用户视角匹配的细节层次的分块切片数据作为待渲染分块切片数据,包括:
9、在当前帧状态且当前相机下,通过遮挡剔除算法获取要渲染在当前视椎体内的三维物体对应的第一分块切片数据;
10、从第一分块切片数据中筛选出满足预设的视距范围阈值的第二分块切片数据;
11、从第二分块切片数据中筛选出层级像素值p大于预设的过滤像素阈值的第三分块切片数据,将第三分块切片数据传输至渲染请求队列进行渲染。
12、可选地,所述从第一分块切片数据中筛选出满足预设的视距范围阈值的第二分块切片数据包括:
13、获取当前相机到图层的第一距离d1,判断所述第一距离d1是否在预设的第一视距规定范围内,第一距离d1计算公式为:
14、
15、其中,为相机位置x坐标,为相机位置y坐标,为相机位置z坐标,为图层中心点位置x坐标,为图层中心点位置y坐标,为图层中心点位置z坐标;
16、若所述第一距离d1在预设的第一视距规定范围内,获取当前相机到各个第一分块切片数据的第二距离d2,判断所述第二距离d2是否在预设的第二视距规定范围内,第一距离d1计算公式为:
17、
18、其中,为分块切片中心位置x坐标,为分块切片中心位置y坐标,为分块切片中心位置z坐标;
19、从第一分块切片数据中筛选出对应的第二距离d2在预设的第二视距规定范围内的分块切片数据作为第二分块切片数据。
20、可选地,所述从第二分块切片数据中筛选出层级像素值p大于预设的过滤像素阈值的第三分块切片数据包括:
21、在当前帧状态,当前相机下,比较每一第二分块切片数据的层级像素值p与分块切片数据对应lod层级切换参数ls,若层级像素值p小于或等于ls则判定分块切片数据的当前层级满足要求,无需请求更精细的切片数据,若层级像素值p大于ls,则获取当前分块切片数据对应的下一层级的精细分块切片数据,且计算所述精细分块切片数据的层级像素值p,直到筛选出层级像素值p小于ls的目标分块切片数据;
22、其中层级像素值p的计算公式为:
23、
24、ls =s * l
25、为相机位置x坐标,为相机位置y坐标,为相机位置z坐标,r为瓦片边界球的半径,为绘图缓冲区的高度,s为lod层级切换距离缩放系数,由切片图层初始化设置,默认为1,取值范围为[0.01,100],设置的值越小,请求的层级越精细,l为切片分块数据lod层级切换固定值,是生成切片时为各层级预设的固定值,取值随着层级精细化程度逐层级减小,参数值存储在切片数据内,越精细层级取值越小;
26、将目标分块切片数据中层级像素值p大于预设的过滤像素阈值的目标分块切片数据作为第三分块切片数据。
27、可选地,所述方法还包括:
28、对于不在当前视椎体内的三维物体对应的第一待卸载分块切片数据、第一分块切片数据中不满足预设的视距范围阈值的第二待卸载分块切片数据,以及第二分块切片数据中层级像素值p小于或等于预设的过滤像素阈值的第三待卸载分块切片数据,判断第一待卸载分块切片数据、第二待卸载分块切片数据以及第三待卸载分块切片数据是否已完成渲染加载进入loaded状态;
29、若是,则获取第一待卸载分块切片数据、第二待卸载分块切片数据以及第三待卸载分块切片数据,删除所有待卸载分块切片数据的瓦片纹理、瓦片顶点、渲染着色器以及帧缓冲区。
30、可选地,所述方法还包括:
31、预先生成图层类浏览器数据库,采用所述图层类浏览器数据库存储已下载的分块切片数据,并通过每块切片数据的索引编码进行图层类浏览器数据库存储内容的增加、删除和修改管理。
32、可选地,根据分块切片数据的索引编码从渲染请求队列查询待渲染分块切片数据,并根据查询结果更新图层类浏览器数据库,包括:
33、对于首次请求渲染的待渲染分块切片数据,向图层类浏览器数据库中写入分块切片数据的索引编码对应的数据并进行保存;
34、对于非首次请求渲染的待渲染分块切片数据,通过构建一个更新请求来查找当前待渲染分块切片数据的索引编码在图层类浏览器数据库中对应的历史数据,以对进行历史数据进行替换更新,并通过监听更新请求返回状态,确定更新的状态信息;
35、对于图层类浏览器数据库中存储的除了当前待渲染分块切片数据之外的其他分块切片数据,通过构建一个删除请求来查找除了当前待渲染分块切片数据对应索引编码之后的其他数据进行删除,并通过监听删除请求返回状态,确定删除的状态信息。
36、可选地,采用分离式协同作业模式分批并行下载图层类浏览器数据库中的待渲染分块切片数据包括:
37、主线程请求分块切片数据,异步创建下载子线程;
38、主线程启动定时任本文档来自技高网...
【技术保护点】
1.一种三维数据可视化渲染方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据用户视角确定当前可视区域,筛选可视区域范围内的与用户视角匹配的细节层次的分块切片数据作为待渲染分块切片数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述从第一分块切片数据中筛选出满足预设的视距范围阈值的第二分块切片数据包括:
4.根据权利要求3所述的方法,其特征在于,所述从第二分块切片数据中筛选出层级像素值p大于预设的过滤像素阈值的第三分块切片数据包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,根据分块切片数据的索引编码从渲染请求队列查询待渲染分块切片数据,并根据查询结果更新图层类浏览器数据库,包括:
8.根据权利要求1所述的方法,其特征在于,采用分离式协同作业模式分批并行下载图层类浏览器数据库中的待渲染分块切片数据包括:
9.根据权利要求1所述的方法
10.一种三维数据可视化渲染引擎系统,其特征在于,所述系统包括:
...【技术特征摘要】
1.一种三维数据可视化渲染方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据用户视角确定当前可视区域,筛选可视区域范围内的与用户视角匹配的细节层次的分块切片数据作为待渲染分块切片数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述从第一分块切片数据中筛选出满足预设的视距范围阈值的第二分块切片数据包括:
4.根据权利要求3所述的方法,其特征在于,所述从第二分块切片数据中筛选出层级像素值p大于预设的过滤像素阈值的第三分块切片数据包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
【专利技术属性】
技术研发人员:江谋美,于磊,宋家满,程圆圆,沈美岑,蔡红,魏永旺,张真真,王梦,金旭,
申请(专利权)人:星际空间天津科技发展有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。