[发明专利]一种基于GPU的高效2D矢量图形渲染方法有效
申请号: | 201611237753.X | 申请日: | 2016-12-28 |
公开(公告)号: | CN106709863B | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 张金矿;熊永春 | 申请(专利权)人: | 杭州趣维科技有限公司 |
主分类号: | G06T1/20 | 分类号: | G06T1/20 |
代理公司: | 杭州天昊专利代理事务所(特殊普通合伙) 33283 | 代理人: | 董世博 |
地址: | 310013 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpu 高效 矢量 图形 渲染 方法 | ||
1.一种基于 GPU 的高效 2D 矢量图形渲染方法,其特征在于,具体包括如下步骤:
101)数据预处理步骤:加载图形文件,并解析转换成矢量基本图元构成的 2D 矢量形状;
102)图形去复合层级变换步骤:经步骤 101)处理的图形建立 3D 空间变换矩阵,判断所述图形是否存在父子层级关系,如果有则进行递归叠加变换矩阵,以应用复合空间变换;
103)三角形网格数据步骤:经步骤 102)处理后的图形,由 GPU 即图像处理器按照矢量图形构成类型和剪裁形状生成对应的三角形网格数据;
104)添加渲染效果步骤:根据步骤 103)生成的三角形网格数据和矢量形状的绘制样式,填充模板缓存,确定矢量图形的填充或描绘区域,由 GPU 根据指定的形状着色特效渲染三角形网格数据,并将渲染后的矢量图形呈现给用户,或者将结果作为其他模型的贴图,在 GPU流水线中进一步处理;
基于 GPU 的高效 2D 矢量图形渲染方法, 在Windows 系统中使用 Direct3D, 在Android 系统中使用 OpenGL ES/Vulkan,在iOS 系统中则使用 OpenGL ES/Metal;
所述 101)数据预处理步骤包括动画图形处理, 所述动画图形处理具体步骤如下:
设置渲染的当前时刻为 t,动画参数包含 N 个时间关键点为T1, …, Tn,动画的总时间为 T,动画时间映射方式为 m,动画插值系数为 c;
当 m 是单向单次模式时,若 t T,则 t = T,反之,则 t 保持不变;当 m 是单向循环模式时,若 t T,则 t 以 T 为单位取余数,反之,则 t 保持不变;当 m 是双向循环模式时,对 t 以 2T 为单位取余数,若 t T,则 t 保持不变,反之,则 t = 2T – t;由此得出当前时刻 t 映射到动画整体时间范围内;
在 N 个动画时间参数中设置相邻的两个时间关键点为 Tp 和 Tq,满足 Tp t Tq;得到插值系数 c,公式如下:
c = (t – Tp) / (Tq – Tp) 公式(1)
设置拷贝数量 CN 的关键帧数列为 CN1, CN2,…CNn,缩放 CS 的关键帧数列为 CS1,CS2, …, CSn,位置 CP 的关键帧数列为 CP1,CP2, …, CPn,旋转 CR 的关键帧数列为CR1, CR2, …, CRn,中心CC 的关键帧数列为 CC1, CC2, …, CCn,透明度 CA 的关键帧数列为CA1, CA2, …, CAn;图形拷贝动画参数 CN、 CP、 CR、 CC、 CA 分别对应的关键帧为 CNp 和 CNq, CPp 和 CPq, CRp 和 CRq, CCp 和 CCq, CAp和 CAq;得到 CNt、 CPt、CRt、 CCt 和 CAt,公式如下:
CNt = CNp + (CNq – CNp) * c 公式(2)
CPt = CPp + (CPq – CPp) * c 公式(3)
CRt = CRp + (CRq – CRp) * c 公式(4)
CCt = CCp + (CCq – CCp) * c 公式(5)
CAt = CAp + (CAq – CAp) * c 公式(6)
剪裁起点 TS 的关键帧数列为 TS1, TS2, …, TSn,剪裁终点TE 的关键帧数列为TE1, TE2, …, TEn,剪裁偏移 TO1, TO2, …,TOn; 根据动画插值系数计算过程中确定的Tp 和 Tq 找到剪裁动画参数 TS、 TE 和 TO 分别对应的关键帧 TSp 和 TSq、 TEp 和TEq、 TOp 和TOq,得到当前时刻 t 的剪裁路径参数;
当前时刻 t 剪裁路径的动画参数 TS、 TE 和 TO 分别为 TSt、 TEt和 TOt,公式如下:
TSt = TSp + (TSq – TSp) * c 公式(7)
TEt = TEp + (TEq – TEp) * c 公式(8)
TOt = TOp + (TOq – TOp) * c 公式(9)
以所有属于[TSt + TOt、 TEt + TOt]范围内的路径片段构造形状路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣维科技有限公司,未经杭州趣维科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611237753.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:移动自组织网络分簇方法
- 下一篇:多模态探测系统的坐标配准模体