[发明专利]渲染方法、渲染装置和渲染引擎有效
申请号: | 201910004988.1 | 申请日: | 2019-01-03 |
公开(公告)号: | CN111402349B | 公开(公告)日: | 2023-09-08 |
发明(设计)人: | 郑宇琦 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06T11/00 | 分类号: | G06T11/00;G06T15/04;G06T1/20 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 单冠飞 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 渲染 方法 装置 引擎 | ||
本发明实施例提出一种渲染方法、渲染装置和渲染引擎。其中该方法包括:控制各画布对象监听渲染驱动通知;控制监听到所述渲染驱动通知的各画布对象依次触发渲染事件;获取已触发渲染事件的画布对象自身的各待渲染效果;按照各所述待渲染效果对所述已触发渲染事件的画布对象内的待渲染图形进行渲染。本发明实施例通过渲染驱动通知来驱动各画布对象的渲染过程,控制监听到渲染驱动通知的各画布对象依次触发渲染事件,能够实现多实例渲染,提高了渲染的速度和效率。
技术领域
本发明涉及图像处理技术领域,尤其涉及一种渲染方法、渲染装置和渲染引擎。
背景技术
随着Feed流(feed flow,信息流)广告创新的需要,越来越多包含特效、可动元素的创意被提出。实现这些特效往往难度极大,需要数学、图形学的知识作为支撑。
在Feed流中实现图形学特效的方案有:使用苹果UIKit(User Interface Kit,用户界面工具)、CoreGraphics(核心图形)等原生框架提供的少量特效接口,接入成熟的第三方游戏引擎。苹果提供的接口能够满足部分特效的需求,但对于高级创意如着色器特效无法实现,局限性大且性能不可控。成熟的第三方游戏引擎往往体积庞大,且无法支持多实例渲染。在Feed流中只能支持一个实例动,并不能实现多个实例同时动。
综上,目前的渲染引擎存在架构不兼容、体积庞大或是无法多实例化渲染等问题。
发明内容
本发明实施例提供一种渲染方法、渲染装置和渲染引擎,以解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种渲染方法,包括:
控制各画布对象监听渲染驱动通知;
控制监听到所述渲染驱动通知的各画布对象依次触发渲染事件;
获取已触发渲染事件的画布对象自身的各待渲染效果;
按照各所述待渲染效果对所述已触发渲染事件的画布对象内的待渲染图形进行渲染。
在一种实施方式中,控制各画布对象监听渲染驱动通知,包括:控制多个画布对象同时监听核心控制器抛出的渲染驱动通知,其中,所述核心控制器在接收到系统屏幕刷新通知类的渲染驱动事件后抛出所述渲染驱动通知;
控制监听到所述渲染驱动通知的各画布对象依次触发渲染事件,包括:控制监听到渲染驱动通知的多个画布对象,按照各画布对象的创建顺序依次触发渲染事件,其中,触发渲染事件的顺序包括:在当前画布对象触发渲染事件并完成渲染后,下一画布对象触发渲染事件。
在一种实施方式中,获取已触发渲染事件的画布对象自身的各待渲染效果,包括:
遍历所述已触发渲染事件的画布对象自身的效果列表,获取至少一个待渲染效果。
在一种实施方式中,按照各所述待渲染效果对所述已触发渲染事件的画布对象内的待渲染图形进行渲染,包括:
触发所述待渲染效果的计算事件,以计算所述待渲染效果的效果参数;
利用所述待渲染效果的效果参数判断所述待渲染效果是否需要重绘;
如果所述待渲染效果需要重绘,则触发准备渲染事件,以处理GPU资源;
在处理GPU资源之后,触发图形渲染事件,以生成渲染上下文;
将所述渲染上下文传递给所述待渲染效果的渲染对象,以调用渲染应用程序编程接口的渲染命令,所述渲染命令用于对所述待渲染图形进行渲染。
在一种实施方式中,处理GPU资源,包括:
生成GPU缓冲区和/或生成纹理资源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910004988.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种压力检测与显示报警芯片及系统
- 下一篇:一种扰动源多维空间定位系统和方法