【技术实现步骤摘要】
一种3D文字绘制方法、系统、可读存储介质及设备
本专利技术涉及文字显示
,特别是涉及一种3D文字绘制方法、系统、可读存储介质及设备。
技术介绍
文字显示在许多图形显示的相关领域都有需求,如显示控制、游戏动画等,关键文字的及时显示,是图形显示系统的基本要求。在图形显示系统中需要进行2D文字绘制和3D文字绘制。其中,3D文字的绘制多采用开放式图形库(OpenGL)实现,而由于OpenGL规范里并没有涉及到文字绘制,所以并没有标准的具有指导性的的基于OpenGL的3D文字绘制接口,3D文字绘制通常基于OpenGL提供的其他图形绘制接口间接实现3D文字绘制。现有的3D文字绘制方法中,把文字属性与OpenGL联系的过于紧密,并没有单独把字体的通用属性计算和绘制属性管理从调用过程中分离,所以很难处理复杂的情况,比如说海量字体库的管理,字体大小的动态变化等,处理时易导致CPU产生巨大的负荷,效率低下。
技术实现思路
本专利技术的一个目的在于提出一种通用属性计算和绘制属性管理从调用过程中分离的3D文字绘制方法。一种3D文字绘制方法,包括以下步骤:获取文字信息和对应的绘制属性信息,将所述文字信息和所述绘制属性信息存入预设的文字储存空间;获取所述文字储存空间的更新标志位,判断所述更新标志位是否置位;若否,则获取所述绘制属性信息中的绘制坐标和字体大小,根据所述绘制坐标和字体大小计算出文字的顶点坐标;通过预设的纹理存储空间中获取所述文字信息对应的纹理信息;r>将所述文字信息、绘制属性信息、顶点坐标和纹理信息存入所述文字储存空间,并根据所述文字信息、绘制属性信息、顶点坐标和纹理信息发出绘制请求,执行绘制。本专利技术的有益效果是:将文字绘制过程分离成顶点计算、文字属性管理和纹理管理,充分利用缓存原理,降低了CPU负载,提升绘制效率,减少CPU端与GPU端通信,不打断GPU渲染流水线,提供高效的GPU算法。另外,根据本专利技术提供的3D文字绘制方法,还可以具有如下附加的技术特征:进一步地,所述若否,则获取所述绘制属性信息中的绘制坐标和字体大小,根据所述绘制坐标和字体大小计算出文字的顶点坐标的步骤之后还包括:若是,则获取所述文字信息的字符编码、所述绘制属性信息的字体大小和绘制坐标,并根据所述字符编码、所述字体大小和所述绘制坐标计算出所述顶点坐标。进一步地,所述通过预设的纹理存储空间中获取所述文字信息对应的纹理信息的步骤包括:根据所述文字信息在所述纹理储存空间中检索对应的所述纹理信息,判断是否成功检索到所述纹理信息;若是,则输出所述纹理信息。进一步地,所述通过预设的纹理存储空间中获取所述文字信息对应的纹理信息的步骤还包括:若否,则根据所述文字信息的字符编码和所述绘制信息的字体类别生成所述纹理信息,输出所述纹理信息并将其存入所述纹理存储空间中。进一步地,所述根据所述绘制坐标和字体大小计算出文字的顶点坐标的步骤包括:获取所述文字信息,根据所述绘制坐标和所述字体大小计算相对偏移量;根据所述相对偏移量和文字的排版信息计算出所述顶点坐标。进一步地,所述纹理储存空间设置在显存上。进一步地,所述纹理储存空间所储存的内容所述文字信息和所述纹理信息之间的映射关系信息。本专利技术的另一个目的在于提出一种3D文字绘制系统,包括:信息获取模块,用于获取文字信息和对应的绘制属性信息,将所述文字信息和所述绘制属性信息存入预设的文字储存空间;判断模块,用于获取所述文字储存空间的更新标志位,判断所述更新标志位是否置位;执行模块,获取文字信息、文字大小和字体,根据所述文字信息、文字大小和字体计算出文字的顶点坐标,获得字形,保存所述字形至所述文字储存空间,并获取纹理坐标;检索模块,用于通过预设的文字储存空间中获取所述文字信息对应的文字信息、绘制属性信息、顶点坐标和纹理信息;绘制模块,用于将所述文字信息、绘制属性信息、顶点坐标和纹理信息存入所述文字储存空间,并根据所述文字信息、绘制属性信息、顶点坐标和纹理信息发出绘制请求,执行绘制。本专利技术还提供一种可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述的方法。本专利技术还提供一种设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法。本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1是本专利技术第一实施例的3D文字绘制方法的结构框图;图2是本专利技术第一实施例的3D文字绘制方法的流程示意图;图3是本专利技术第一实施例的获取纹理信息的流程示意图;图4是本专利技术第一实施例的纹理渲染的流程示意图;图5是本专利技术第一实施例的相关数据流走向示意图;图6是本专利技术第一实施例的着色器的处理流程示意图;图7是本专利技术第二实施例的3D文字绘制系统的结构框图。具体实施方式为使本专利技术的目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术的具体实施方式做详细的说明。附图中给出了本专利技术的若干实施例。但是,本专利技术可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本专利技术的公开内容更加透彻全面。需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”、“上”、“下”以及类似的表述只是为了说明的目的,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。在本专利技术中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。请参阅图1和图2,本专利技术的第一实施例提出一种3D文字绘制方法,包括以下步骤。S1.获取文字信息和对应的绘制属性信息,将所述文字信息和所述绘制属性信息存入预设的文字储存空间。需要说明的是,在绘制之前都需要输入绘制的要求,该绘制要求即为文字信息和绘制属性信息,其中文字信息为具体为哪个字,绘制属性信息则包括字体类型、字体大小、绘制颜色和绘制坐标。在本实施例中,文字储存空间为设置在计算机本文档来自技高网...
【技术保护点】
1.一种3D文字绘制方法,其特征在于,包括以下步骤:/n获取文字信息和对应的绘制属性信息,将所述文字信息和所述绘制属性信息存入预设的文字储存空间;/n获取所述文字储存空间的更新标志位,判断所述更新标志位是否置位;/n若否,则获取所述绘制属性信息中的绘制坐标和字体大小,根据所述绘制坐标和字体大小计算出文字的顶点坐标;/n通过预设的纹理存储空间中获取所述文字信息对应的纹理信息;/n将所述文字信息、绘制属性信息、顶点坐标和纹理信息存入所述文字储存空间,并根据所述文字信息、绘制属性信息、顶点坐标和纹理信息发出绘制请求,执行绘制。/n
【技术特征摘要】
1.一种3D文字绘制方法,其特征在于,包括以下步骤:
获取文字信息和对应的绘制属性信息,将所述文字信息和所述绘制属性信息存入预设的文字储存空间;
获取所述文字储存空间的更新标志位,判断所述更新标志位是否置位;
若否,则获取所述绘制属性信息中的绘制坐标和字体大小,根据所述绘制坐标和字体大小计算出文字的顶点坐标;
通过预设的纹理存储空间中获取所述文字信息对应的纹理信息;
将所述文字信息、绘制属性信息、顶点坐标和纹理信息存入所述文字储存空间,并根据所述文字信息、绘制属性信息、顶点坐标和纹理信息发出绘制请求,执行绘制。
2.根据权利要求1所述的3D文字绘制方法,其特征在于,所述若否,则获取所述绘制属性信息中的绘制坐标和字体大小,根据所述绘制坐标和字体大小计算出文字的顶点坐标的步骤之后还包括:
若是,则获取所述文字信息的字符编码、所述绘制属性信息的字体大小和绘制坐标,并根据所述字符编码、所述字体大小和所述绘制坐标计算出所述顶点坐标。
3.根据权利要求1所述的3D文字绘制方法,其特征在于,所述通过预设的纹理存储空间中获取所述文字信息对应的纹理信息的步骤包括:
根据所述文字信息在所述纹理储存空间中检索对应的所述纹理信息,判断是否成功检索到所述纹理信息;
若是,则输出所述纹理信息。
4.根据权利要求3所述的3D文字绘制方法,其特征在于,所述通过预设的纹理存储空间中获取所述文字信息对应的纹理信息的步骤还包括:
若否,则根据所述文字信息的字符编码和所述绘制信息的字体类别生成所述纹理信息,输出所述纹理信息并将其存入所述纹理存储空间中。
5.根据权利要求1所述的3D文...
【专利技术属性】
技术研发人员:沈良好,王非,王得星,刘军,孔金珠,
申请(专利权)人:天津麒麟信息技术有限公司,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。