CN109816761B - 图形转换方法、装置、存储介质和电子设备 - Google Patents
图形转换方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN109816761B CN109816761B CN201811593415.9A CN201811593415A CN109816761B CN 109816761 B CN109816761 B CN 109816761B CN 201811593415 A CN201811593415 A CN 201811593415A CN 109816761 B CN109816761 B CN 109816761B
- Authority
- CN
- China
- Prior art keywords
- graph
- target
- vertex coordinates
- vertex
- operation logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
本公开涉及一种图形转换方法、装置、存储介质和电子设备,该方法包括:通过预设运算逻辑将原图形中的顶点坐标转换为目标顶点坐标,该预设运算逻辑为通过GPU或者CPU储存的运算逻辑;建立多个顶点坐标和多个目标顶点坐标之间的映射关系;将原图形的图形数据、多个目标顶点坐标以及该映射关系作为该GPU中OpenGL提供的图形渲染管线的输入,以通过图形插值算法将该原图形转换为上述多个目标顶点坐标对应的目标图形,该图形插值算法为该图形渲染管线根据该预设运算逻辑确定的图形插值算法。能够根据顶点坐标之间映射关系,通过OpenGL内置的图形插值算法直接将原图形的图形数据转换为转换后的图形数据进行输出,降低图形转换的工作量。
Description
技术领域
本公开涉及图形程序开发领域,具体地,涉及一种图形转换方法、装置、存储介质和电子设备。
背景技术
OpenGL(Open Graphics Library,开放图形库)是用于渲染2D和3D矢量图形的跨语言、跨平台的应用程序编程接口。通过OpenGL中的Pipeline(中文:图形渲染管线,实际为对图形数据进行处理的多个操作流程),可以将需要显示的3D图形处理为具备3D视觉效果的2D像素图形,以在日常生活中经常使用的显示设备的屏幕或界面中进行显示。相关技术中,当用户主动对通过OpenGL渲染出的图形进行变换时,通常需要根据预设的转换逻辑对图形中的每个像素点的像素数据(即图形对应的所有图形数据)重新进行人工设定,工作量较大,图形转换的效率较低。
发明内容
为克服相关技术中存在的问题,本公开的目的是提供一种图形转换方法、装置、存储介质和电子设备。
为了实现上述目的,根据本公开实施例的第一方面,提供一种图形转换方法,所述方法包括:
通过预设运算逻辑将原图形中的多个顶点坐标转换为多个目标顶点坐标,所述预设运算逻辑为通过图形处理单元GPU或者中央处理单元CPU储存的运算逻辑;
建立所述多个顶点坐标和所述多个目标顶点坐标之间的映射关系;
将原图形的图形数据、所述多个目标顶点坐标以及所述映射关系作为所述GPU中开放图形库OpenGL提供的图形渲染管线的输入,以通过图形插值算法将所述原图形转换为所述多个目标顶点坐标对应的目标图形,所述图形插值算法为所述图形渲染管线根据所述预设运算逻辑确定的图形插值算法,所述图形数据包括所述多个顶点坐标以及所述原图形中的每个像素的像素数据。
可选的,所述预设运算逻辑包含所述多个顶点坐标中的每个顶点坐标进行转换的运算逻辑,在所述通过预设运算逻辑将原图形中的多个顶点坐标转换为多个目标顶点坐标之前,所述方法还包括:
当所述每个顶点坐标进行转换的运算逻辑都相同时,将所述多个顶点坐标中的任一顶点坐标进行转换的运算逻辑作为所述预设运算逻辑,通过所述CPU对所述预设运算逻辑进行储存。
可选的,当所述预设运算逻辑为通过所述CPU储存的运算逻辑时,所述通过预设运算方式获取原图形中的多个顶点坐标对应的多个目标顶点坐标,包括:
通过OpenGL提供的Uniform变量获取通过所述CPU储存的所述预设运算逻辑;
通过所述预设运算逻辑对所述多个顶点坐标进行转换,以获取所述多个目标顶点坐标。
可选的,所述图形渲染管线包括:顶点着色器和片段着色器,所述将原图形的图形数据、所述多个目标顶点坐标以及所述映射关系作为所述GPU中开放图形库OpenGL提供的图形渲染管线的输入,以通过图形插值算法将所述原图形转换为所述多个目标顶点坐标对应的目标图形,包括:
通过所述顶点着色器接收所述多个目标顶点坐标;
根据所述多个目标顶点坐标拼装出所述目标图形的顶点图形框架;
通过所述图形插值算法,根据所述多个目标顶点坐标和所述映射关系将所述原图形中的每个像素的像素数据转换为所述目标图形中的每个目标像素的目标像素数据;
根据所述目标像素数据生成所述目标图形的片段数据;
通过所述片段着色器将所述片段数据添加至所述顶点图形框架中,以完成所述目标图形的渲染。
根据本公开实施例的第二方面,提供一种图形转换装置,所述装置包括:
坐标转换模块,用于通过预设运算逻辑将原图形中的多个顶点坐标转换为多个目标顶点坐标,所述预设运算逻辑为通过图形处理单元GPU或者中央处理单元CPU储存的运算逻辑;
映射建立模块,用于建立所述多个顶点坐标和所述多个目标顶点坐标之间的映射关系;
图形转换模块,用于将原图形的图形数据、所述多个目标顶点坐标以及所述映射关系作为所述GPU中开放图形库OpenGL提供的图形渲染管线的输入,以通过图形插值算法将所述原图形转换为所述多个目标顶点坐标对应的目标图形,所述图形插值算法为所述图形渲染管线根据所述预设运算逻辑确定的图形插值算法,所述图形数据包括所述多个顶点坐标以及所述原图形中的每个像素的像素数据。
可选的,所述预设运算逻辑包含对所述多个顶点坐标中的每个顶点坐标进行转换的运算逻辑,所述装置还包括:
逻辑储存模块,用于当所述每个顶点坐标进行转换的运算逻辑都相同时,将所述多个顶点坐标中的任一顶点坐标进行转换的运算逻辑作为所述预设运算逻辑,通过所述CPU对所述预设运算逻辑进行储存。
可选的,所述坐标转换模块,包括:
逻辑获取子模块,用于通过OpenGL提供的Uniform变量获取通过所述CPU储存的所述预设运算逻辑;
坐标转换子模块,用于通过所述预设运算逻辑对所述多个顶点坐标进行转换,以获取所述多个目标顶点坐标。
可选的,所述图形渲染管线包括:顶点着色器和片段着色器,所述图形转换模块,包括:
坐标接收子模块,用于通过所述顶点着色器接收所述多个目标顶点坐标;
图形拼装子模块,用于根据所述多个目标顶点坐标拼装出所述目标图形的顶点图形框架;
数据转换子模块,用于通过所述图形插值算法,根据所述多个目标顶点坐标和所述映射关系将所述原图形中的每个像素的像素数据转换为所述目标图形中的每个目标像素的目标像素数据;
片段生成子模块,用于根据所述目标像素数据生成所述目标图形的片段数据;
图形获取子模块,用于通过所述片段着色器将所述片段数据添加至所述顶点图形框架中,以完成所述目标图形的渲染。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本公开实施例第一方面提供的图形转换方法的步骤。
根据本公开实施例的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开实施例第一方面提供的图形转换方法的步骤。
通过上述技术方案,本公开能够通过预设运算逻辑将原图形中的多个顶点坐标转换为多个目标顶点坐标,该预设运算逻辑为通过图形处理单元GPU或者中央处理单元CPU储存的运算逻辑;建立上述多个顶点坐标和上述多个目标顶点坐标之间的映射关系;将原图形的图形数据、上述多个目标顶点坐标以及该映射关系作为该GPU中开放图形库OpenGL提供的图形渲染管线的输入,以通过图形插值算法将该原图形转换为上述多个目标顶点坐标对应的目标图形,该图形插值算法为该图形渲染管线根据该预设运算逻辑确定的图形插值算法,该图形数据包括上述多个顶点坐标以及该原图形中的每个像素的像素数据。能够根据顶点坐标之间映射关系,通过OpenGL内置的图形插值算法直接将原图形的图形数据转换为转换后的图形数据进行输出,降低图形转换的工作量。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种图形转换方法的流程图;
图2是根据图1所示实施例示出的另一种图形转换方法的流程图;
图3是根据图2所示实施例示出的一种图形顶点坐标的获取方法的流程图;
图4是根据图2所示实施例示出的一种转换图形的生成方法的流程图;
图5是根据一示例性实施例示出的一种图形转换装置的框图;
图6是根据图5所示实施例示出的另一种图形转换装置的框图;
图7是根据图6所示实施例示出的一种坐标获取模块的框图;
图8是根据图6所示实施例示出的一种图形转换模块的框图;
图9是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种图形转换方法的流程图,如图1所示,该方法包括:
步骤101,通过预设运算逻辑将原图形中的多个顶点坐标转换为多个目标顶点坐标。
其中,该预设运算逻辑为通过GPU(Graphics Processing Unit,图形处理单元)或者CPU(Central Processing Unit,中央处理单元)储存的运算逻辑。该顶点坐标为渲染原图形所需的多个坐标点,该目标顶点坐标为绘制转换后的目标图形所需的坐标点。可以理解的是,通过多个顶点坐标之间的连线,可以建立图形的基本框架。该预设运算逻辑可以为坐标转换时所使用的计算方式,例如将顶点坐标乘以或者加上一个系数或者矩阵等,以实现图形的缩放和移动。需要说明的是,在OpenGL中,无论是2D图形还是3D图形,其顶点坐标都是通过x轴、y轴和z轴上的三个坐标值进行定义的。
示例地,原图形可以为任何2D或3D图形,例如,一个正方形,该正方形包括四个顶点坐标,分别为(0,0,0)、(1,0,0)、(0,1,0)以及(1,1,0)。当需要将该正方形的面积放大一倍(即对该正方形进行图形转换操作)时,可以对这四个坐标乘以相同的系数2,以得到四个目标顶点坐标(0,0,0)、(2,0,0)、(0,2,0)以及(2,2,0)。可以理解的是,在上述的图形转换操作中,对于每个坐标顶点的运算逻辑都是一致的(乘以同样的系数)。该图形转换操作为较为简单的一个示例,在更复杂的图形转换操作中,可能会涉及为每个坐标顶点乘上或者加上不同的系数或矩阵(即不同的运算逻辑)或者对3D图形(例如,正方体包含八个顶点坐标)进行转换的图形转换操作。这些运算逻辑通常储存在GPU对应的存储空间中。在本实施例中,当每个顶点坐标进行转换的运算逻辑都一致时,可以将其中任一个顶点坐标的运算逻辑作为该预设运算逻辑,通过CPU对应的存储空间对其进行储存,再在需要时获取该预设运算逻辑,以节省GPU储存资源。
步骤102,建立上述多个顶点坐标和上述多个目标顶点坐标之间的映射关系。
示例地,可以通过现有的映射关系建立方法,建立顶点坐标与目标顶点坐标之间的关联关系。依然以上述的将该正方形的面积放大一倍的图形转换操作为例,可以分别建立(0,0,0)和(0,0,0)、(1,0,0)和(2,0,0)、(0,1,0)和(0,2,0)以及(1,1,0)和(2,2,0)之间的四个映射关系。
步骤103,将原图形的图形数据、上述多个目标顶点坐标以及该映射关系作为该GPU中开放图形库OpenGL提供的图形渲染管线的输入,以通过图形插值算法将该原图形转换为上述多个目标顶点坐标对应的目标图形。
其中,该图形插值算法为该图形渲染管线(Pipeline)根据该预设运算逻辑确定的图形插值算法,该图形数据包括上述多个顶点坐标以及该原图形中的每个像素的像素数据。图形渲染管线时通过OpenGL进行图形绘制的核心流程,该流程依次包括:顶点着色器、图元装配单元、几何着色器、光栅化单元、片段着色器以及测试与混合单元。
示例地,需要说明的是,在现有技术中,图形渲染管线可以被划分为两个阶段,在第一个阶段中,把用户输入的3D坐标转换为2D坐标,在第二个阶段中,把2D坐标转换为实际的有颜色的2D像素,进而将这些像素输出在屏幕上,完成图形的绘制。可以理解的是,当用户(例如,在玩通过OpenGL制作的3D游戏的过程中)执行变换视角等操作对光照角度和视线方向等进行调整后,3D图形本身并没有变化,而为了体现出光照角度和视线方向的变化以保持画面的立体感,需要对屏幕上显示的2D像素组成的图形进行调整。该图形插值算法原本用于对上述屏幕上显示的2D像素组成的图形进行调整的过程。具体地,该图形插值算法原本用于:在开发出的图像已经投入使用的过程中,响应于用户对光照角度和视线方向的调整,对显示出的图形的顶点坐标和其中填充的2D像素进行重新布置,进而输出转换后的图形。该图形插值算法包括:最邻近插值算法、双线性内插值算法以及三次卷积插值算法等。OpenGL会根据转换的具体方式从上述的多个图形插值算法中选择合适的图形插值算法。
示例地,在本公开实施例中,当开发人员在开发过程中需要主动对显示出的图形进行调整时,可以不考虑光照和视角的调整方式,而直接通过图形渲染管线提供的图形插值算法的参数输入接口,将原图形的顶点坐标、转换后的目标图形的目标顶点坐标、两者的映射关系以及原图形中的每个像素的像素数据作为图形插值算法的输入参数。该图形插值算法会以该映射关系为依据,自动将原图像中的像素数据填充至目标顶点坐标构成的框架中,进而获取转换后的目标图形,达到图形转换的目的。
综上所述,本公开能够通过预设运算逻辑将原图形中的多个顶点坐标转换为多个目标顶点坐标,该预设运算逻辑为通过图形处理单元GPU或者中央处理单元CPU储存的运算逻辑;建立上述多个顶点坐标和上述多个目标顶点之间的映射关系;将原图形的图形数据、上述多个目标顶点坐标以及该映射关系作为该GPU中开放图形库OpenGL提供的图形渲染管线的输入,以通过图形插值算法将该原图形转换为上述多个目标顶点坐标对应的目标图形,该图形插值算法为该图形渲染管线根据该预设运算逻辑确定的图形插值算法,该图形数据包括上述多个顶点坐标以及该原图形中的每个像素的像素数据。能够根据原图形的和转换后的图形的顶点坐标之间映射关系,通过OpenGL内置的图形插值算法直接将原图形的图形数据转换为转换后的图形数据进行输出,降低图形转换的工作量,进而提高图形转换的效率。
图2是根据图1所示实施例示出的另一种图形转换方法的流程图,如图2所示,该预设运算逻辑包含上述多个顶点坐标中的每个顶点坐标进行转换的运算逻辑,在步骤101之前,该方法还可以包括:
步骤104,当上述每个顶点坐标进行转换的运算逻辑都相同时,将上述多个顶点坐标中的任一顶点坐标进行转换的运算逻辑作为该预设运算逻辑,通过该CPU对该预设运算逻辑进行储存。
示例地,由于图形的渲染过程是在GPU中进行的,如果通过CPU对应的存储空间对预设运算逻辑中的所有不同的运算逻辑进行储存,则会涉及到对这些运算逻辑的多次读取,反而加重了数据读写的资源损耗。因此,当上述每个顶点坐标进行转换的运算逻辑不都相同时,可以通过GPU对应的存储空间对该预设运算逻辑进行储存,或者,通过CPU和GPU结合的方式,例如,将上述预设运算逻辑中数量最多的相同的运算逻辑储存在CPU对应的存储空间中,并将其他运算逻辑储存在GPU对应的存储空间中的方式,对该预设运算逻辑进行储存。
图3是根据图2所示实施例示出的一种图形顶点坐标的获取方法的流程图,如图3所示,上述步骤101可以包括:
步骤1011,通过OpenGL提供的Uniform变量获取通过该CPU储存的该预设运算逻辑。
示例地,该Uniform变量为OpenGL中的全局变量,只需为其赋值一次(即获取该预设运算逻辑),便可在整个图形渲染管线的执行过程中通过调用该Uniform变量使用该预设运算逻辑。
步骤1022,通过该预设运算逻辑对上述多个顶点坐标进行转换,以获取上述多个目标顶点坐标。
图4是根据图2所示实施例示出的一种转换图形的生成方法的流程图,如图4所示,该图形渲染管线包括:顶点着色器和片段着色器,上述步骤103可以包括:
步骤1031,通过该顶点着色器接收上述多个目标顶点坐标。
步骤1032,根据上述多个目标顶点坐标拼装出该目标图形的顶点图形框架。
步骤1033,通过该图形插值算法,根据上述多个目标顶点坐标和该映射关系将该原图形中的每个像素的像素数据转换为该目标图形中的每个目标像素的目标像素数据。
示例地,在接收到上述多个目标顶点坐标、该映射关系以及该原图形中的每个像素的像素数据之后,该图形插值算法可以根据该映射关系对该目标图形中的每个目标像素的位置坐标和色彩等目标像素数据重新进行计算,进而获取填充该顶点图形框架所需的目标像素数据。
步骤1034,根据该目标像素数据生成该目标图形的片段数据。
步骤1035,通过该片段着色器将该片段数据添加至该顶点图形框架中,以完成该目标图形的渲染。
示例地,每个片段数据实际为包含多个像素的小三角形,将多个小三角形填充至该顶点图形框架中,即可获取到目标图形,实现对原图形的转化。上述步骤中的步骤1031由该图形渲染管线中的顶点着色器完成,步骤1032由上述的几何着色器完成,步骤1033和步骤1034由上述的光栅化单元完成,该步骤1035由片段着色器完成。在通过该步骤1035获取到渲染后的目标图形后,可以通过上述的测试和混合单元对目标图形进行可视化处理,进而在屏幕上输出该目标图形。
综上所述,本公开能够通过预设运算逻辑将原图形中的多个顶点坐标转换为多个目标顶点坐标,该预设运算逻辑为通过图形处理单元GPU或者中央处理单元CPU储存的运算逻辑;建立上述多个顶点坐标和上述多个目标顶点坐标之间的映射关系;将原图形的图形数据、上述多个目标顶点坐标以及该映射关系作为该GPU中开放图形库OpenGL提供的图形渲染管线的输入,以通过图形插值算法将该原图形转换为上述多个目标顶点坐标对应的目标图形,该图形插值算法为该图形渲染管线根据该预设运算逻辑确定的图形插值算法,该图形数据包括上述多个顶点坐标以及该原图形中的每个像素的像素数据。能够根据原图形的和转换后的图形的顶点坐标之间映射关系,通过OpenGL内置的图形插值算法直接将原图形的图形数据转换为转换后的图形数据进行输出,降低图形转换的工作量,进而提高图形转换的效率。
图5是根据一示例性实施例示出的一种图形转换装置的框图,如图5所示,该装置500包括:
坐标转换模块510,用于通过预设运算逻辑将原图形中的多个顶点坐标转换为多个目标顶点坐标,该预设运算逻辑为通过图形处理单元GPU或者中央处理单元CPU储存的运算逻辑;
映射建立模块520,用于建立上述多个顶点坐标和上述多个目标顶点坐标之间的映射关系;
图形转换模块530,用于将原图形的图形数据、上述多个目标顶点坐标以及该映射关系作为该GPU中的图形渲染管线的输入,以将该原图形转换为上述多个目标顶点坐标对应的目标图形,该图形渲染管线为开放图形库OpenGL提供的图形渲染管线,该图形数据包括上述多个顶点坐标以及该原图形中的每个像素的像素数据。
图6是根据图5所示实施例示出的另一种图形转换装置的框图,如图6所示,该预设运算逻辑包含对上述多个顶点坐标中的每个顶点坐标进行转换的运算逻辑,该装置500还包括:
逻辑储存模块540,用于当上述每个顶点坐标进行转换的运算逻辑都相同时,将上述多个顶点坐标中的任一顶点坐标进行转换的运算逻辑作为该预设运算逻辑,通过该CPU对该预设运算逻辑进行储存。
图7是根据图6所示实施例示出的一种坐标转换模块的框图,如图7所示,该坐标转换模块510,包括:
逻辑获取子模块511,用于通过OpenGL提供的Uniform变量获取通过该CPU储存的该预设运算逻辑;
坐标转换子模块512,用于通过该预设运算逻辑对上述多个顶点坐标进行转换,以获取上述多个目标顶点坐标。
图8是根据图6所示实施例示出的一种图形转换模块的框图,如图8所示,该图形渲染管线包括:顶点着色器和片段着色器,该图形转换模块530,包括:
坐标接收子模块531,用于通过该顶点着色器接收上述多个目标顶点坐标;
图形拼装子模块532,用于根据上述多个目标顶点坐标拼装出该目标图形的顶点图形框架;
数据转换子模块533,用于通过图形插值算法,根据上述多个目标顶点坐标和该映射关系将该原图形中的每个像素的像素数据进行转换为该目标图形中的每个目标像素的目标像素数据;
片段生成子模块534,用于根据该目标像素数据生成该目标图形的片段数据;
图形获取子模块535,用于通过该片段着色器将该片段数据添加至该顶点图形框架中,以完成该目标图形的渲染。
综上所述,本公开能够通过预设运算逻辑将原图形中的多个顶点坐标转换为多个目标顶点坐标,该预设运算逻辑为通过图形处理单元GPU或者中央处理单元CPU储存的运算逻辑;建立上述多个顶点坐标和上述多个目标顶点坐标之间的映射关系;将原图形的图形数据、上述多个目标顶点坐标以及该映射关系作为该GPU中开放图形库OpenGL提供的图形渲染管线的输入,以通过图形插值算法将该原图形转换为上述多个目标顶点坐标对应的目标图形,该图形插值算法为该图形渲染管线根据该预设运算逻辑确定的图形插值算法,该图形数据包括上述多个顶点坐标以及该原图形中的每个像素的像素数据。能够根据原图形的和转换后的图形的顶点坐标之间映射关系,通过OpenGL内置的图形插值算法直接将原图形的图形数据转换为转换后的图形数据进行输出,降低图形转换的工作量,进而提高图形转换的效率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9是根据一示例性实施例示出的一种电子设备900的框图。如图9所示,该电子设备900可以包括:处理器901,存储器902,多媒体组件903,输入/输出(I/O)接口904,以及通信组件905。
其中,处理器901用于控制该电子设备900的整体操作,以完成上述的图形转换方法中的全部或部分步骤。存储器902用于存储各种类型的数据以支持在该电子设备900的操作,这些数据例如可以包括用于在该电子设备900上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器902可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件903可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器902或通过通信组件905发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口904为处理器901和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件905用于该电子设备900与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件905可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备900可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的图形转换方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器902,上述程序指令可由电子设备900的处理器901执行以完成上述的图形转换方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,本领域技术人员在考虑说明书及实践本公开后,容易想到本公开的其它实施方案,均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。同时本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。本公开并不局限于上面已经描述出的精确结构,本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种图形转换方法,其特征在于,所述方法包括:
通过预设运算逻辑将原图形中的多个顶点坐标转换为多个目标顶点坐标,所述预设运算逻辑为通过图形处理单元GPU或者中央处理单元CPU储存的运算逻辑;
建立所述多个顶点坐标和所述多个目标顶点坐标之间的映射关系;
将原图形的图形数据、所述多个目标顶点坐标以及所述映射关系作为所述GPU中开放图形库OpenGL提供的图形渲染管线的输入,以通过图形插值算法将所述原图形转换为所述多个目标顶点坐标对应的目标图形,所述图形插值算法为所述图形渲染管线根据所述预设运算逻辑确定的图形插值算法,所述图形数据包括所述多个顶点坐标以及所述原图形中的每个像素的像素数据。
2.根据权利要求1所述的方法,其特征在于,所述预设运算逻辑包含所述多个顶点坐标中的每个顶点坐标进行转换的运算逻辑,在所述通过预设运算逻辑将原图形中的多个顶点坐标转换为多个目标顶点坐标之前,所述方法还包括:
当所述每个顶点坐标进行转换的运算逻辑都相同时,将所述多个顶点坐标中的任一顶点坐标进行转换的运算逻辑作为所述预设运算逻辑,通过所述CPU对所述预设运算逻辑进行储存。
3.根据权利要求2所述的方法,其特征在于,当所述预设运算逻辑为通过所述CPU储存的运算逻辑时,通过预设运算方式获取原图形中的多个顶点坐标对应的多个目标顶点坐标,包括:
通过OpenGL提供的Uniform变量获取通过所述CPU储存的所述预设运算逻辑;
通过所述预设运算逻辑对所述多个顶点坐标进行转换,以获取所述多个目标顶点坐标。
4.根据权利要求1所述的方法,其特征在于,所述图形渲染管线包括:顶点着色器和片段着色器,所述将原图形的图形数据、所述多个目标顶点坐标以及所述映射关系输入所述GPU中开放图形库OpenGL提供的图形渲染管线的输入,以通过图形插值算法将所述原图形转换为所述多个目标顶点坐标对应的目标图形,包括:
通过所述顶点着色器接收所述多个目标顶点坐标;
根据所述多个目标顶点坐标拼装出所述目标图形的顶点图形框架;
通过所述图形插值算法,根据所述多个目标顶点坐标和所述映射关系将所述原图形中的每个像素的像素数据转换为所述目标图形中的每个目标像素的目标像素数据;
根据所述目标像素数据生成所述目标图形的片段数据;
通过所述片段着色器将所述片段数据添加至所述顶点图形框架中,以完成所述目标图形的渲染。
5.一种图形转换装置,其特征在于,所述装置包括:
坐标转换模块,用于通过预设运算逻辑将原图形中的多个顶点坐标转换为多个目标顶点坐标,所述预设运算逻辑为通过图形处理单元GPU或者中央处理单元CPU储存的运算逻辑;
映射建立模块,用于建立所述多个顶点坐标和所述多个目标顶点坐标之间的映射关系;
图形转换模块,用于将原图形的图形数据、所述多个目标顶点坐标以及所述映射关系作为所述GPU中开放图形库OpenGL提供的图形渲染管线的输入,以通过图形插值算法将所述原图形转换为所述多个目标顶点坐标对应的目标图形,所述图形插值算法为所述图形渲染管线根据所述预设运算逻辑确定的图形插值算法,所述图形数据包括所述多个顶点坐标以及所述原图形中的每个像素的像素数据。
6.根据权利要求5所述的装置,其特征在于,所述预设运算逻辑包含对所述多个顶点坐标中的每个顶点坐标进行转换的运算逻辑,所述装置还包括:
逻辑储存模块,用于当所述每个顶点坐标进行转换的运算逻辑都相同时,将所述多个顶点坐标中的任一顶点坐标进行转换的运算逻辑作为所述预设运算逻辑,通过所述CPU对所述预设运算逻辑进行储存。
7.根据权利要求6所述的装置,其特征在于,所述坐标转换模块,包括:
逻辑获取子模块,用于通过OpenGL提供的Uniform变量获取通过所述CPU储存的所述预设运算逻辑;
坐标转换子模块,用于通过所述预设运算逻辑对所述多个顶点坐标进行转换,以获取所述多个目标顶点坐标。
8.根据权利要求5所述的装置,其特征在于,所述图形渲染管线包括:顶点着色器和片段着色器,所述图形转换模块,包括:
坐标接收子模块,用于通过所述顶点着色器接收所述多个目标顶点坐标;
图形拼装子模块,用于根据所述多个目标顶点坐标拼装出所述目标图形的顶点图形框架;
数据转换子模块,用于通过所述图形插值算法,根据所述多个目标顶点坐标和所述映射关系将所述原图形中的每个像素的像素数据转换为所述目标图形中的每个目标像素的目标像素数据;
片段生成子模块,用于根据所述目标像素数据生成所述目标图形的片段数据;
图形获取子模块,用于通过所述片段着色器将所述片段数据添加至所述顶点图形框架中,以完成所述目标图形的渲染。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811593415.9A CN109816761B (zh) | 2018-12-25 | 2018-12-25 | 图形转换方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811593415.9A CN109816761B (zh) | 2018-12-25 | 2018-12-25 | 图形转换方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109816761A CN109816761A (zh) | 2019-05-28 |
CN109816761B true CN109816761B (zh) | 2023-03-21 |
Family
ID=66601768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811593415.9A Active CN109816761B (zh) | 2018-12-25 | 2018-12-25 | 图形转换方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109816761B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112348732B (zh) | 2019-08-08 | 2023-11-17 | 华为技术有限公司 | 基于图形渲染管线的模型推理方法、装置及存储介质 |
CN117236247B (zh) * | 2023-11-16 | 2024-01-23 | 零壹半导体技术(常州)有限公司 | 一种用于芯片测试的信号屏蔽线生成方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007108938A (ja) * | 2005-10-12 | 2007-04-26 | Mitsubishi Electric Corp | グラフィックスシステム |
WO2010138870A2 (en) * | 2009-05-29 | 2010-12-02 | Qualcomm Incorporated | Graphics processing unit with deferred vertex shading |
CN108170350A (zh) * | 2017-12-28 | 2018-06-15 | 努比亚技术有限公司 | 实现数码变焦的方法、终端及计算机可读存储介质 |
-
2018
- 2018-12-25 CN CN201811593415.9A patent/CN109816761B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007108938A (ja) * | 2005-10-12 | 2007-04-26 | Mitsubishi Electric Corp | グラフィックスシステム |
WO2010138870A2 (en) * | 2009-05-29 | 2010-12-02 | Qualcomm Incorporated | Graphics processing unit with deferred vertex shading |
CN108170350A (zh) * | 2017-12-28 | 2018-06-15 | 努比亚技术有限公司 | 实现数码变焦的方法、终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109816761A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3559914B1 (en) | Foveated rendering in tiled architectures | |
US9177351B2 (en) | Multi-primitive graphics rendering pipeline | |
US7190366B2 (en) | Method and system for a general instruction raster stage that generates programmable pixel packets | |
US9792718B2 (en) | Mapping graphics instructions to associated graphics data during performance analysis | |
US20100020069A1 (en) | Partitioning-based performance analysis for graphics imaging | |
US9093006B2 (en) | Image shader using style attribute references | |
CN104167015B (zh) | 一种基于表面信号拟合的着色器简化方法、装置及图形渲染方法 | |
KR20080067840A (ko) | 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법 | |
US10733793B2 (en) | Indexed value blending for use in image rendering | |
KR20190030174A (ko) | 그래픽 처리 | |
EP3178061A1 (en) | High order filtering in a graphics processing unit | |
CN113256764A (zh) | 一种光栅化装置、方法及计算机存储介质 | |
CN109816761B (zh) | 图形转换方法、装置、存储介质和电子设备 | |
CN106575428B (zh) | 图形处理单元中的高阶滤波 | |
WO2016106000A1 (en) | Indefinite texture filter size for graphics processing | |
KR101431311B1 (ko) | 그래픽 이미지들의 시각적 창작 동안의 성능 분석 | |
CN115018968A (zh) | 图像渲染方法、装置、存储介质及电子设备 | |
CN109598672B (zh) | 一种地图道路渲染方法及装置 | |
US7109999B1 (en) | Method and system for implementing programmable texture lookups from texture coordinate sets | |
US20180005432A1 (en) | Shading Using Multiple Texture Maps | |
US20150054842A1 (en) | Image shader using two-tiered lookup table for implementing style attribute references | |
KR101227155B1 (ko) | 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법 | |
CA2730298A1 (en) | Partitioning-based performance analysis for graphics imaging | |
CN113487708B (zh) | 基于图形学的流动动画实现方法、存储介质及终端设备 | |
CN118229507A (zh) | 一种图像处理方法、装置、系统、设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |