一种图层绘制方法、绘图引擎及终端设备的制作方法

文档序号:6523233阅读:160来源:国知局
一种图层绘制方法、绘图引擎及终端设备的制作方法
【专利摘要】本发明实施例涉及计算机技术。本发明实施例提供一种图层绘制方法、绘图引擎及终端设备,该方法包括:接收绘图指令;接收后处理信息,根据所述后处理信息确定预处理信息,所述后处理信息用于表示对待绘制的图层做坐标变换处理;基于所述绘图指令中的顶点变换信息对所述绘图指令中包含的图元信息对应的图元的顶点进行坐标变换处理,得到所述图元的顶点变换中间结果;基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果;然后再进行光栅化和片断着色以得到待绘制的图层。该方案是对顶点变换后得到的顶点变换中间结果再次进行坐标变换处理,从而降低了对图层做特效处理的代价。
【专利说明】一种图层绘制方法、绘图引擎及终端设备
【技术领域】
[0001]本发明涉及计算机技术,尤其涉及一种图层绘制方法、绘图引擎及终端设备。
【背景技术】
[0002]当前Android系统的应用主要采用OpenGL绘图,OpenGL (Open GraphicLibrary)是一个开放性图形硬件标准,它提供了一系列应用程序接口(API, ApplicationProgramming Interface)供开发者使用。在OpenGL的硬件标准下对待绘制的图层做涉及坐标变换的处理时,需要首先绘制完成该图层,然后对该图层做所述涉及坐标变换的处理,比如旋转处理和/或缩放处理等,由于绘制完成的图层包含大量的像素点,所以在对该图层做涉及坐标变换的处理时需要处理的数据量比较大,付出的图像特效处理代价比较大。

【发明内容】

[0003]本发明实施例提供一种图层绘制方法、绘图引擎及终端设备,用于减少涉及坐标变换的图像特效的处理代价。
[0004]第一方面,本发明实施例提供一种图层绘制方法,该方法包括:接收绘图指令,所述绘图指令中包含图元信息、顶点变换信息以及片断着色信息;接收后处理信息,根据所述后处理信息确定预处理信息,所述后处理信息用于表示对待绘制的图层做坐标变换处理;基于所述绘图指令中的顶点变换信息对所述图元信息对应的图元的顶点进行坐标变换处理,得到所述图元的顶点变换中间结果;基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果;对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果;基于所述绘图指令中的片断着色信息对所述图元的光栅化处理结果进行片断着色处理,得到所述图元的片断着色处理结果;根据所述图元的片断着色处理结果在所述待绘制的图层的显示范围内进行像素填充得到所述待绘制的图层。
[0005]结合第一方面,在第一种实现方式下,所述接收后处理信息,根据所述后处理信息确定预处理信息,包括:接收后处理信息,所述后处理信息包括旋转参数;根据所述后处理信息中包括的旋转参数确定旋转矩阵,所述旋转矩阵表示所述预处理信息;所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,包括:基于所述旋转矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第二顶点坐标,所述第二顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转的效果。
[0006]结合第一方面,在第二种实现方式下,所述接收后处理信息,根据所述后处理信息确定预处理信息,包括:接收后处理信息,所述后处理信息包括缩放参数;根据所述所述后处理信息中包括的缩放参数确定缩放矩阵,所述缩放矩阵表示所述预处理信息;所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,包括:基于所述缩放矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第三顶点坐标,所述第三顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有缩放的效果。
[0007]结合第一方面,在第三种实现方式下,所述接收后处理信息,根据所述后处理信息确定预处理信息,包括:接收后处理信息,所述后处理信息包括旋转参数和缩放参数;根据所述后处理信息中包括的旋转参数确定旋转矩阵;根据所述后处理信息中包括的缩放参数确定缩放矩阵;将所述旋转矩阵和所述缩放矩阵相乘得到预处理矩阵,所述预处理矩阵表示所述预处理信息;所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,包括:基于所述预处理矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第四顶点坐标,所述第四顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转和缩放的效果。
[0008]结合第一方面的第一种实现方式,在第四种实现方式下,在所述接收后处理信息,所述后处理信息包括旋转参数之后,所述方法还包括:在所述旋转参数表示的旋转角度是90或者270度时,基于所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配;在所述基于所述旋转矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第二顶点坐标之后,还包括:根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第二顶点坐标进行裁剪,得到裁剪后的第二顶点坐标;所述对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果,包括:对所述裁剪后的第二顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
[0009]结合第一方面的第二种实现方式,在第五种实现方式下,在所述接收后处理信息,所述后处理信息包括缩放参数之后,所述方法还包括:基于所述缩放参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配;在所述基于所述缩放矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第三顶点坐标之后,还包括:根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第三顶点坐标进行裁剪,得到裁剪后的第三顶点坐标;所述对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果,包括:对所述裁剪后的第三顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
[0010]结合第一方面的第三种实现方式,在第六种实现方式下,在所述接收后处理信息,所述后处理信息包括旋转参数和缩放参数之后,所述方法还包括:基于所述缩放参数和所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配;在所述基于所述预处理矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第四顶点坐标之后,还包括:根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第四顶点坐标进行裁剪,得到裁剪后的第四顶点坐标;所述对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果,包括:对所述裁剪后的第四顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。[0011]第二方面,本发明实施例提供一种绘图引擎,该绘图引擎包括:接收单元,用于接收绘图指令,所述绘图指令中包含图元信息、顶点变换信息以及片断着色信息;以及还用于接收后处理信息,所述后处理信息用于表示对待绘制的图层做坐标变换处理;预处理接口单元,用于根据所述后处理信息确定预处理信息;顶点着色器,用于基于所述绘图指令中的顶点变换信息对所述图元信息对应的图元的顶点进行坐标变换处理,得到所述图元的顶点变换中间结果;以及还用于基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果;光栅化器,用于对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果;片断着色器,用于基于所述绘图指令中的片断着色信息对所述图元的光栅化处理结果进行片断着色处理,得到所述图元的片断着色处理结果;图层获得单元,用于根据所述图元的片断着色处理结果在所述待绘制的图层的显示范围内进行像素填充得到所述待绘制的图层。
[0012]结合第二方面,在第一种实现方式下,在所述接收后处理信息的操作上,所述接收单元具体用于接收包括旋转参数的后处理信息;所述预处理接口单元具体用于根据所述后处理信息中包括的旋转参数确定旋转矩阵,所述旋转矩阵表示所述预处理信息;在所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果的操作上,所述顶点着色器具体用于基于所述旋转矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第二顶点坐标,其中所述第二顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转的效果。
[0013]结合第二方面,在第二种实现方式下,所述接收单元具体用于接收包括缩放参数的后处理信息;所述预处理接口单元具体用于根据所述后处理信息中包括的缩放参数确定缩放矩阵,所述缩放矩阵表示所述预处理信息;在所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果的操作上,所述顶点着色器具体用于基于所述缩放矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第三顶点坐标,所述第三顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有缩放的效果。
[0014]结合第二方面,在第三种实现方式下,所述接收单元具体用于接收包括旋转参数和缩放参数的后处理信息;所述预处理接口单元具体用于根据所述后处理信息中包括的旋转参数确定旋转矩阵,根据所述后处理信息中包括的缩放参数确定缩放矩阵,将所述旋转矩阵和所述缩放矩阵相乘得到预处理矩阵,所述预处理矩阵表示所述预处理信息;在所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果的操作上,所述顶点着色器具体用于基于所述预处理矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第四顶点坐标,所述第四顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转和缩放的效果。
[0015]结合第二方面的第一种实现方式,在第四种实现方式下,所述预处理接口单元还用于在所述旋转参数表示的旋转角度是90或者270度时,基于所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配;所述顶点着色器还用于根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第二顶点坐标进行裁剪,得到裁剪后的第二顶点坐标;所述光栅化器具体用于对所述裁剪后的第二顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
[0016]结合第二方面的第二种实现方式,在第五种实现方式下,所述预处理接口单元还用于基于所述缩放参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配;所述顶点着色器还用于根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第三顶点坐标进行裁剪,得到裁剪后的第三顶点坐标;所述光栅化器具体用于对所述裁剪后的第三顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
[0017]结合第二方面的第三种实现方式,在第六种实现方式下,所述预处理接口单元还用于基于所述缩放参数和所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配;所述顶点着色器还用于根据调整后的宽属性和高属性,对表示所述顶点变换终极结果的第四顶点坐标进行裁剪,得到裁剪后的第四顶点坐标;所述光栅化器具体用于对所述裁剪后的第四顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
[0018]第三方面,本发明实施例提供一种显示方法,该方法包括:接收绘图指令,所述绘图指令中包含图元信息、顶点变换信息以及片断着色信息;接收后处理信息,根据所述后处理信息确定预处理信息,所述后处理信息用于表示对待绘制的图层做坐标变换处理;基于所述绘图指令中的顶点变换信息对所述图元信息对应的图元的顶点进行坐标变换处理,得到所述图元的顶点变换中间结果;基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果;对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果;基于所述绘图指令中的片断着色信息对所述图元的光栅化处理结果进行片断着色处理,得到所述图元的片断着色处理结果;根据所述图元的片断着色处理结果在所述待绘制的图层的显示范围内进行像素填充得到所述待绘制的图层;将所述待绘制的图层输出显示。
[0019]结合第三方面,在第一种实现方式下,当所述待绘制的图层的数目是两个以上时,所述将所述待绘制的图层输出显示,包括:对两个以上的所述待绘制的图层进行合成处理生成目标图像并将所述目标图像输出显示。
[0020]结合第三方面或者第三方面的第一种实现方式,在第二种实现方式下,所述接收后处理信息,根据所述后处理信息确定预处理信息,包括:接收后处理信息,所述后处理信息包括旋转参数;根据所述后处理信息中包括的旋转参数确定旋转矩阵,所述旋转矩阵表示所述预处理信息;所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,包括:基于所述旋转矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第二顶点坐标,所述第二顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转的效果。
[0021]结合第三方面或者第三方面的第一种实现方式,在第三种实现方式下,所述接收后处理信息,根据所述后处理信息确定预处理信息,包括:接收后处理信息,所述后处理信息包括缩放参数;根据所述所述后处理信息中包括的缩放参数确定缩放矩阵,所述缩放矩阵表示所述预处理信息;所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,包括:基于所述缩放矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第三顶点坐标,所述第三顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有缩放的效果。
[0022]结合第三方面或者第三方面的第一种实现方式,在第四种实现方式下,所述接收后处理信息,根据所述后处理信息确定预处理信息,包括:接收后处理信息,所述后处理信息包括旋转参数和缩放参数;
[0023]根据所述后处理信息中包括的旋转参数确定旋转矩阵;根据所述后处理信息中包括的缩放参数确定缩放矩阵;将所述旋转矩阵和所述缩放矩阵相乘得到预处理矩阵,所述预处理矩阵表示所述预处理信息;所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,包括:基于所述预处理矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第四顶点坐标,所述第四顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转和缩放的效果。
[0024]结合第三方面的第二种实现方式,在第五种实现方式下,在所述接收后处理信息,所述后处理信息包括旋转参数之后,所述方法还包括:在所述旋转参数表示的旋转角度是90或者270度时,基于所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配;在所述基于所述旋转矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第二顶点坐标之后,还包括:根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第二顶点坐标进行裁剪,得到裁剪后的第二顶点坐标;所述对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果,包括:对所述裁剪后的第二顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
[0025]结合第三方面的第三种实现方式,在第六种实现方式下,在所述接收后处理信息,所述后处理信息包括缩放参数之后,所述方法还包括:基于所述缩放参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配;在所述基于所述缩放矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第三顶点坐标之后,还包括:根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第三顶点坐标进行裁剪,得到裁剪后的第三顶点坐标;所述对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果,包括:对所述裁剪后的第三顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
[0026]结合第三方面的第四种实现方式,在第七种实现方式下,在所述接收后处理信息,所述后处理信息包括旋转参数和缩放参数之后,所述方法还包括:基于所述缩放参数和所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配;在所述基于所述预处理矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第四顶点坐标之后,还包括:根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第四顶点坐标进行裁剪,得到裁剪后的第四顶点坐标;所述对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果,包括:对所述裁剪后的第四顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
[0027]第四方面,本发明实施例还提供一种终端设备,该终端设备包括显示控制器、显示屏幕组件以及如第三方面或者第三方面的第一种实现方式至第三方面的第七种实现方式中任一种实现方式所述的绘图引擎,其中:所述显示控制器用于将所述绘图引擎得到的所述待绘制的图层输出显示到所述显示屏幕组件上。
[0028]结合第四方面,在第一种实现方式下,当所述所述待绘制的图层的数目是两个以上时,所述显示控制器具体用于将所述绘图引擎得到的两个以上的所述待绘制的图层进行合成生成目标图像并将所述目标图像输出显示到所述显示屏幕组件上。
[0029]结合第四方面,在第二种实现方式下,该终端设备还包括合成器,其中:当所述待绘制的图层的数目是两个以上时,所述合成器用于将所述绘图引擎得到的两个以上的所述待绘制的图层进行合成生成目标图像;所述显示控制器具体用于将所述目标图像输出显示到所述显示屏幕组件上。
[0030]可知,本发明实施例提供的图层绘制方法、绘图引擎及终端设备,在接收绘图指令后,首先按照现有技术中的顶点变换处理方法,依据所述绘图指令中包含的顶点变换信息对所述绘图指令中包含的图元信息对应的图元的顶点进行坐标变换处理,并得到所述图元的顶点变换中间结果;然后基于根据接收的后处理信息确定的预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果;然后再对所述图元的顶点变换终极结果进行光栅化处理以及片段着色处理,最终得到待绘制的图层。采用本发明实施例所述的技术方案,是在顶点变换之后,基于预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理的,由于顶点变换之后得到的所述图元的顶点变换中间结果包含的数据量比较少,所以对其再次进行坐标变换时处理的代价比较小。
【专利附图】

