[发明专利]一种基于WebGL可编辑大场景渐进式实时渲染方法有效
申请号: | 202010141839.2 | 申请日: | 2020-03-04 |
公开(公告)号: | CN111369656B | 公开(公告)日: | 2021-08-27 |
发明(设计)人: | 郁明;李浪;马轲 | 申请(专利权)人: | 杭州群核信息技术有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00 |
代理公司: | 杭州九洲专利事务所有限公司 33101 | 代理人: | 陈继亮 |
地址: | 310019 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 webgl 编辑 场景 渐进 实时 渲染 方法 | ||
1.一种基于WebGL可编辑大场景渐进式实时渲染方法,其特征在于,所述方法包括:
步骤1:基于BVH空间结构的层级空间关系管理,包括以下步骤:
A.平衡BVH,采用平均分配子节点的方式构建BVH;
B.基于WebWorker的BVH生成,采用的WebWorker技术,将BVH空间结构的生成逻辑迁移到Worker中去执行;
C.检查Worker是否为完成状态;若为完成状态,则取出Worker生成的BVH结果并执行步骤D;反之,直接执行步骤D;
D.判断场景是否发生变化;若发生变化,则执行步骤E;反之,则进入步骤2;
E.判断当前Worker是否正在构建BVH;若正在构建,则进入步骤2;反之,则执行步骤F;
F.收集场景信息,请求Worker生成BVH,并进入步骤2;
步骤2:渐进式场景绘制,包括以下步骤:
a.用户场景描述层面,整理出每一份完成webgldrawcall所需渲染信息的数据组合,即渲染描述;
b.维护一份线性的关于渲染描述的中间数据结构,提升用户的非线性场景描述到线性渲染数据的转化性能;
c.使用步骤1中生成的BVH信息,以BVH的一种剔除策略,从步骤b的中间数据结构中获得一定数量按该剔除策略排序的渲染描述存在渲染队列中;
d.对于渲染队列中的物体,计算更多的额外信息,进行额外的优化排序;
e.渲染处于渲染队列中的物体;
f.检查帧耗时预算是否超标,若没有则重复步骤c;
g.在下一帧时,若BVH中的物体没有获取完成所有的物体,或者场景没有任何可观测变化,或者相机没有变化;则会从步骤c开始继续进行下一帧绘制;否则,下一帧,完成相应的场景更新,并重置BVH的当前获取位置,并从步骤a开始继续执行此流程。
2.根据权利要求1所述的基于WebGL可编辑大场景渐进式实时渲染方法,其特征在于:所述步骤2中步骤a所述的数据组合包括完成这个drawcall,所需的shader,uniform,attributebuffer,以及必要的状态设置。
3.根据权利要求1所述的基于WebGL可编辑大场景渐进式实时渲染方法,其特征在于:所述步骤2中步骤c中使用优化的层次视锥剔除策略。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州群核信息技术有限公司,未经杭州群核信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010141839.2/1.html,转载请声明来源钻瓜专利网。