[发明专利]利用纹理排料方式优化显存空间的方法有效
申请号: | 201110051328.2 | 申请日: | 2011-03-03 |
公开(公告)号: | CN102654830A | 公开(公告)日: | 2012-09-05 |
发明(设计)人: | 汤周文 | 申请(专利权)人: | 福建星网视易信息系统有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F12/02 |
代理公司: | 深圳市博锐专利事务所 44275 | 代理人: | 张明 |
地址: | 350002 福建省福州市金山*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 纹理 方式 优化 显存 空间 方法 | ||
技术领域
本发明涉及电子领域,尤其涉及一种利用纹理排料方式优化显存空间的方法。
背景技术
OpenGL(Open Graphics Library,开放的图形程序函数)是一个调用方便的底层图形库,用于二维(2D)或者三维(3D)图像。OpenGLES(OpenGL for Embedded Systems)由桌面OpenGL子集组成,是OpenGL三维图形API(Application Programming Interface,调用程序编程函数)的子集,针对手机、PDA和游戏主机等嵌入式设备而设计,它创造了软件与图形加速之间的底层交互函数。OpenGL ES等三维渲染技术广泛应用于嵌入式软件的开发过程,用于满足数字娱乐产品对绘图、动画等图形进行渲染的需求,使得数字娱乐产品具有三维展示效果和三维用户界面。
但是,利用OpenGL对图像进行三维操作需要绑定成纹理才行,OpenGL中能绑定成纹理的显存空间大小只能是2n×2m(0≤n≤10,0≤m≤10,210=1024),在实际中不可能每张图片的大小都是2n×2m的。如果不是2n×2m的大小的纹理,需要给它绑定一个长宽都不小于它的2n×2m显存空间才可以产生出可用的纹理空间,因此浪费了比较大的空间。
发明内容
本发明主要解决的技术问题是提供一种利用纹理排料方式优化显存空间的方法,提高显存空间的利用率。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种利用纹理排料方式优化显存空间的方法,将OpenGL ES中的部分三维渲染函数封装成一个图形引擎库,所述图形引擎库中的每个对象对应一个显存空间用于存储所绘制的纹理内容;获取对象纹理空间的步骤包括:
a.申请符合绑定成纹理的大小的显存空间并绑定成纹理;
b.根据对象的大小从已经绑定成纹理的显存空间中获取一个矩形区域,所述矩形区域不能和已经被别的对象占用的区域重叠;
c.每个对象对应一个显存空间内的一个矩形区域用于存储所绘制的纹理内容。
其中,删除对象纹理空间的步骤包括:
a.获取一个临时的显存空间;
b.将需要删除的对象所在的显存空间中的内容全部拷贝到临时显存空间内;
c.把在这个显存空间上的其他对象根据它们的大小重排所属的矩形区域;
d.排列完成后从临时显存空间中把属于各个对象的纹理内容拷贝回去。
其中,所述的每个对象对应的一个显存空间的大小为1024×1024。
其中,在获取一个大小是w×h(0≤w≤1024,0≤h≤1024)的对象所用的矩形区域时,可以把它模型化成是一个w×h的矩形零件;所述显存空间内的矩形区域的排列遵循最低水平线法。
其中,所述的最低水平线法包括以下步骤:
(1)每当要排入一个矩形件时,如果长或者宽大于1024转(8),否则选序号为index=0的纹理空间板块;
(2)在序号为index的纹理空间板块的最高轮廓线上选取最低的一段水平线,如果有若干段,则选取最左边的那段;
(3)如果纹理空间板块的高度小于轮廓线的高度加矩形零件的高度则转(5),否则,将该矩形件在此位置排放;如果该段线的宽度大于要排入矩形件的宽度,更新最高轮廓线,转(7);否则转(4);
(4)查询与最低水平线段相邻的左、右几段水平线,将最低水平线提升至与之相邻且高度较低的一段平齐,同时更新最高轮廓线,转(7);
(5)该纹理板块中找不到可以排矩形区域,index加1,如果存在序号为index的纹理空间板块则转(2),否则转(6);
(6)申请一个1024×1024的显存空间并绑定成纹理,板块的序号为index,如果申请失败转(8),否则转(2);
(7)得到一个矩形区域,结束;
(8)得到矩形区域失败,结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建星网视易信息系统有限公司,未经福建星网视易信息系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110051328.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:脉冲宽度调制的电池充电
- 下一篇:一种中高压固态软起动器的故障控制电路