预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN115631262A(43)申请公布日2023.01.20(21)申请号202211319499.3G06F40/109(2020.01)(22)申请日2022.10.26(71)申请人中国航空工业集团公司西安航空计算技术研究所地址710065陕西省西安市高新区锦业二路15号(72)发明人张亚平文圣丰于翔吴楠柴睿鸽王璇刘书羽(74)专利代理机构北京清大紫荆知识产权代理有限公司11718专利代理师周晓飞(51)Int.Cl.G06T11/60(2006.01)G06T11/00(2006.01)G06F40/126(2020.01)权利要求书2页说明书5页附图3页(54)发明名称一种基于FreeType的双缓存文字统一快速渲染方法(57)摘要本发明提供了一种基于FreeType的双缓存文字统一快速渲染方法,包括:在程序初始化时设置大纹理存储区、纹理更新缓存区和位图数据缓存区,使用大纹理存储区保存已绘制的字符纹理,纹理更新缓存区存储已绘制文字的字符编码,位图数据缓存区存储位图数据对象;基于FreeType生成位图数据,然后利用OpenGL函数转换为字符纹理,根据待绘制文字的字符编码索引到位图数据缓存区中的位图数据对象,确定该文字是否被绘制过,当文字再次绘制时,取出大纹理中该文字的字符纹理或者取出该文字的位图数据,使用OpenGL函数进行纹理贴图完成文字的渲染。本发明减少了文字的渲染过程和避免了字符纹理实时纹理贴图时过多的OpenGL状态频繁的改变,从而提高文字快速渲染能力。CN115631262ACN115631262A权利要求书1/2页1.一种基于FreeType的双缓存文字统一快速渲染方法,其特征在于,包括:在程序初始化时设置大纹理存储区、纹理更新缓存区和位图数据缓存区;所述大纹理存储区用于存储已绘制文字的字符纹理,所述纹理更新缓存区用于存储已绘制文字的字符编码,所述位图数据缓存区用于存储与所述字符编码对应的位图数据对象;根据待绘制文字的字符编码和设定的字体大小,采用FreeType生成对应的位图数据,使用OpenGL函数将该位图数据转换为字符纹理;将该字符纹理存储在所述大纹理存储区,将待绘制文字的字符编码存储在所述纹理更新缓存区,将位图数据存储在所述位图数据缓存区中对应的位图数据对象里;根据文字是否被绘制过和该文字的字符纹理是否在所述大纹理存储区中,设置位图数据对象的状态值,若该文字没有被绘制过,则状态值为初始值0;若该文字被绘制过且字符纹理在所述大纹理存储区中,则状态值设置为1;若该文字被绘制过但字符纹理在所述大纹理存储区中被剔除,则状态值设置为2;根据待绘制文字的字符编码索引到所述位图数据缓存区中的位图数据对象,获得位图数据、状态值、在大纹理存储区中的位置信息;状态值为1时,可根据位置信息直接获得字符纹理,并在所述纹理更新缓存区找到对应的字符编码,将该字符编码更新至该纹理更新缓存区的第一位;状态值为0时,使用FreeType获得文字的位图数据,再使用OpenGL将位图数据生成字符纹理;状态值为2时,取出位图数据对象中的位图数据,使用OpenGL将位图数据生成字符纹理;使用OpenGL函数对字符纹理进行纹理贴图完成文字的渲染。2.根据权利要求1所述的双缓存文字统一快速渲染方法,其特征在于,所述大纹理存储区和所述纹理更新缓存区的存储量相等,所述大纹理存储区存储的字符纹理与所述纹理更新缓存区存储的字符编码一一对应。3.根据权利要求1所述的双缓存文字统一快速渲染方法,其特征在于,还包括:当状态值为0或2时,依据所述大纹理存储区的空间状态更新所述位图数据缓存区和所述纹理更新缓存区,具体包括:所述大纹理存储区的空间状态未满时,将生成的字符纹理存储在所述大纹理存储区中,根据存储的位置信息更新文字对应的位图数据对象的位置属性并将其状态值设置为1,将对应的字符编码置于所述纹理更新缓存区的第一位;所述大纹理存储区的空间状态满时,首先将所述纹理更新缓存区的最后一个字符编码取出,并根据该字符编码索引到所述位图数据缓存区中的对应位图数据对象,设置其状态值为2,然后根据位图数据对象的位置属性找到所述大纹理存储区中该字符纹理的位置信息,将其在所述大纹理存储区中替换成新生成的字符纹理,然后根据位置信息设置新绘制文字对应的位图数据对象的位置属性,并将其状态值设置为1,最后将新绘制文字的字符编码置于所述纹理更新缓存区的第一位。4.根据权利要求1所述的双缓存文字统一快速渲染方法,其特征在于,还包括:状态值设置为0时,该文字的位图数据对象中的位图数据和位置信息无效;状态值设置为1时,该文字的位图数据对象中的位图数据和位置信息有效;2CN115631262A权利要求书2/2页状态值设置为2时,该文字