[发明专利]基于WebGL的大规模场景渲染方法有效
| 申请号: | 202010220382.4 | 申请日: | 2020-03-25 |
| 公开(公告)号: | CN111415401B | 公开(公告)日: | 2023-05-30 |
| 发明(设计)人: | 黄敏;汪洋;张志远;杨磊;沈国红;林家祥;段创峰;胡海斌;滕丽;刘学 | 申请(专利权)人: | 上海城建信息科技有限公司;上海隧道工程股份有限公司 |
| 主分类号: | G06T15/00 | 分类号: | G06T15/00;G06T15/40;G06T17/00;G06F9/50;G06F16/2455;G06F16/957;G06F12/123;H04L67/06 |
| 代理公司: | 上海唯源专利代理有限公司 31229 | 代理人: | 季辰玲 |
| 地址: | 200120 上海市浦东新区中国*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 webgl 大规模 场景 渲染 方法 | ||
1.一种基于WebGL的大规模场景渲染方法,其特征在于,包括以下步骤:
使用IndexDB缓存下载的模型数据,建立索引清单,所述模型数据具有模型唯一对应的特征id;
进行模型渲染,获取需要渲染模型的模型数据,首先根据所述特征id在所述IndexDB缓存中进行检索,若检索到存在所述特征id,则直接返回对应的模型数据,若未检索到,则从网络下载所述模型的模型数据;
基于TreeGrid的空间划分算法,将模型数据划分入对应的空间节点中,使用对应显示的空间节点进行显示;
基于HLOD的模型精度调度算法,计算模型的距离,使用相应精度的模型数据对基于TreeGrid显示的模型数据进行渲染;
基于WebGL技术的遮蔽剔除算法,对不可见模型部分的模型数据进行剔除;
对经所述TreeGrid、HLOD及遮蔽剔除数据处理后的模型数据进行渲染。
2.如权利要求1所述的基于WebGL的大规模场景渲染方法,其特征在于,还包括步骤:利用BatchDownload进行批量下载模型数据,制定打包协议,将需要渲染的多个模型数据进行打包压缩下载。
3.如权利要求2所述的基于WebGL的大规模场景渲染方法,其特征在于,所述打包协议使用4个字节划分打包的模型数据,字节的值代表下一个模型数据的字节长度。
4.如权利要求3所述的基于WebGL的大规模场景渲染方法,其特征在于,所述数据包采用GZIP压缩。
5.如权利要求4所述的基于WebGL的大规模场景渲染方法,其特征在于,使用Worker技术的多线程处理进行所述数据包的拆解。
6.如权利要求1所述的基于WebGL的大规模场景渲染方法,其特征在于,所述模型数据包括模型的所述特征id和对应的二进制数据,将所述特征id和所述二进制数据成对存储到所述IndexDB的索引清单中。
7.如权利要求1所述的基于WebGL的大规模场景渲染方法,其特征在于,基于所述TreeGrid的数据处理包括:根据模型的三维空间位置,进行空间节点的创建与分配,以树形算法空间划分处理所述模型数据,在三维图形中以相机的位置与视角计算需要进行渲染的空间节点。
8.如权利要求1所述的基于WebGL的大规模场景渲染方法,其特征在于,在基于HLOD的模型精度调度算法中,在所述TreeGrid中划分的空间节点上,以所述空间节点为单位计算距离,设置所述空间节点内使用的模型精度级别,使用精度级别较低的模型数据进行渲染。
9.如权利要求1所述的基于WebGL的大规模场景渲染方法,其特征在于,还包括步骤:对所述TreeGrid、HLOG及遮蔽剔除数据处理中一段时间不使用的模型数据进行回收处理,释放内存。
10.如权利要求9所述的基于WebGL的大规模场景渲染方法,其特征在于,在所述释放内存的步骤中,使用LRU算法,设置模型数据年龄,将所述TreeGrid、HLOG及遮蔽剔除数据处理中一段时间没有使用到的模型数据进行标记清除操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海城建信息科技有限公司;上海隧道工程股份有限公司,未经上海城建信息科技有限公司;上海隧道工程股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010220382.4/1.html,转载请声明来源钻瓜专利网。