【附图说明】
[0031]为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1a是基于OpenGL硬件标准的图层渲染管线图;
[0033]图1b是现有技术中基于OpenGL硬件标准的图层绘制流程图;
[0034]图1c是本发明实施例提供的图层绘制流程图;
[0035]图2是现有终端设备的逻辑结构示意图
[0036]图3a是本发明实施例提供的一种图层绘制方法的方法流程示意图;
[0037]图3b是本发明实施例提供的另一种图层绘制方法的方法流程示意图;
[0038]图4是本发明实施例提供的一种绘图引擎的结构示意图;
[0039]图5是本发明实施例提供的一种显示方法的方法流程示意图;
[0040]图6a是本发明实施例提供的一种终端设备的结构框图;[0041]图6b是本发明实施例提供的一种终端设备的结构框图;
[0042]图7是本发明实施例提供的另一种终端设备的结构示意图。
【具体实施方式】
[0043]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044]实施例一
[0045]如图1a所示,为基于OpenGL硬件标准下的图层渲染管线图,参阅该附图可知在OpenGL硬件标准下绘制图层至少需要经历顶点变换、光栅化以及片断着色三个过程,具体的,首先由顶点着色器基于顶点数据进行顶点变换,并将得到的几何顶点组合成图元;然后对这些图元进行光栅化处理生成一系列的插值纹理坐标和顶点坐标;再然后利用片断着色器渲染所述纹理坐标和顶点坐标对应位置的像素点,将组成待绘制的图层的所有像素点在所述待绘制的图层的显示范围内进行填充就得到所述待绘制的图层。
[0046]附图1b是现有技术中基于OpenGL硬件标准的图层绘制流程图,基于该附图可知如果需要对图层做旋转处理,现有技术采用的方案是在绘制完成所述待绘制的图层之后,再基于旋转需求对该图层做相应的旋转处理以得到经旋转的图层。
[0047]附图1c是本发明实施例提供的图层绘制流程图,参阅该附图可知在本发明实施例提供的图层绘制方法中如果需要对图层做旋转处理,该旋转是在顶点变换之后光栅化之前进行的,所述顶点变换即是附图1a所示的图层渲染管线图中顶点着色器基于顶点数据进行的顶点变换。具体的,采用本发明实施例提供的方法绘制图层且需要对该图层进行旋转处理的,首先进行OpenGL硬件标准中所述的顶点变换,得到图1c所示的顶点变换中间结果,然后再基于旋转需求对再次进行坐标变换处理得到顶点变换终极结果,然后再按照OpenGL硬件标准下的光栅化和片断着色流程对顶点变换终极结果进行光栅化处理和片断着色处理以得到经旋转的图层。
[0048]附图1b和附图1c以需要对图层旋转为例说明了本发明与现有技术的区别,现有技术中基于旋转需求的旋转操作是在图层绘制完成后针对所述待绘制的图层进行的,本发明中基于旋转需求的旋转操作是在顶点变换完成后光栅化开始前进行的,绘制完成的图层包含了大量的像素点,对所述待绘制的图层进行旋转处理需要处理的数据量比较大;顶点变换之后得到的只是少量的顶点,对所述顶点进行坐标变换处理需要处理的数据量比较少,所以付出的处理代价比较小。
[0049]实施例二
[0050]参阅附图3a,为本发明实施例提供的一种图层绘制方法的方法流程图,该图层绘制方法可以应用于计算机系统中,该计算机系统可以位于一台物理主机上,也可以分布位于多台物理主机上。具体的,该计算机系统可以位于一台或多台计算机、便携式电脑、手持设备(例如手机,PAD等)、服务器等类型的终端上。
[0051]以图2为例介绍本发明实施例提供的图层绘制方法应用的计算节点的逻辑结构。该计算节点可以是终端设备,该终端设备具体可以为一智能手机。如图2所示,该终端设备的硬件层包括CPU、GPU等,当然还可以包括存储器、输入/输出设备、内存、内存控制器、网络接口等,输入设备可包括键盘、鼠标、触摸屏等,输出设备可包括显示设备如LCD、CRT、全息成像(Holographic)、投影(Projector)等。在硬件层之上是驱动层,包括中央处理器驱动、图像处理器驱动、显示控制器驱动等。驱动层上面是核心库层,核心库是操作系统的核心部分,包括输入/输出服务、核心服务、图形设备接口以及实现CPU、GPU图形处理的图形服务(Graphics Engine)等。图形服务可包括2D引擎、3D引擎、合成器(Composition)、巾贞缓冲区(Frame Buffer)、OpenGL等。除此之外,该终端还包括框架层和应用层。框架层可包括图形服务(Graphic Service)、系统服务(System service)、网页服务(Web Service)和用户服务(Customer Service)等;图形服务中,可包括如微件(Widget)、画布(Canvas)、视图(Views)、Render Script 等。应用层可包括桌面(launcher)、媒体播放器(Media Player)、浏览器(Browser)等。
[0052]如图3a所示,本发明实施例提供的图形处理方法包括:
[0053]S301、接收绘图指令,所述绘图指令中包含图元信息、顶点变换信息以及片断着色
信息;
[0054]具体的,应用程序将绘图指令传递给框架层(Framework)的显示系统控制中心(Surface Flinger), Surface Flinger依据该绘图指令向系统申请绘制图层的画布,其中该画布的大小依据所述绘图指令包含的待绘制图层的宽高参数确定;系统基于SurfaceFlinger的申请调用图层内存分配单元(Gralloc)为其分配用于绘制图层的画布;同时该Surface Flinger将其获取所述绘图指令传递给核心库层的渲染驱动(RenderingDriver),用于使Rendering Driver驱使绘图引擎基于所述绘图指令绘制图层。需要说明的是,这里所述的绘图引擎是指基于图形处理器GPU的绘图引擎,包括2D绘图引擎、3D绘图引擎等。
[0055]值得注意的是,所述绘图指令中包含了图元信息、顶点变换信息以及片段着色信息。其中,图元是图形软件用于操作和组织画面的最基本的素材,一幅画面由图元组成,图元是一组最简单的、最通用的集合图形或者字符,比如点、线段、三角形、多边形等。
[0056]需要说明的是,所述绘图指令可以是用户通过触摸屏触摸、键盘输入、鼠标点击等方式输入的,本发明实施例对此并不作限定。
[0057]S302、接收后处理信息,根据所述后处理信息确定预处理信息,所述后处理信息用于表示对待绘制的图层做坐标变换处理;
[0058]所述后处理信息用于表示对待绘制的图层做坐标变换处理,所述后处理信息包括旋转参数、缩放参数或者两者的结合,所述后处理信息还可以包括显示布局(Source Crop)以及图层范围(Display Frame)等,其中,Source Crop表示采集Buffer哪部分区域去进行合成,Display Frame表示这个Buffer要被合成到屏幕上的哪个区域上,当然,所述后处理信息中可以用于表示对待绘制的图层做其他坐标变换处理,此处不做限制性规定。
[0059]所述预处理信息用于表示对图元的顶点变换中间结果再次进行坐标变换的矩阵,所述预处理信息包括旋转矩阵、缩放矩阵或者两者的结合,所述预处理信息还可以包括其他用于对图元的顶点变换中间结果再次进行坐标变换的矩阵,此处不做限制性规定。
[0060]值得注意的是,所述后处理信息是指现有技术中基于OpenGL硬件标准的图层渲染模式下表示对绘制完成的图层进行处理的信息,所述后处理信息包括对绘制完成的图层进行旋转和/或缩放以及其他涉及进行坐标变换处理的信息,此处不再一一列举。
[0061]具体的,所述根据所述后处理信息确定预处理信息包括但不限于以下情形:在后处理信息中包含的旋转参数(Transform Hint)不为0时,确定对应于所述旋转参数的旋转矩阵,所述预处理信息即是该旋转矩阵;在后处理信息中包含缩放参数不为0时,确定对应于所述缩放参数的缩放矩阵,所述预处理信息即是该缩放矩阵,需要说明的是,所述缩放参数包括水平缩放参数和垂直缩放参数;在后处理信息中包含的旋转参数不为0且其包含缩放参数也不为0时,根据所述旋转参数确定出对应的旋转矩阵,根据所述缩放参数确定出对应的缩放矩阵,然后再将所述旋转矩阵乘以所述缩放矩阵即得到预处理矩阵,则所述预处理信息即是该预处理矩阵,同样,所述缩放参数包括水平缩放参数和垂直缩放参数。值得注意的是,根据所述后处理信息得到的也有可能是顶点变换指令集或者其他形式的预处理信息,不限于上述的矩阵形式。
[0062]需要说明的是,所述接收后处理信息并根据所述后处理信息确定预处理信息是由Surface Flinger在接收绘图指令后通过检测绘图环境获取后处理信息并根据所述后处理信息确定所述预处理信息的。
[0063]S303、基于所述绘图指令中的顶点变换信息对所述图元信息对应的图元的顶点进行坐标变换处理,得到所述图元的顶点变换中间结果;
[0064]具体的,所述基于所述绘图指令中的顶点变换信息对所述图元信息对应的图元的顶点进行坐标变换处理,包括:基于所述绘图指令中的顶点变换信息确定出第一顶点变换矩阵,然后基于所述第一顶点变换矩阵对所述图元信息对应的图元的初始顶点坐标进行坐标变换处理,得到表示所述图元的顶点变换中间结果的第一顶点坐标。
[0065]S304、基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果;
[0066]值得注意的是,所述预处理信息可以是旋转矩阵、缩放矩阵或者是预处理矩阵,也有可能是其他用于指示对坐标进行变换处理的矩阵。
[0067]参阅附图3b,作为本发明的一个实施例,当所述预处理信息是根据所述后处理信息中包含的旋转参数确定的旋转矩阵时,所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,是指基于所述旋转矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第二顶点坐标,所述第二顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转的效果。需要说明的是,在所述后处理信息中包含的旋转参数表示的旋转角度是90或者270度时,本发明实施例提供的图层绘制方法还包括根据所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,以使得调整后的所述待绘制的图层的宽属性和高属性与所述待绘制的图层的显示范围相匹配。
[0068]作为本发明的另一个实施例,当所述预处理信息是根据所述后处理信息中包含的缩放参数确定的缩放矩阵时,所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,是指基于所述缩放矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第三顶点坐标,所述第三顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有缩放的效果。其中,所述后处理信息中包含的缩放参数包括垂直缩放参数和水平缩放参数,所述根据所述后处理信息中包含的缩放参数确定的缩放矩阵,实际上是指根据所述后处理信息中包含的垂直缩放参数和水平缩放参数确定的缩放矩阵。需要说明的是,本发明实施例提供的图层绘制方法还包括根据所述后处理信息中包含的缩放参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,以使得调整后的所述待绘制的图层的宽属性和高属性与所述待绘制的图层的显示范围相匹配。
[0069]作为本发明的再一个实施例,当所述后处理信息中包括旋转参数和缩放参数,所述预处理信息是通过将根据所述旋转参数确定的旋转矩阵与根据所述缩放参数确定的缩放矩阵相乘得到的预处理矩阵。所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,是指基于所述预处理矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标进行预处理,得到表示所述图元的顶点变换终极结果的第四顶点坐标,所述第四顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转和缩放的效果。其中,所述缩放参数包括垂直缩放参数和水平缩放参数,所述根据所述缩放参数确定的缩放矩阵是指根据所述垂直缩放参数和水平缩放参数确定的缩放矩阵。需要说明的是,本发明实施例提供的图层绘制方法还包括根据所述后处理信息中包含的所述缩放参数和所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,以使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配。
[0070]需要说明的是,所述预处理信息包括但不限于上述的旋转和/或缩放矩阵,还包括其他用于对图层进行特效处理的参数,凡是现有技术中用于指示对图层进行涉及坐标变换的后端处理的后处理信息都可以转化为所述预处理信息,本发明对此不做限定。
[0071]S305、对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果;
[0072]S306、基于所述绘图指令中的片断着色信息对所述图元的光栅化处理结果进行片断着色处理,得到所述图元的片断着色处理结果;
[0073]S307、根据所述图元的片断着色处理结果在所述待绘制的图层的显示范围内进行像素填充得到所述待绘制的图层。
[0074]具体的,光栅化是将一个几何图元转变成一个二维图像的过程。片断着色处理的对象是光栅化之后的数据,经过片断着色器的着色处理之后生成的即是像素,该像素是图层的组成部分,每一个图层中均包含多个像素点。
[0075]需要说明的是,所述根据所述图元的片断着色处理结果在待绘制的图层的显示范围内进行像素填充得到所述待绘制的图层是指将经过片断着色处理得到的像素点在所述待绘制的图层的画布上进行填充以得到所述待绘制的图层。
[0076]值得注意的是,本发明实施例所述的图层绘制方法应用的对象不限于对图层进行旋转和/或缩放处理,还可以应用于现有技术中其他只涉及进行坐标变换的后端处理的情形。将本发明实施例提供的图层绘制方法应用在游戏应用的场合时,能够使游戏的滑动更加流畅,并且能够增加图像的特效。
[0077]本发明实施例提供一种图层绘制方法,在顶点变换完成之后,依据预处理信息对顶点变换后得到的顶点进行预处理,由于在顶点变换之后进行所述预处理处理的数据量比较少,可以减少对图层做涉及坐标变换的特效处理的代价。
[0078]实施例三[0079]请参阅附图4,为本发明实施例提供的一种绘图引擎40的结构示意图,该绘图引擎40可以应用于图2所示的终端设备上。具体的,所述绘图引擎40包括接收单元41、预处理接口单元42、顶点着色器43、光栅化器44、片段着色器45以及图层获得单元46.[0080]所述接收单元41用于接收绘图指令,所述绘图指令中包含图元信息、顶点变换信息以及片断着色信息;还用于接收后处理信息,所述后处理信息用于表示对待绘制的图层做坐标变换处理。
[0081]其中,图元是图形软件用于操作和组织画面的最基本的素材,一幅画面由图元组成,图元是一组最简单的、最通用的集合图形或者字符,比如点、线段、三角形、多边形等。
[0082]所述后处理信息用于表示对待绘制的图层做坐标变换处理,所述后处理信息包括旋转参数、缩放参数或者两者的结合,所述后处理信息还可以包括显示布局(Source Crop)以及图层范围(Display Frame)等,其中,Source Crop表示采集Buffer哪部分区域去进行合成,Display Frame表示这个Buffer要被合成到屏幕上的哪个区域上,当然,所述后处理信息中可以用于表示对待绘制的图层做其他坐标变换处理,此处不做限制性规定。
[0083]所述预处理信息用于表示对图元的顶点变换中间结果再次进行坐标变换的矩阵,所述预处理信息包括旋转矩阵、缩放矩阵或者两者的结合,所述预处理信息还可以包括其他用于对图元的顶点变换中间结果再次进行坐标变换的矩阵,此处不做限制性规定。
[0084]需要说明的是,所述绘图指令可以是用户通过触摸屏触摸、键盘输入、鼠标点击等方式输入的,本发明实施例对此并不作限定。
[0085]所述预处理接口单元42用于根据所述后处理信息确定预处理信息。
[0086]作为本发明的一个实施例,当所述后处理信息中包含旋转参数时,所述预处理接口单元42具体用于根据所述旋转参数确定出对应的旋转矩阵,所述旋转矩阵即用于表示所述预处理信息;需要说明的是,在所述后处理信息中包含的旋转参数是90或者270度时,则所述预处理接口单元42还用于基于所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,以使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配。
[0087]作为本发明的另一个实施例,当所述后处理信息中包含缩放参数时,所述预处理接口单元42具体用于根据所述缩放参数确定出对应的缩放矩阵,所述缩放矩阵用于表示所述预处理信息;需要说明的是,所述预处理接口单元42还用于基于所述后处理信息中包含的缩放参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,以使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配。
[0088]作为本发明的再一个实施例,当所述后处理信息中不仅包含旋转参数还包含缩放参数时,所述预处理接口单元42具体用于根据所述旋转参数确定出对应的旋转矩阵,根据所述缩放参数确定出对应的缩放矩阵,然后依据所述旋转矩阵与所述缩放矩阵的乘积确定预处理矩阵,所述预处理矩阵用于表示所述预处理信息;需要说明的是,所述预处理接口单元42还用于基于所述后处理信息中包含的所述缩放参数和所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,以使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配。
[0089]需要说明的是,当所述后处理信息中包含其他涉及用于指示对坐标进形变换的参数时,所述预处理接口单元42还具体用于根据所述后处理信息确定出与其相对应的预处理信息。
[0090]所述顶点着色器43用于基于所述绘图指令中的顶点变换信息对所述图元信息对应的图元的顶点进行坐标变换处理,得到所述图元的顶点变换中间结果;以及还用于基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果。
[0091]具体的,在所述基于所述绘图指令中的顶点变换信息对所述图元信息对应的图元的顶点进行坐标变换处理,得到所述图元的顶点变换中间结果的操作上,所述顶点着色器43具体用于基于所述绘图指令中的顶点变换信息确定顶点变换矩阵;基于所述顶点变换矩阵对表示所述图元的顶点的初始顶点坐标进行坐标变换处理,得到表示所述图元的顶点变换中间结果的第一顶点坐标。
[0092]值得注意的是,所述预处理信息具体表现为一个矩阵,比如旋转矩阵、缩放矩阵或者是预处理矩阵等,用于指示对组成图层的图元的顶点坐标进行变换处理。
[0093]作为本发明的一个实施例,当所述预处理信息是根据所述后处理信息中包含的旋转参数确定的旋转矩阵时,所述顶点着色器43具体用于基于所述旋转矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第二顶点坐标,其中所述第二顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转的效果。
[0094]作为本发明的另一个实施例,当所述预处理信息是根据所述后处理信息中包含的缩放参数确定的缩放矩阵时,所述顶点着色器43具体用于基于所述缩放矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第三顶点坐标,所述第三顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有缩放的效果。
[0095]作为本发明的再一个实施例,当所述后处理信息中包括旋转参数和缩放参数,且所述缩放参数包括垂直缩放参数和水平缩放参数,所述预处理信息是根据所述旋转参数确定的旋转矩阵与根据所述垂直缩放参数和水平缩放参数确定的缩放矩阵的乘积确定的预处理矩阵。所述顶点着色器43具体用于基于所述预处理矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第四顶点坐标,所述第四顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转和缩放的效果。
[0096]需要说明的是,所述后处理信息中包含的参数包括但不限于上述的旋转和/或缩放参数,还包括其他仅涉及坐标变换处理的参数,则对应的是,所述顶点着色器的功能随着所述后处理信息中包含的参数的不同而不同,也即所述顶点着色器包括但不限于上述功倉泛。
[0097]所述光栅化器44用于对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果;
[0098]所述片断着色器45用于基于所述绘图指令中的片断着色信息对所述图元的光栅化处理结果进行片断着色处理,得到所述图元的片断着色处理结果;
[0099]所述待绘制的图层获得单元46用于根据所述图元的片断着色处理结果在待绘制的图层的显示范围内进行像素填充得到所述待绘制的图层。[0100]具体的,所述待绘制的图层获得单元46具体用于将绘制完成的buffer由SurfaceFlinger传递给合成器,由所述合成器调用增强显示控制器EDC将所述Buffer进行合成生成所述待绘制的图层。
[0101]本发明实施例提供一种绘图引擎,利用该绘图引擎绘制图层时,是在顶点变换完成后,依据预处理信息对顶点变换结果进行预处理的,由于顶点变换阶段针对的只是较少的顶点,所以采用本发明实施例提供的绘图引擎对图层进行预处理,因为处理的数据量比较少,所以处理代价比较小;进一步的,本发明实施例提供的绘图引擎还包括在确定预处理信息后,根据所述预处理信息对应的旋转和/或缩放参数调整图层的宽高属性,使得所述待绘制的图层的宽高与其显示范围相匹配,使得后续的光栅化以及片断着色直接针对图层的顶点变化结果进行操作,进一步减小了处理代价。
[0102]实施例四
[0103]请参阅附图5,为本发明实施例提供的一种显示方法的方法流程图,该图层绘制方法可以应用于计算机系统中,该计算机系统可以位于一台物理主机上,也可以分布位于多台物理主机上。具体的,该计算机系统可以位于一台或多台计算机、便携式电脑、手持设备(例如手机,PAD等)、服务器等类型的终端上,其中该计算机系统的逻辑结构可以参阅附图2。
[0104]具体的,如图5所示,本发明实施例提供的显示方法包括下述流程:
[0105]S501、接收绘图指令,所述绘图指令中包含图元信息、顶点变换信息以及片断着色
信息;
[0106]具体的,所述绘图指令中包含了图元信息、顶点变换信息以及片段着色信息。其中,图元是图形软件用于操作和组织画面的最基本的素材,一幅画面由图元组成,图元是一组最简单的、最通用的集合图形或者字符,比如点、线段、三角形、多边形等。
[0107]需要说明的是,所述绘图指令可以是用户通过触摸屏触摸、键盘输入、鼠标点击等方式输入的,本发明实施例对此并不作限定。
[0108]S502、接收后处理信息,根据所述后处理信息确定预处理信息,所述后处理信息用于表示对待绘制的图层做坐标变换处理;
[0109]所述后处理信息用于表示对待绘制的图层做坐标变换处理,所述后处理信息包括旋转参数、缩放参数或者两者的结合,所述后处理信息还可以包括显示布局(Source Crop)以及图层范围(Display Frame)等,其中,Source Crop表示采集Buffer哪部分区域去进行合成,Display Frame表示这个Buffer要被合成到屏幕上的哪个区域上,当然,所述后处理信息中可以用于表示对待绘制的图层做其他坐标变换处理,此处不做限制性规定。
[0110]所述预处理信息用于表示对图元的顶点变换中间结果再次进行坐标变换的矩阵,所述预处理信息包括旋转矩阵、缩放矩阵或者两者的结合,所述预处理信息还可以包括其他用于对图元的顶点变换中间结果再次进行坐标变换的矩阵,此处不做限制性规定。
[0111]值得注意的是,所述后处理信息是指现有技术中基于OpenGL硬件标准的图层渲染模式下用于指示为绘制完成的图层进行处理的信息,所述后处理信息包括对绘制完成的图层进行旋转和/或缩放以及其他涉及进行坐标变换处理的信息,此处不再一一列举。
[0112]具体的,所述根据所述后处理信息确定预处理信息包括但不限于以下情形:
[0113]作为本发明的一个实施例,在后处理信息中包含的旋转参数(Transform Hint)不为O时,确定对应于所述旋转参数的旋转矩阵,所述预处理信息即是该旋转矩阵;需要说明的是,在后处理信息中包含旋转参数表示的旋转角度是90或者270度时,本发明实施例所述的技术方案还包括基于所述缩放参数对所述待绘制的图层的宽属性参数以及高属性参数进行调整,以使调整后的所述待绘制的图层的宽高属性与所述待绘制的图层的显示范围相匹配。
[0114]作为本发明的另一个实施例,在后处理信息中包含缩放参数不为0时,确定对应于所述缩放参数的缩放矩阵,所述预处理信息即是该缩放矩阵,需要说明的是,所述缩放参数包括水平缩放参数和垂直缩放参数;需要说明的是,在后处理信息中包含缩放参数时,本发明实施例所述的技术方案还包括基于所述缩放参数对所述待绘制的图层的宽属性参数以及高属性参数进行调整,以使调整后的所述待绘制的图层的宽高属性与所述待绘制的图层的显示范围相匹配。
[0115]作为本发明的再一个实施例,在后处理信息中包含的旋转参数不为0且其包含缩放参数也不为0时,根据所述旋转参数确定出对应的旋转矩阵,根据所述缩放参数确定出对应的缩放矩阵,然后再将所述旋转矩阵乘以所述缩放矩阵即得到预处理矩阵,则所述预处理信息即是该预处理矩阵,同样,所述缩放参数包括水平缩放参数和垂直缩放参数。需要说明的是,在后处理信息中不仅包含旋转参数还包含缩放参数时,本发明实施例所述的技术方案还包括基于所述旋转参数和所述缩放参数对所述待绘制的图层的宽属性参数以及高属性参数进行调整,以使调整后的所述待绘制的图层的宽高属性与所述待绘制的图层的显示范围相匹配。
[0116]需要说明的是,所述预处理信息包括但不限于上述的旋转和/或缩放矩阵,还包括其他用于对图层进行特效处理的参数,凡是现有技术中用于指示对图层进行涉及坐标变换的后端处理的后处理信息都可以转化为所述预处理信息,本发明对此不做限定。
[0117]S503、基于所述绘图指令中的顶点变换信息对所述图元信息对应的图元的顶点进行坐标变换处理,得到所述图元的顶点变换中间结果;
[0118]具体的,所述基于所述绘图指令中的顶点变换信息对所述图元信息对应的图元的顶点进行坐标变换处理,包括:基于所述绘图指令中的顶点变换信息确定出第一顶点变换矩阵,然后基于所述第一顶点变换矩阵对所述图元信息对应的图元的初始顶点坐标进行坐标变换处理,得到表示所述图元的顶点变换中间结果的第一顶点坐标。
[0119]S504、基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果;
[0120]值得注意的是,所述预处理信息包括但不限于是旋转矩阵、缩放矩阵或者是预处理矩阵,也有可能是其他用于指示对坐标进行变换处理的矩阵。
[0121]作为本发明的一个实施例,当所述预处理信息是根据所述后处理信息中包含的旋转参数确定的旋转矩阵时,所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,是指基于所述旋转矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第二顶点坐标,所述第二顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转的效果。需要说明的是,在所述后处理信息中包含的旋转参数表示的旋转角度是90或者270度时,本发明实施例提供的图层绘制方法还包括根据所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,以使得调整后的所述待绘制的图层的宽属性和高属性与所述待绘制的图层的显示范围相匹配。
[0122]作为本发明的另一个实施例,当所述预处理信息是根据所述后处理信息中包含的缩放参数确定的缩放矩阵时,所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,是指基于所述缩放矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第三顶点坐标,所述第三顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有缩放的效果。其中,所述后处理信息中包含的缩放参数包括垂直缩放参数和水平缩放参数,所述根据所述后处理信息中包含的缩放参数确定的缩放矩阵,实际上是指根据所述后处理信息中包含的垂直缩放参数和水平缩放参数确定的缩放矩阵。需要说明的是,本发明实施例提供的图层绘制方法还包括根据所述后处理信息中包含的缩放参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,以使得调整后的所述待绘制的图层的宽属性和高属性与所述待绘制的图层的显示范围相匹配。
[0123]作为本发明的再一个实施例,当所述后处理信息中包括旋转参数和缩放参数,且所述缩放参数包括垂直缩放参数和/或水平缩放参数,所述预处理信息是根据所述旋转参数确定的旋转矩阵与根据所述垂直缩放参数和/或水平缩放参数确定的缩放矩阵的乘积确定的预处理矩阵。所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,是指基于所述预处理矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第四顶点坐标,所述第四顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转和缩放的效果。其中,所述缩放参数包括垂直缩放参数和水平缩放参数,所述根据所述缩放参数确定的缩放矩阵是指根据所述垂直缩放参数和水平缩放参数确定的缩放矩阵。需要说明的是,本发明实施例提供的图层绘制方法还包括根据所述后处理信息中包含的所述缩放参数和所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,以使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配。
[0124]需要说明的是,所述预处理信息包括但不限于上述的旋转和/或缩放矩阵,还包括其他用于对图层进行特效处理的参数,凡是现有技术中用于指示对图层进行涉及坐标变换的后端处理的后处理信息都可以转化为所述预处理信息,本发明对此不做限定。
[0125]S505、对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果;
[0126]S506、基于所述绘图指令中的片断着色信息对所述图元的光栅化处理结果进行片断着色处理,得到所述图元的片断着色处理结果;
[0127]S507、根据所述图元的片断着色处理结果在待绘制的图层的显示范围内进行像素填充得到所述待绘制的图层;
[0128]具体的,光栅化是将一个几何图元转变成一个二维图像的过程。片断着色处理的对象是光栅化之后的数据,经过片断着色器的着色处理之后生成的即是像素,该像素是图层的组成部分,每一个图层中均包含多个像素点。
[0129]需要说明的是,所述根据所述图元的片断着色处理结果在待绘制的图层上进行像素填充得到所述待绘制的图层是指将经过片断着色处理得到的像素点在所述待绘制的图层的画布上进行填充以得到所述待绘制的图层。
[0130]S508、将所述待绘制的图层输出显示。
[0131]值得注意的是,当所述待绘制的图层的数目是两个以上时,在将所述待绘制的图层输出显示之前,还包括对两个以上的所述待绘制的图层进行合成处理生成目标图像,然后将所述目标图像输出显示。其中,用于将两个以上的所述待绘制的图层进行合成处理以生成目标图像的可以是合成器,也可以是增强显示控制器;用于将所述目标图像输出显示的是增强显示控制器。
[0132]值得注意的是,本发明实施例所述的显示方法应用的对象不限于对图层进行旋转和/或缩放处理,还可以应用于现有技术中其他只涉及进行坐标变换的后端处理的情形。将本发明实施例提供的图层绘制方法应用在游戏应用的场合时,能够使游戏的滑动更加流畅,并且能够增加图像的特效。
[0133]可知,采用本发明实施例提供的显示方法时,预处理是在顶点变换阶段进行的,由于顶点变换阶段针对的只是较少的顶点,所以采用本发明实施例提供的技术方案进行所述预处理需要处理的数据量比较少,处理速度比较快,减少涉及坐标变换的图像特效的处理代价;再者,在所述待绘制的图层的数目是两个以上时,在输出显示所述两个以上图层之前还需要对其进行合成处理以生成图像,基于所述待绘制的图层已经完成预处理,所以在进行图像合成时需要处理的数据量比较小,能够进一步减小处理的代价,提高显示性能。
[0134]实施例五
[0135]请参阅附图6a,为本发明提供的一种终端设备600的结构框图,该终端设备600具体可以为一台、便携式电脑、手持设备(例如手机,PAD等)、服务器等,且该终端设备600的逻辑结构图可以参阅附图2.具体的,如图6a所示,所述终端设备600中包含绘图引擎601、显示控制器603以及显示屏幕组件605 ;
[0136]其中,所述绘图引擎601用于接收绘图指令,所述绘图指令中包含图元信息、顶点变换信息以及片断着色信息;接收后处理信息,根据所述后处理信息确定预处理信息,所述后处理信息用于表示对待绘制的图层做坐标变换处理;基于所述绘图指令中的顶点变换信息对所述图元信息对应的图元的顶点进行坐标变换处理,得到所述图元的顶点变换中间结果;基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果;对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果;基于所述绘图指令中的片断着色信息对所述图元的光栅化处理结果进行片断着色处理,得到所述图元的片断着色处理结果;根据所述图元的片断着色处理结果在待绘制的图层的显示范围内进行像素填充得到所述待绘制的图层。
[0137]具体的,所述绘图引擎601接收的所述绘图指令可以是用户通过触摸屏触摸、键盘输入、鼠标点击等方式输入的,本发明实施例对此并不作限定。
[0138]所述后处理信息用于表示对待绘制的图层做坐标变换处理,所述后处理信息包括旋转参数、缩放参数或者两者的结合,所述后处理信息还可以包括显示布局(Source Crop)以及图层范围(Display Frame)等,其中,Source Crop表示采集Buffer哪部分区域去进行合成,Display Frame表示这个Buffer要被合成到屏幕上的哪个区域上,当然,所述后处理信息中可以用于表示对待绘制的图层做其他坐标变换处理,此处不做限制性规定。
[0139]所述预处理信息用于表示对图元的顶点变换中间结果再次进行坐标变换的矩阵,所述预处理信息包括旋转矩阵、缩放矩阵或者两者的结合,所述预处理信息还可以包括其他用于对图元的顶点变换中间结果再次进行坐标变换的矩阵,此处不做限制性规定。
[0140]作为本发明的一个实施例,当所述后处理信息中包含旋转参数时,所述绘图引擎601具体用于根据所述旋转参数确定出对应的旋转矩阵,所述旋转矩阵即用于表示所述预处理信息;需要说明的是,在所述后处理信息中包含的旋转参数是90或者270度时,则所述绘图引擎601还用于基于所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,以使得调整后的所述待绘制的图层的宽属性和高属性与所述待绘制的图层的显示范围相匹配。
[0141]作为本发明的另一个实施例,当所述后处理信息中包含缩放参数时,,所述绘图引擎601具体用于根据所述缩放参数确定出对应的缩放矩阵,所述缩放矩阵用于表示所述预处理信息;需要说明的是,所述绘图引擎601还用于基于所述后处理信息中包含的缩放参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,以使得调整后的所述待绘制的图层的宽属性和高属性与所述待绘制的图层的显示范围相匹配。
[0142]作为本发明的再一个实施例,当所述后处理信息中不仅包含旋转参数还包含缩放参数时,所述绘图引擎601具体用于根据所述旋转参数确定出对应的旋转矩阵,根据所述缩放参数确定出对应的缩放矩阵,然后依据所述旋转矩阵与所述缩放矩阵的乘积确定预处理矩阵,所述预处理矩阵用于表示所述预处理信息;需要说明的是,所述绘图引擎601还用于基于所述后处理信息中包含的所述缩放参数和所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,以使得调整后的所述待绘制的图层的宽属性和高属性与所述待绘制的图层的显示范围相匹配。
[0143]值得注意的是,所述绘图引擎601接收的所述后处理信息是指现有技术中基于OpenGL硬件标准的图层渲染模式下用于指示为绘制完成的图层进行处理的信息,所述后处理信息包括对绘制完成的图层进行旋转和/或缩放以及其他涉及进行坐标变换的处理信息,此处不再一一列举。
[0144]所述显示控制器603用于将所述待绘制的图层输出显示;
[0145]所述显示屏幕组件605用于显示所述待绘制的图层。
[0146]具体的,当所述待绘制的图层的数目是两个以上时,在将所述待绘制的图层输出显示之前,还包括利用显示控制器603对两个以上的所述待绘制的图层进行合成处理生成目标图像将并所述目标图像输出显示,所述显示屏幕组件605具体用于显示到所述目标图像。
[0147]需要说明的是,作为本发明的另一个实施例,请参阅附图6b,所述终端设备610还包括合成器613,其中当所述待绘制的图层的数目是两个以上时,所述合成器613用于将两个以上的所述待绘制的图层进行合成生成目标图像,然后由显示控制器614将所述合成器613生成的目标图像输出显示,所述显示屏幕组件615具体用于显示所述目标图像。
[0148]当然所述终端设备610也包括绘图引擎611,且绘图引擎611在终端设备610中的功能与绘图引擎601在终端设备600中的功能是一样的,所以其具体功能参照绘图引擎601在终端设备600中的功能即可,此处不再赘述。
[0149]可知,采用本发明实施例所述的终端设备绘制图层并显示所述待绘制的图层时,首先在绘制图层时,预处理是在顶点变换阶段进行的,由于顶点变换阶段针对的只是较少的顶点,所以采用本发明实施例所述的终端设备在预处理时需要处理的数据量比较少,处理代价比较小;再者,在所述待绘制的图层的数目是两个以上时,输出显示所述两个以上图层之前还需要对其进行合成处理以生成目标图像,基于所述待绘制的图层已经完成预处理,所以进行合成时需要处理的数据量比较小,进而在一定程度上提升系统的显示性能。
[0150]实施例六
[0151]相应的,本发明实施例还提供一种终端设备,如图7所示,该终端设备可以包括至少一个处理器701,例如CPU,至少一个网络接口 704,例如物理网卡,或者其他的用户接口703,以及存储器705、显示器706和至少一个通信总线702。
[0152]其中,通信总线702用于实现这些组件之间的连接通信。
[0153]网络接口 704用于实现该终端设备和网络之间的连接通信,比如该网络接口 704可以用于连接物理网卡和/或物理交换机等设备。
[0154]可选的,用户接口 703,可以包括显示器,键盘或者其他点击设备,例如,鼠标,轨迹球(trackball),触感板或者触感显示屏等。
[0155]存储器705可能包括高速随机存取记忆体(RAM, Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,该存储器705还可以包括至少一个位于远离前述处理器701的存储装置。
[0156]在一些实施方式中,存储器705存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
[0157]操作系统7051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务;
[0158]应用模块7052,包含各种应用程序,用于实现各种应用业务。
[0159]具体地,所述处理器701,用于接收绘图指令,所述绘图指令中包含图元信息、顶点变换信息以及片断着色信息;接收后处理信息,根据所述后处理信息确定预处理信息,所述后处理信息用于表示对待绘制的图层做坐标变换处理;基于所述绘图指令中的顶点变换信息对所述图元信息对应的图元的顶点进行坐标变换处理,得到所述图元的顶点变换中间结果;基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果;对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果;基于所述绘图指令中的片断着色信息对所述图元的光栅化处理结果进行片断着色处理,得到所述图元的片断着色处理结果;根据所述图元的片断着色处理结果在待绘制的图层的显示范围内进行像素填充得到所述待绘制的图层,将所述待绘制的图层输出显不。
[0160]具体的,当所述待绘制的图层的数目是两个以上时,所述处理器701还用于对两个以上的所述待绘制的图层进行合成处理生成目标目标图像并将所述目标图像输出显示。
[0161]作为本发明的一个实施例,所述处理器701具体用于在接收到的所述后处理信息中包含旋转参数时,根据所述旋转参数确定对应的旋转矩阵,所述预处理信息即是该旋转矩阵。具体的,在所述后处理信息中包含的旋转参数中包含的旋转角度是90或者270度时,所述处理器701还用于基于所述旋转参数对所述待绘制的图层的宽属性参数以及高属性参数进行调整,以使调整后的宽高属性与所述待绘制的图层的显示范围相匹配。值得注意的是,所述处理器701还具体用于基于所述旋转矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第二顶点坐标,所述第二顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转的效果。
[0162]作为本发明的另一个实施例,所述处理器701具体用于在后处理信息中包含缩放参数时,根据所述缩放参数确定对应的缩放矩阵,所述预处理信息即是该缩放矩阵,值得注意的是,所述缩放参数包括垂直缩放参数和/或水平缩放参数,所述根据所述缩放参数确定对应的缩放矩阵即是根据所述垂直缩放参数和/或水平缩放参数确定对应的缩放矩阵。需要说明的是,在后处理信息中包含缩放参数时,所述处理器701还用于基于所述缩放参数对所述待绘制的图层的宽属性参数以及高属性参数进行调整,以使调整后的宽高属性与所述待绘制的图层的显示范围相匹配。值得注意的是,当所述预处理信息是根据所述后处理信息中包含的缩放参数确定的缩放矩阵时,所述处理器701具体用于基于所述缩放矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第三顶点坐标,所述第三顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有缩放的效果。
[0163]作为本发明的再一个实施例,所述处理器701具体用于在后处理信息中不仅包含旋转参数还包含缩放参数时,根据所述旋转参数确定出对应的旋转矩阵,根据所述缩放参数确定出对应的缩放矩阵,然后再将所述旋转矩阵乘以所述缩放矩阵得到预处理矩阵,则所述预处理信息即是该预处理矩阵,值得注意的是,所述缩放参数包括垂直缩放参数和/或水平缩放参数,所述根据所述缩放参数确定对应的缩放矩阵即是根据所述垂直缩放参数和/或水平缩放参数确定对应的缩放矩阵。需要说明的是,在后处理信息中不仅包含旋转参数还包含缩放参数时,所述处理器701还用于基于所述旋转参数和所述缩放参数对所述待绘制的图层的宽属性参数以及高属性参数进行调整,以使调整后的宽高属性与所述待绘制的图层的显示范围相匹配。
[0164]值得注意的是,当所述后处理信息中包括旋转参数和缩放参数,且所述缩放参数包括垂直缩放参数和/或水平缩放参数,所述预处理信息是根据所述旋转参数确定的旋转矩阵与根据所述缩放参数确定的缩放矩阵的乘积确定的预处理矩阵时,所述处理器701具体用于基于所述预处理矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第四顶点坐标,所述第四顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转和缩放的效果。
[0165]需要说明的是,所述后处理信息是指现有技术中基于OpenGL硬件标准的图层渲染模式下用于指示为绘制完成的图层进行处理的信息,所述后处理信息包括对绘制完成的图层进行旋转和/或缩放以及其他涉及进行坐标变换处理的信息,此处不再一一列举。对应的,所述预处理信息可以是所述旋转和/或缩放矩阵以及其他对图元的顶点坐标进行变换处理的矩阵,所述所述处理器701能够实现的功能包括但不限于上述实施例所述的功倉泛。
[0166]所述显示器706用于显示所述待绘制的图层。
[0167]值得注意的是,当所述待绘制的图层的数目是两个以上时,所述处理器701还用于将两个以上的所述待绘制的图层进行合成生成目标图像,然后将所述目标图像输出显示。对应的,所述显示器706用于显示所述目标图像。[0168]以上各个设备的具体实施可参见前面的实施例,在此不再赘述。
[0169]可知,采用本发明实施例所述的终端设备绘制图层并显示所述待绘制的图层时,首先在绘制图层时,预处理是在顶点变换阶段中进行的,由于顶点变换阶段针对的只是较少的顶点,所以采用本发明实施例所述的终端设备进行预处理操作时需要处理的数据量比较少,处理代价比较小;再者,在所述待绘制的图层的数目是两个以上时,输出显示所述两个以上图层之前还需要对其进行合成处理以生成目标图像,基于所述待绘制的图层已经完成预处理,所以进行合成时需要处理的数据量比较小,进而能够在一定程度上提升系统的显示性能。
[0170]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0171]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0172]在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0173]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0174]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0175]所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0176]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种图层绘制方法,其特征在于,所述方法包括: 接收绘图指令,所述绘图指令中包含图元信息、顶点变换信息以及片断着色信息; 接收后处理信息,根据所述后处理信息确定预处理信息,所述后处理信息用于表示对待绘制的图层做坐标变换处理; 基于所述绘图指令中的顶点变换信息对所述图元信息对应的图元的顶点进行坐标变换处理,得到所述图元的顶点变换中间结果; 基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果; 对所述图元的顶 点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果;基于所述绘图指令中的片断着色信息对所述图元的光栅化处理结果进行片断着色处理,得到所述图元的片断着色处理结果; 根据所述图元的片断着色处理结果在所述图层的显示范围内进行像素填充得到所述待绘制的图层。
2.根据权利要求1所述的图层绘制方法,其特征在于,所述接收后处理信息,根据所述后处理信息确定预处理信息,包括: 接收后处理信息,所述后处理信息包括旋转参数; 根据所述后处理信息中包括的旋转参数确定旋转矩阵,所述旋转矩阵表示所述预处理信息; 所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,包括: 基于所述旋转矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第二顶点坐标,所述第二顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转的效果。
3.根据权利要求1所述的图层绘制方法,其特征在于,所述接收后处理信息,根据所述后处理信息确定预处理信息,包括: 接收后处理信息,所述后处理信息包括缩放参数; 根据所述所述后处理信息中包括的缩放参数确定缩放矩阵,所述缩放矩阵表示所述预处理信息; 所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,包括: 基于所述缩放矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第三顶点坐标,所述第三顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有缩放的效果。
4.根据权利要求1所述的图层绘制方法,其特征在于,所述接收后处理信息,根据所述后处理信息确定预处理信息,包括: 接收后处理信息,所述后处理信息包括旋转参数和缩放参数; 根据所述后处理信息中包括的旋转参数确定旋转矩阵; 根据所述后处理信息中包括的缩放参数确定缩放矩阵; 将所述旋转矩阵和所述缩放矩阵相乘得到预处理矩阵,所述预处理矩阵表示所述预处理"[目息; 所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,包括: 基于所述预处理矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第四顶点坐标,所述第四顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转和缩放的效果。
5.根据权利要求2所述的图层绘制方法,其特征在于,在所述接收后处理信息,所述后处理信息包括旋转参数之后,所述方法还包括: 在所述旋转参数表示的旋转角度是90或者270度时,基于所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配; 在所述基于所述旋转矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第二顶点坐标之后,还包括: 根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第二顶点坐标进行裁剪,得到裁剪后的第二顶点坐标; 所述对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果,包括: 对所述裁剪后的第二顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
6.根据权利要求3所述的图层绘制方法,其特征在于,在所述接收后处理信息,所述后处理信息包括缩放参数之后,所述方法还包括: 基于所述缩放参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配; 在所述基于所述缩放矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第三顶点坐标之后,还包括: 根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第三顶点坐标进行裁剪,得到裁剪后的第三顶点坐标; 所述对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果,包括: 对所述裁剪后的第三顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
7.根据权利要求4所述的图层绘制方法,其特征在于,在所述接收后处理信息,所述后处理信息包括旋转参数和缩放参数之后,所述方法还包括: 基于所述缩放参数和所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配; 在所述基于所述预处理矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第四顶点坐标之后,还包括:根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第四顶点坐标进行裁剪,得到裁剪后的第四顶点坐标; 所述对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果,包括: 对所述裁剪后的第四顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
8.一种绘图引擎,其特征在于,包括: 接收单元,用于接收绘图指令,所述绘图指令中包含图元信息、顶点变换信息以及片断着色信息;以及还用于接收后处理信息,所述后处理信息用于表示对待绘制的图层做坐标变换处理; 预处理接口单元,用于根据所述后处理信息确定预处理信息; 顶点着色器,用于基于所述绘图指令中的顶点变换信息对所述图元信息对应的图元的顶点进行坐标变换处理,得到所述图元的顶点变换中间结果;以及还用于基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果; 光栅化器,用于对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果; 片断着色器,用于基于 所述绘图指令中的片断着色信息对所述图元的光栅化处理结果进行片断着色处理,得到所述图元的片断着色处理结果; 图层获得单元,用于根据所述图元的片断着色处理结果在所述待绘制的图层的显示范围内进行像素填充得到所述待绘制的图层。
9.根据权利要求8所述的绘图引擎,其特征在于: 在所述接收后处理信息的操作上,所述接收单元具体用于接收包括旋转参数的后处理信息; 所述预处理接口单元具体用于根据所述后处理信息中包括的旋转参数确定旋转矩阵,所述旋转矩阵表示所述预处理信息; 在所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果的操作上,所述顶点着色器具体用于基于所述旋转矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第二顶点坐标,其中所述第二顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转的效果。
10.根据权利要求8所述的绘图引擎,其特征在于: 所述接收单元具体用于接收包括缩放参数的后处理信息; 所述预处理接口单元具体用于根据所述后处理信息中包括的缩放参数确定缩放矩阵,所述缩放矩阵表示所述预处理信息; 在所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果的操作上,所述顶点着色器具体用于基于所述缩放矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第三顶点坐标,所述第三顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有缩放的效果。
11.根据权利要求8所述的绘图引擎,其特征在于:所述接收单元具体用于接收包括旋转参数和缩放参数的后处理信息; 所述预处理接口单元具体用于根据所述后处理信息中包括的旋转参数确定旋转矩阵,根据所述后处理信息中包括的缩放参数确定缩放矩阵,将所述旋转矩阵和所述缩放矩阵相乘得到预处理矩阵,所述预处理矩阵表示所述预处理信息; 在所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果的操作上,所述顶点着色器具体用于基于所述预处理矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第四顶点坐标,所述第四顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转和缩放的效果。
12.根据权利要求9所述的绘图引擎,其特征在于: 所述预处理接口单元还用于在所述旋转参数表示的旋转角度是90或者270度时,基于所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配; 所述顶点着色器还用于根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第二顶点坐标进行裁剪,得到裁剪后的第二顶点坐标; 所述光栅化器具体用于对所述裁剪后的第二顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
13.根据权利要求10所述的绘图引擎,其特征在于: 所述预处理接口单元还用于基于所述缩放参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配; 所述顶点着色器还用于根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第三顶点坐标进行裁剪,得到裁剪后的第三顶点坐标; 所述光栅化器具体用于对所述裁剪后的第三顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
14.根据权利要求11所述的绘图引擎,其特征在于: 所述预处理接口单元还用于基于所述缩放参数和所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配; 所述顶点着色器还用于根据调整后的宽属性和高属性,对表示所述顶点变换终极结果的第四顶点坐标进行裁剪,得到裁剪后的第四顶点坐标; 所述光栅化器具体用于对所述裁剪后的第四顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
15.一种显示方法,其特征在于,所述方法包括: 接收绘图指令,所述绘图指令中包含图元信息、顶点变换信息以及片断着色信息; 接收后处理信息,根据所述后处理信息确定预处理信息,所述后处理信息用于表示对待绘制的图层做坐标变换处理; 基于所述绘图指令中的顶点变换信息对所述图元信息对应的图元的顶点进行坐标变换处理,得到所述图元的顶点变换中间结果;基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果; 对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果;基于所述绘图指令中的片断着色信息对所述图元的光栅化处理结果进行片断着色处理,得到所述图元的片断着色处理结果; 根据所述图元的片断着色处理结果在所述待绘制的图层的显示范围内进行像素填充得到所述待绘制的图层; 将所述待绘制的图层输出显示。
16.根据权利要求15所述的显示方法,其特征在于: 当所述待绘制的图层的数目是两个以上时, 所述将所述待绘制的图层输出显示,包括: 对两个以上的所述待绘制的图层进行合成处理生成目标图像并将所述目标图像输出显不。
17.根据权利要求15或16所述的显示方法,其特征在于,所述接收后处理信息,根据所述后处理信息确定预处理信息,包括: 接收后处理信息,所述后处理信息包括旋转参数; 根据所述后处理信息中包括的旋转参数确定旋转矩阵,所述旋转矩阵表示所述预处理信息; 所述基于所述预处理信息对`所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,包括: 基于所述旋转矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第二顶点坐标,所述第二顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转的效果。
18.根据权利要求15或16所述的显示方法,其特征在于,所述接收后处理信息,根据所述后处理信息确定预处理信息,包括: 接收后处理信息,所述后处理信息包括缩放参数; 根据所述所述后处理信息中包括的缩放参数确定缩放矩阵,所述缩放矩阵表示所述预处理信息; 所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,包括: 基于所述缩放矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第三顶点坐标,所述第三顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有缩放的效果。
19.根据权利要求15或16所述的显示方法,其特征在于,所述接收后处理信息,根据所述后处理信息确定预处理信息,包括: 接收后处理信息,所述后处理信息包括旋转参数和缩放参数; 根据所述后处理信息中包括的旋转参数确定旋转矩阵; 根据所述后处理信息中包括的缩放参数确定缩放矩阵; 将所述旋转矩阵和所述缩放矩阵相乘得到预处理矩阵,所述预处理矩阵表示所述预处理信息;
所述基于所述预处理信息对所述图元的顶点变换中间结果再次进行坐标变换处理,得到所述图元的顶点变换终极结果,包括: 基于所述预处理矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第四顶点坐标,所述第四顶点坐标表示的图元相对于所述第一顶点坐标表示的图元具有旋转和缩放的效果。
20.根据权利要求17所述的显示方法,其特征在于,在所述接收后处理信息,所述后处理信息包括旋转参数之后,所述方法还包括: 在所述旋转参数表示的旋转角度是90或者270度时,基于所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配; 在所述基于所述旋转矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第二顶点坐标之后,还包括: 根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第二顶点坐标进行裁剪,得到裁剪后的第二顶点坐标; 所述对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果,包括: 对所述裁剪后的第二顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
21.根据权利要求18所述的显示方法,其特征在于,在所述接收后处理信息,所述后处理信息包括缩放参数之后,所述方法还包括: 基于所述缩放参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配; 在所述基于所述缩放矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第三顶点坐标之后,还包括: 根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第三顶点坐标进行裁剪,得到裁剪后的第三顶点坐标; 所述对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果,包括: 对所述裁剪后的第三顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
22.根据权利要求19所述的显示方法,其特征在于,在所述接收后处理信息,所述后处理信息包括旋转参数和缩放参数之后,所述方法还包括: 基于所述缩放参数和所述旋转参数对所述待绘制的图层的宽属性参数和高属性参数进行调整,使得调整后的宽属性和高属性与所述待绘制的图层的显示范围相匹配; 在所述基于所述预处理矩阵对表示所述图元的顶点变换中间结果的第一顶点坐标再次进行坐标变换处理,得到表示所述图元的顶点变换终极结果的第四顶点坐标之后,还包括:根据调整后的宽属性和高属性,对表示所述图元的顶点变换终极结果的第四顶点坐标进行裁剪,得到裁剪后的第四顶点坐标; 所述对所述图元的顶点变换终极结果进行光栅化处理,得到所述图元的光栅化处理结果,包括: 对所述裁剪后的第四顶点坐标进行光栅化处理,得到所述图元的光栅化处理结果。
23.—种终端设备,其特征在于,包括显示控制器、显示屏幕组件以及如权利要求15-22任一项所述的绘图引擎,其中: 所述显示控制器用于将所述绘图引擎得到的所述待绘制的图层输出显示到所述显示屏幕组件上。
24.根据权利要求23所述的终端设备,其特征在于: 当所述待绘制的图层的数目是两个以上时,所述显示控制器具体用于将所述绘图引擎得到的两个以上的所述待绘制的图层进行合成生成目标图像并将所述目标图像输出显示到所述显示屏幕组件上。
25.根据权利要求23所述的终端设备,其特征在于,还包括合成器,其中: 当所述待绘制的图层的数目是两个以上时,所述合成器用于将所述绘图引擎得到的两个以上的所述待绘制的图层进行合成生成目标图像; 所述显示控制器具体用于将所述目标图像输出显示到所述显示屏幕组件上。
【文档编号】G06F9/44GK103677828SQ201310671747
【公开日】2014年3月26日 申请日期:2013年12月10日 优先权日:2013年12月10日
【发明者】姜霄棠 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1