[发明专利]一种基于GPU的用于边缘计算场景的点九图片贴图绘制方法在审
申请号: | 201911360284.4 | 申请日: | 2019-12-25 |
公开(公告)号: | CN111145286A | 公开(公告)日: | 2020-05-12 |
发明(设计)人: | 李强;李利民;罗代忠;黄羿;严海升 | 申请(专利权)人: | 重庆文理学院 |
主分类号: | G06T11/00 | 分类号: | G06T11/00;G06T7/11;G06T7/90 |
代理公司: | 北京和联顺知识产权代理有限公司 11621 | 代理人: | 徐冬冬 |
地址: | 402160 *** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpu 用于 边缘 计算 场景 图片 贴图 绘制 方法 | ||
本发明涉及图像处理技术领域,具体涉及一种基于GPU的用于边缘计算场景的点九图片贴图绘制方法,包括以下步骤:对图片进行顶点着色器采样,判断图片是否为矩形,若为矩形,则直接进入下一步骤,若不为矩形,则进行四个角区域的区分,区分完成后判断边界是否明确,若明确则进入下一步骤,若不明确则先在中间留一个像素,其余为边界范围,再进入下一步骤;随后进行片元着色器差分采样,然后绘制到缓冲区,最后显示到屏幕;本发明提出的对点九图片进行切分方法进行OpenGL纹理贴图,实现了点九图片一张图片满足所有尺寸的设计意义,减少了资源占用,简化了操作,保证了显示效果。
技术领域
本发明涉及图像处理技术领域,具体涉及一种基于GPU的用于边缘计算场景的点九图片贴图绘制方法。
背景技术
点九图片是Android平台特有支持的图片格式,可以实现横向纵向拉伸,以满足不同尺寸控件和不同屏幕分辨率上显示而不会损失精细度和质感的需求,这样只需要采用一套界面切图去适配不同的分辨率,而且大幅减少安装包的大小。而且这样程序不需要专门做处理的就可以实现其拉伸,也减少了代码量和开发工作量。但是点九图片目前是Android系统内部支持的,如果采用OpenGl实现的GPU绘图直接使用点九图片进行纹理贴图会在不同尺寸图形或者分辨率下显示失真,效果很差,如图1所示。
现有技术中采用的方法是统计所需图片的各个分辨率下显示的尺寸,然后根据统计尺寸,分别制作不同大小图片,使得在不同分辨率下,动态替换所需尺寸图片。但是未能实现点九图片一张图片满足所有尺寸的设计意义,只是实现了显示的效果,并且操作复杂,使得资源占用增大,未体现点九图片的优越性。
基于此,本发明设计了一种基于GPU的用于边缘计算场景的点九图片贴图绘制方法,以解决上述问题。
发明内容
本发明的目的在于提供一种基于GPU的用于边缘计算场景的点九图片贴图绘制方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于GPU的用于边缘计算场景的点九图片贴图绘制方法,其特征在于,包括以下步骤:
S1:对图片进行顶点着色器采样;
S2:判断图片是否为矩形,若为矩形,则直接进入下一步骤;若不为矩形,则进行四个角区域的区分,区分完成后判断边界是否明确,若明确则进入下一步骤,若不明确则先在中间留一个像素,其余为边界范围,再进入下一步骤;
S3:进行片元着色器差分采样;
S4:绘制到缓冲区;
S5:显示到屏幕。
优选的,片元着色器差分采样的具体方法为:首先把点九图片分割为3行3列的9个子块,其中四个角的子块宽高和大小是相同的,其他子块的宽高可随意设定;再进行平铺填充,此时保持四个角落的子块不变,其他子块依次按平铺规则填充纹理贴图区域;然后修改OpenGL采样器的采样插值参数,通过修改后的采样插值参数纹理映射到实际需要贴图的图形上。
优选的,修改的采样插值参数的具体方法为:四个角的区域纹理坐标要扩大图形和图片比值的倍数,使得图形四个角的纹理坐标是在没有缩放变形的点九图片四个角区域采样,其他区域对应原区域进行平铺采样,可以通过多种映射函数实现。
优选的,在扩大图形和图片比值的倍数时,横坐标和纵坐标要映射到-1和1之间,因为纹理坐标的横坐标和纵坐标范围在[0,1]之间。
优选的,对点九图片进行分割时的特殊情况为中间一行为一个像素高,中间的一列为一个像素高,中间的子块为一个像素,此时平铺填充和拉伸填充的效果是一样的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆文理学院,未经重庆文理学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911360284.4/2.html,转载请声明来源钻瓜专利网。