使用OpenGL绘制用户界面的方法、装置以及移动终端制造方法及图纸

技术编号:15690523 阅读:98 留言:0更新日期:2017-06-24 02:59
本发明专利技术公开了使用OpenGL绘制用户界面的方法、装置以及移动终端,该方法包括,调取矩阵运算接口;获取所述矩阵运算接口的绘画元素的位置参数;根据所述矩阵运算接口得到所述绘画元素的位置信息;根据所述绘画元素的位置信息绘制用户界面;其中,所述矩阵运算接口为预设的把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。本发明专利技术所提供的技术方案将使用OpenGL绘制用户界面时的矩阵运算转变为了对矩阵运算接口的直接调取,使得开发者不用进行复杂的矩阵运算,可降低开发难度。

Method, device and mobile terminal for drawing user interface by using OpenGL

The invention discloses a method, using OpenGL to draw the user interface and mobile terminal device, the method includes the transfer matrix interface; the position parameters of painting elements obtained by the matrix operation interface; based on the matrix operation interface to get the painting elements position information; according to the position information of the painting elements of drawing user interface; wherein the matrix operation interface for the preset position parameters into the matrix calculation drawing element position information of the reference coordinate relative to the interface. Matrix transformation of the technical scheme of the invention is to use OpenGL to draw the user interface in order to direct the transfer of matrix operation interface, allows developers without complex matrix operations, can reduce the difficulty of development.

【技术实现步骤摘要】
使用OpenGL绘制用户界面的方法、装置以及移动终端
本专利技术涉及图像绘制领域,尤其涉及使用OpenGL绘制用户交互界面时的方法、装置和移动终端。
技术介绍
OpenGL全称OpenGraphicsLibrary,即开放图形库,是一种定义了跨编程语言、跨平台的编程接口规格的专业图形接口程序,其独立于视窗操作系统或其他操作系统,可实现在PC、工作站、超级计算机、手机等硬件设备上高性能、极具冲击力的高视觉表现力图形处理软件的开发。使用OpenGL绘制用户界面时,基本绘图过程分为:清楚缓冲区,设置当前颜色、绘制几何单元(绘制模型)、输出图形。OpenGL的变换实际上是通过矩阵乘法来实现。无论是移动、旋转还是缩放大小,都是通过在当前矩阵的基础上乘以一个新的矩阵来达到目的,绘制模型时,需要首先确定绘画元素相对于坐标原点的坐标,再通过矩阵变换计算出每个绘画元素相对于坐标原点的位移、旋转角度、裁剪、窗口变换等位置信息,而上述位置信息需要通过矩阵运算的方式进行确定,变换矩阵类型多样,例如:旋转矩阵、平移矩阵、投影矩阵、透视除法矩阵、窗口变换矩阵等,在进行多种变换时,不仅需要进行多个矩阵的运算,还需要考虑矩阵的运算顺序,这样复杂的矩阵运算大大增加了程序开发的难度。另外,如果多个绘画元素间具有层级关系,也无法通过矩阵运算建立起对应关系,而需要通过多个矩阵相乘的方式来计算嵌套后最终位置,使OpenGL的变换更加复杂。
技术实现思路
鉴于上述至少一方面的问题,本专利技术的目的在于通过调取矩阵运算接口降低开发难度,提供一种使用OpenGL绘制用户界面的方法及其相应装置。相应的,本专利技术的又一目的在于提供一种具有OpenGL绘制功能的移动终端,以用于实施前述的方法或运行所述的装置。为实现该目的,本专利技术采用如下技术方案:第一方面的一种实施例中,使用OpenGL绘制用户界面的方法,包括如下步骤:调取矩阵运算接口;获取所述矩阵运算接口的绘画元素的位置参数;根据所述矩阵运算接口得到所述绘画元素的位置信息;根据所述绘画元素的位置信息绘制用户界面;其中,所述矩阵运算接口为预设的把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。结合第一方面的一种实施例中,调取矩阵运算接口的步骤之后,还包括:获取所述矩阵运算接口的绘画元素的父元素参数;根据父元素参数获取父元素内的坐标原点;把父元素内的坐标原点作为参考坐标原点。进一步,所述把父元素内的坐标原点作为参考坐标原点之后,还包括,以所述父元素内的坐标原点为基础建立父元素的内部坐标系。优选的,所述父元素参数为所述父元素在其上级元素的内部坐标系中的位置参数。具体的,所述绘画元素为根元素时,其上级元素的内部坐标系为原始坐标系。进一步,所述根据所述绘画元素的位置信息绘制用户界面,还包括,根据所述绘画元素的位置信息在用户界面中绘制绘画元素的所有下级元素。详细的,所述调取矩阵运算接口之前,还包括,建立所述绘画元素间的层级关系。具体的,所述调取矩阵运算接口之前,还包括,预设把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。可选的,所述位置参数包括绘画元素相对于参考坐标原点的坐标和法向方向;所述位置信息包括绘画元素相对于参考坐标原点的位移和旋转信息。结合第一方面的另一种实施例中,所述调取矩阵运算接口,包括:确定绘画元素进行两项以上的位移和/或旋转变换;根据移和/或旋转变换的矩阵运算顺序依次调取相应的矩阵运算接口。第二方面的一种实施例中,使用OpenGL绘制用户界面的装置,包括:调取单元,用于调取矩阵运算接口;位置参数获取单元,用于获取所述矩阵运算接口的绘画元素的位置参数;运算单元,根据所述矩阵运算接口得到所述绘画元素的位置信息;绘制单元,根据所述绘画元素的位置信息绘制用户界面;其中,所述矩阵运算接口为预设的把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。结合第二方面的一种实施例中,还包括:父元素参数获取单元,用于获取所述矩阵运算接口的绘画元素的父元素参数;参考坐标原点获取单元,用于根据父元素参数获取父元素内的坐标原点;把父元素内的坐标原点作为参考坐标原点。进一步,还包括坐标系定义单元,用于在所述父元素内以所述父元素内的坐标原点为基础建立父元素的内部坐标系。优选的,所述父元素参数为所述父元素在其上级元素的内部坐标系中的位置参数。具体的,所述绘画元素为根元素时,其上级元素的内部坐标系为原始坐标系。进一步,还包括,位置信息获取单元,用于获取绘制元素的位置信息,而后由绘制单元根据所述绘画元素的位置信息在用户界面中绘制绘画元素的所有下级元素。详细的,还包括划分单元,用于建立所述绘画元素间的层级关系。进一步,还包括,判断单元,用于判断所述绘画元素的级别,当所述绘画元素为根元素时,则以原始坐标系的坐标原点作为参考坐标原点。具体的,还包括:封装单元,用于预设把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。可选的,所述位置参数包括绘画元素相对于参考坐标原点的坐标和法向方向;所述位置信息包括绘画元素相对于参考坐标原点的位移和旋转信息。结合第二方面的另一种实施例中,所述调取单元调取矩阵运算接口时包括,确定绘画元素进行两项以上的位移和/或旋转变换;根据移和/或旋转变换的矩阵运算顺序依次调取相应的矩阵运算接口。第三方面的一种实施例中,本专利技术提供一种移动终端,其包括:显示器,用于显示视图和控件界面;存储器;一个或多个处理器,用于执行所述存储器中存储的程序;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并由所述一个或多个处理器执行;所述一个或多个应用程序用于执行上述实施例中任一项所述的方法。与现有技术相比,本专利技术所提供的技术方案具备如下优点:通过调取矩阵运算接口,利用矩阵运算接口直接运算绘画元素的位置信息,并基于位置信息对绘画元素进行绘制,从而使原来的矩阵运算简化成对接口的调用,使得开发者不用进行复杂的矩阵运算,降低开发难度。获取绘画元素父元素参数,并基于所述父元素参数获取所述父元素内部的坐标原点,并以所述父元素内部的坐标原点作为参考原点,继而获取绘画元素在其父元素内的位置参数。从而将绘画元素的位置变化的参考对象由原始坐标原点转变为父元素内的坐标原点,使绘画元素的位置变换与其父元素产生关联,实现与父元素产生共同位移和共同旋转等协同的位置变换。同时,绘画元素再需要计算自己在原始坐标系中的位置,而只用计算自己在父元素绘画元素的坐标系中的相对位置。比如:根绘画元素所在的坐标系为以根绘画元素中心为原点的原始坐标系,根绘画元素的孩子节点所看到的为根绘画元素所在的坐标系,孩子绘画元素所做的任何位移、旋转是在根绘画元素所在的坐标系中进行的。子孙绘画元素所能看到的是孩子绘画元素的中心为原点,经过变化后的坐标系,以此类推。本专利技术所提供的技术方案,将绘画元素间建立层级关系,并对其变换关系进行关联,实现了有层级关系的绘画元素之间的共同位移和共同旋转等位置变换,大大减少了在进行复杂变换时的运算量,在降低了程序开发难度的同时,也降低了绘制过程中处理器的负载。【附图说明】图1为本专利技术使用OpenGL绘制用户界面方法的第一实施例流程示意图,其示出了调取矩阵运算接本文档来自技高网...
使用OpenGL绘制用户界面的方法、装置以及移动终端

