[发明专利]一种基于WebGL的图形渲染方法、装置及系统在审
申请号: | 202110896610.4 | 申请日: | 2021-08-05 |
公开(公告)号: | CN113570733A | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 潘晨;郑泽 | 申请(专利权)人: | 稿定(厦门)科技有限公司 |
主分类号: | G06T19/20 | 分类号: | G06T19/20;G06F9/448 |
代理公司: | 北京睿康信诚知识产权代理事务所(普通合伙) 11685 | 代理人: | 李建国 |
地址: | 361006 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 webgl 图形 渲染 方法 装置 系统 | ||
本申请涉及一种基于WebGL的图形渲染方法、装置及系统。所述方法包括:获取初始渲染信息;将所述初始渲染信息按照预设图层封装格式进行转换,获得图层渲染数据;将所述图层渲染数据映射为WebGL数据格式,获得WebGL渲染数据;调用WebGL接口并依据所述WebGL渲染数据进行渲染输出。本申请通过将采用WebGL绘制的元素封装成图层,并以预设图层封装格式的形式获取图层渲染数据,继而将图层渲染数据映射为WebGL数据格式,从而将底层绘图能力开放给web应用层。
技术领域
本申请一般地涉及计算机技术领域。更具体地,本申请涉及一种基于WebGL的图形渲染方法、装置及系统。
背景技术
WebGL是一种将Javasrcipt和OpenGL结合在一起的绘图技术标准,目的是将底层绘图能力开放给web应用层,这一标准在浏览器平台上得到了广泛的支持。
但是WebGL的实现是一个状态机,通过其绘图需要维护顶点坐标、纹理坐标等各种繁杂的状态,稍有不慎就会导致渲染结果出错,这使在其上构建较为复杂的渲染系统变得困难。
基于以上技术问题,特提出本申请。
发明内容
为了至少部分地解决背景技术中提到的技术问题,本申请的方案提供了一种基于WebGL的图形渲染方法、装置及系统。
根据本申请的第一方面,本申请提供了一种基于WebGL的图形渲染方法,其中,所述方法包括:获取初始渲染信息;将所述初始渲染信息按照预设图层封装格式进行转换,获得图层渲染数据;将所述图层渲染数据映射为WebGL数据格式,获得WebGL渲染数据;调用WebGL接口并依据所述WebGL渲染数据进行渲染输出。本申请通过将采用WebGL绘制的元素封装成图层,并以预设图层封装格式的形式获取图层渲染数据,继而将图层渲染数据映射为WebGL数据格式,从而将底层绘图能力开放给web应用层,其中,预设图层封装格式可通过接口的形式对web应用层提供。
可选的,所述初始渲染信息包括待渲染元素数据和欲对待渲染元素进行的线性变换指令。
可选的,所述预设图层封装格式包括预设数据源格式和预设矩阵格式;所述图层渲染数据包括所述待渲染元素的像素数据和所述待渲染元素的变换矩阵数据;所述将所述初始渲染信息按照预设图层封装格式进行转换,获得图层渲染数据包括:将所述待渲染元素数据按照所述预设数据源格式进行转换,获得所述像素数据;将所述线性变换指令按照所述预设矩阵格式进行转换,获得所述变换矩阵数据。
可选的,所述将所述待渲染元素数据按照所述预设数据源格式进行转换,获得所述像素数据包括:将所述待渲染元素数据通过纹理像素设置的方式和/或直接设置帧缓存的方式进项转换,获得所述像素数据。
可选的,所述将所述图层渲染数据映射为WebGL数据格式,获得WebGL渲染数据包括:将所述像素数据映射为WebGL纹理;将所述变换矩阵数据映射为WebGL着色器中属性。
可选的,所述初始渲染信息包括全局属性数据,所述方法还包括:在所述将所述初始渲染信息按照预设图层封装格式进行转换,获得图层渲染数据之前,根据所述全局属性数据设置WebGL上下文。其中,WebGL上下文包括画布宽高等涉及全局属性的相关数据。
根据本申请的第二方面,本申请提供了一种基于WebGL的图形渲染方法,其中,所述方法包括:采用上述基于WebGL的图形渲染方法获得第一渲染元素;判断是否保留所述第一渲染元素,若否,则回收所述第一渲染元素;判断是否存在新增初始渲染信息,若是,则采用上述基于WebGL的图形渲染方法获得第二渲染元素。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于稿定(厦门)科技有限公司,未经稿定(厦门)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110896610.4/2.html,转载请声明来源钻瓜专利网。