【技术保护点】
使用OpenGL绘制用户界面的方法,其特征在于,包括如下步骤:调取矩阵运算接口;获取所述矩阵运算接口的绘画元素的位置参数;根据所述矩阵运算接口得到所述绘画元素的位置信息;根据所述绘画元素的位置信息绘制用户界面;其中,所述矩阵运算接口为预设的把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。

【技术特征摘要】
1.使用OpenGL绘制用户界面的方法,其特征在于,包括如下步骤:调取矩阵运算接口;获取所述矩阵运算接口的绘画元素的位置参数;根据所述矩阵运算接口得到所述绘画元素的位置信息;根据所述绘画元素的位置信息绘制用户界面;其中,所述矩阵运算接口为预设的把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。2.根据权利要求1所述的方法,其特征在于,所述调取矩阵运算接口的步骤之后,还包括:获取所述矩阵运算接口的绘画元素的父元素参数;根据父元素参数获取父元素内的坐标原点;把父元素内的坐标原点作为参考坐标原点。3.根据权利要求2所述的方法,其特征在于,所述把父元素内的坐标原点作为参考坐标原点之后,还包括,以所述父元素内的坐标原点为基础建立父元素的内部坐标系。4.根据权利要求2所述的方法,其特征在于,所述父元素参数为所述父元素在其上级元素的内部坐标系中的位置参数。5.根据权利要求4所述的方法,其特征在于,所述绘画元素为根元素时,其上级元素的内部坐标系为原始坐标系。6.根据权利要求1所述的方法,其特征在于,所述根据所述绘画元素的位置信息绘制用户界面,还包括,根据所述绘画元素的位置信息在用...

【专利技术属性】
技术研发人员:杨威
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1