CN111798361A - 渲染方法、装置、电子设备及计算机可读存储介质 - Google Patents
渲染方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111798361A CN111798361A CN201910893847.XA CN201910893847A CN111798361A CN 111798361 A CN111798361 A CN 111798361A CN 201910893847 A CN201910893847 A CN 201910893847A CN 111798361 A CN111798361 A CN 111798361A
- Authority
- CN
- China
- Prior art keywords
- rendered
- picture
- rendering
- gpu
- cpu
- 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.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 171
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 39
- 238000013507 mapping Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 14
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供了一种渲染方法、装置、电子设备及计算机可读存储介质,涉及图像处理领域。该方法包括:通过中央处理器CPU将至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息发送至图形处理器GPU,然后由CPU通过调用CPU调用图形编程接口drawcall向GPU发送至少一个渲染指令,然后由GPU根据至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息,确定至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标,并响应至少一个渲染指令,基于至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标对至少一个待渲染图片进行渲染。本申请实施例实现了降低CPU计算压力以及渲染图片时延,并且可以提高图片渲染效率。
Description
技术领域
本申请涉及图像处理技术领域,具体而言,本申请涉及一种渲染方法、装置、电子设备及计算机可读存储介质。
背景技术
随着信息技术的发展,图像处理技术随着发展,图像处理技术可以应用于各个领域,例如,将图像处理技术应用于游戏领域,比如在游戏里中“打怪”时,可能掉落一些物体(可称为:掉落物),并需要对这些掉落物进行渲染,以使得在游戏场景中显示这些掉落物,并且这些掉落物其实都是图片,因此如何对图片进行渲染成为一个关键问题。
现有技术中,中央处理器(Central Processing Unit,CPU)将待渲染图片的各个顶点分别对应的坐标转换为世界坐标,并将转换后的世界坐标发送至图形处理器(Graphics Processing Unit,GPU),然后CPU基于发送至GPU中的待渲染图片的各个顶点分别对应的世界坐标,进行图片渲染。由于计算各个顶点分别对应的世界坐标是在CPU进行的,从而导致CPU的计算压力较大,进而导致渲染图片的时延较长,效率较低。
发明内容
本申请提供了一种渲染方法、装置、电子设备及计算机可读存储介质,可以解决CPU计算压力较大、渲染图片时延较长以及效率较低的问题。
技术方案如下:
第一方面,提供了一种渲染方法,该方法包括:通过中央处理器CPU将至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息发送至图形处理器GPU;
由CPU通过调用CPU调用图形编程接口drawcall向GPU发送至少一个渲染指令;
由GPU根据至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息,确定至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标;
响应至少一个渲染指令,由GPU基于至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标对至少一个待渲染图片进行渲染。
在一种可能的实现方式中,由CPU通过调用CPU调用图形编程接口drawcall向GPU发送至少一个渲染指令,之前还包括:
通过CPU将至少一个待渲染图片中每个待渲染图片对应的贴图信息发送至GPU;
其中,响应至少一个待渲染指令,由GPU基于至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标对至少一个待渲染图片进行渲染,包括:
响应至少一个待渲染指令,由GPU基于至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标以及至少一个待渲染图片中每个待渲染图片对应的贴图信息对至少一个待渲染图片进行渲染。
在另一种可能的实现方式中,当待渲染图片为至少两个时,
通过中央处理器CPU将至少两个待渲染图片的坐标信息以及至少两个待渲染图片的尺寸信息发送至GPU,之前还包括:
通过CPU将至少两个待渲染图片合并成N个图片,其中N小于待渲染的图片数量;
通过CPU确定至少两个待渲染图片中各个待渲染图片分别对应的相对位置信息,任一待渲染图片对应的相对位置信息为任一待渲染图片在包含其的合并后的图片中的相对位置信息。
在另一种可能的实现方式中,通过中央处理器CPU将至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息发送至GPU,包括:
通过CPU将至少两个待渲染图片中各个待渲染图片的坐标信息、各个待渲染图片的尺寸信息以及各个待渲染图片分别对应的相对位置信息发送至GPU。
在另一种可能的实现方式中,由CPU通过调用CPU调用图形编程接口drawcall向GPU发送至少一个渲染指令,包括:
由CPU通过调用drawcall向GPU发送N个渲染指令,N个渲染指令中每个渲染指令为N个图片中每个图片对应的渲染指令。
在另一种可能的实现方式中,由CPU通过调用drawcall向GPU发送N个渲染指令,之前还包括:
通过CPU将至少两个待渲染图片中各个待渲染图片分别对应的贴图信息发送至GPU。
在另一种可能的实现方式中,响应至少一个渲染指令,由GPU基于至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标对至少一个待渲染图片进行渲染,包括:
由GPU确定N个渲染指令中每个渲染指令对应的待渲染信息,每个渲染指令对应的待渲染信息包括:每个图片包含的每个待渲染图片的各个顶点分别对应的世界坐标、每个待渲染图片的贴图信息以及每个待渲染图片对应的相对位置信息;
由GPU基于每个渲染指令对应的待渲染信息,进行渲染。
第二方面,提供了一种渲染装置,该装置包括:中央处理器以及图形处理器,其中中央处理器包括:第一发送模块以及第二发送模块,图形处理器包括:第一确定模块以及渲染模块,其中,
第一发送模块,用于将至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息发送至图形处理器GPU;
第二发送模块,用于通过调用CPU调用图形编程接口drawcall向GPU发送至少一个渲染指令;
第一确定模块,用于根据至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息,确定至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标;
渲染模块,用于响应至少一个渲染指令,基于至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标对至少一个待渲染图片进行渲染。
在一种可能的实现方式中,中央处理器包括:第三发送模块,其中,
第三发送模块,用于将至少一个待渲染图片中每个待渲染图片对应的贴图信息发送至GPU;
渲染模块,具体用于响应至少一个待渲染指令,基于至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标以及至少一个待渲染图片中每个待渲染图片对应的贴图信息对至少一个待渲染图片进行渲染。
在另一种可能的实现方式中,当待渲染图片为至少两个时,中央处理器还包括:合并模块以及第二确定模块,其中,
合并模块,用于将至少两个待渲染图片合并成N个图片,其中N小于待渲染的图片数量;
第二确定模块,用于确定至少两个待渲染图片中各个待渲染图片分别对应的相对位置信息,任一待渲染图片对应的相对位置信息为任一待渲染图片在包含其的合并后的图片中的相对位置信息。
在另一种可能的实现方式中,第一发送模块,具体用于将至少两个待渲染图片中各个待渲染图片的坐标信息、各个待渲染图片的尺寸信息以及各个待渲染图片分别对应的相对位置信息发送至GPU。
在另一种可能的实现方式中,第二发送模块,具体用于通过调用drawcall向GPU发送N个渲染指令,N个渲染指令中每个渲染指令为N个图片中每个图片对应的渲染指令。
在另一种可能的实现方式中,中央处理器包括:第四发送模块,其中,第四发送模块,用于将至少两个待渲染图片中各个待渲染图片分别对应的贴图信息发送至GPU。
在另一种可能的实现方式中,渲染模块,具体用于确定N个渲染指令中每个渲染指令对应的待渲染信息;基于每个渲染指令对应的待渲染信息,进行渲染;
其中,每个渲染指令对应的待渲染信息包括:每个图片包含的每个待渲染图片的各个顶点分别对应的世界坐标、每个待渲染图片的贴图信息以及每个待渲染图片对应的相对位置信息。
第三方面,提供了一种电子设备,该电子设备包括:
一个或多个中央处理器;
一个或多个图形处理器;以及
存储器,配置用于存储机器可读指令,指令在由中央处理器以及图形处理器执行时,使得中央处理器执行第一方面或者第一方面任一可能的实现方式所示的由中央处理器执行的渲染方法对应的操作;以及使得图形处理器执行第一方面或者第一方面任一可能的实现方式所示的由图形处理器执行的渲染方法对应的操作。
第四方面,提供了一种计算机可读存储介质,存储介质存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现第一方面或者第一方面的任一可能的实现方式所示的渲染方法。
本申请提供的技术方案带来的有益效果是:
本申请提供了一种渲染方法、装置、电子设备及计算机可读存储介质,与现有技术相比,本申请通过中央处理器CPU将至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息发送至图形处理器GPU,由CPU通过调用CPU调用图形编程接口drawcall向GPU发送渲染指令,由GPU根据至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息,确定每个待渲染图片的各个顶点分别对应的世界坐标,响应至少一个渲染指令并由GPU基于每个待渲染图片的各个顶点分别对应的世界坐标对至少一个待渲染图片进行渲染。即本申请中每个待渲染图片的各个顶点分别对应的世界坐标是由GPU计算得到的,然后CPU通过调用drawcall,以使得GPU进行图片渲染,从而可以降低CPU的计算压力,进而可以降低渲染图片的时延,并且可以提升图片渲染效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种渲染方法的流程示意图;
图2为本申请实施例提供的一种渲染装置的结构示意图;
图3为本申请实施例提供的一种渲染的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
中央处理器(Central Processing Unit,CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元;
图形处理器(Graphics Processing Unit,GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器;
Draw Call:CPU调用图形编程接口,比如DirectX或OpenGL,来命令GPU进行渲染的操作。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供了一种渲染方法,如图1所示,该方法包括:
步骤S101、通过中央处理器CPU将至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息发送至图形处理器GPU。
对于本申请实施例,待渲染图片的坐标信息可以为待渲染图片的中心点坐标,也可以为待渲染图片的任一顶点坐标。在本申请实施例中并不做限定。
对于本申请实施例,待渲染图片的尺寸信息包括:待渲染图片的长度以及待渲染图片的宽度。
对于本申请实施例,步骤S101之前还可以包括:由CPU获取至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息。在本申请实施例中,CPU一般情况下是从内存中加载至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息。
步骤S102、由CPU通过调用CPU调用图形编程接口drawcall向GPU发送至少一个渲染指令。
步骤S103、由GPU根据至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息,确定至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标。
对于本申请实施例,当接收到任一渲染指令时,确定待渲染的图片,并基于该待渲染的图片的坐标信息和尺寸信息,确定该待渲染图片的各个顶点分别对应的世界坐标。具体地,由GPU根据该待渲染图片的坐标信息以及对应的尺寸信息,确定该待渲染图片的各个顶点分别在模型坐标系中的局域坐标,然后根据该待渲染图片的各个顶点分别在模型坐标系统中局域坐标确定该待渲染图片的各个顶点在世界坐标系中分别对应的世界坐标。
其中,世界坐标系又称绝对坐标系,是游戏开发中的概念,它建立了描述其他坐标系所需要的参考标准。我们可以用世界坐标系来描述其他坐标系的位置。
步骤S104、响应至少一个渲染指令,由GPU基于至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标对至少一个待渲染图片进行渲染。
对于本申请实施例,当接收到任一渲染指令时,确定待渲染的图片,并基于该待渲染的图片的坐标信息和尺寸信息,确定该待渲染图片的各个顶点分别对应的世界坐标之后,根据该待渲染图片的各个顶点分别对应的世界坐标对该待渲染图片进行渲染。
本申请实施例提供了一种渲染方法,与现有技术相比,本申请实施例通过中央处理器CPU将至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息发送至图形处理器GPU,由CPU通过调用CPU调用图形编程接口drawcall向GPU发送渲染指令,由GPU根据至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息,确定每个待渲染图片的各个顶点分别对应的世界坐标,响应至少一个渲染指令并由GPU基于每个待渲染图片的各个顶点分别对应的世界坐标对至少一个待渲染图片进行渲染。即本申请实施例中每个待渲染图片的各个顶点分别对应的世界坐标是由GPU计算得到的,然后CPU通过调用drawcall,以使得GPU进行图片渲染,从而可以降低CPU的计算压力,进而可以降低渲染图片的时延,并且可以提升图片渲染效率。
本申请实施例的一种可能的实现方式,步骤S102之前还可以包括:步骤Sa(图中未示出),其中,
步骤Sa、通过CPU将至少一个待渲染图片中每个待渲染图片对应的贴图信息发送至GPU。
对于本申请实施例,待渲染图片对应的贴图信息可以包括:待渲染图片的纹理信息、待渲染图片的高光贴图信息、法线以及反射信息。其中,待渲染图片的高光贴图信息用于表示纹理质感的光影变化。
对于本申请实施例,步骤Sa可以在步骤S101之前执行,也可以在步骤S101之后执行,当然还可以和步骤S101同时执行。在本申请实施例中并不做限定。
具体地,响应至少一个渲染指令,由GPU基于每个待渲染图片的各个顶点分别对应的世界坐标对每个待渲染图片进行渲染,包括:响应至少一个渲染指令,由GPU基于每个待渲染图片的各个顶点分别对应的世界坐标以及每个待渲染图片对应的贴图信息对每个待渲染图片进行渲染。
对于本申请实施例,CPU调用drawcall向GPU发送渲染指令,以使得GPU响应该渲染指令并根据该渲染指令对应的待渲染图片的各个顶点分别对应的世界坐标以及该待渲染图片对应的贴图信息对该待渲染图片进行渲染。
本申请实施例的另一种可能的实现方式,当待渲染图片为至少两个时,步骤S101之前还包括:步骤Sb(图中未示出)以及步骤Sc(图中未示出),其中,
步骤Sb、通过中央处理器CPU将至少两个待渲染图片合并成N个图片。
其中,N小于待渲染的图片数量。
对于本申请实施例,由GPU每渲染一张图片,就需要CPU调用一次drawcall,当待渲染图片为至少两个,例如为M个时,即通过GPU渲染M张图片,则需要调用M次drawcall,因此在现有技术中若渲染多张图片,则需要调用多次drawcall,从而导致CPU开销较大,渲染效率较低。
为了解决上述技术特征,本申请实施例中通过CPU将至少两个待渲染图片合并至N个图片,则CPU调用N次drawcall渲染合并后的N张图片。
例如,待渲染图片为M个,则通过CPU将这M个图片合并至N个图片,其中N小于M。
对于本申请实施例,将至少两个待渲染图片合并成N个图片的方式,具体可以包括:从该至少两个待渲染图片中确定需要合并在一起的图片,并基于确定需要合并在一起的图片,将至少两个待渲染图片合并成N个图片。
例如,当待渲染图片为3个,则可以将这3个待渲染图片合并成一个图片。
对于本申请实施例,当确定需要合并在一张图片上的待渲染图片之后,可以按照预设规则,对需要合并在一张图片的至少两张待渲染图片进行合并。
例如,按照图片尺寸大小顺序,对需要合并在一张图片上的至少两张图片进行合并。
步骤Sc、通过中央处理器CPU确定至少两个待渲染图片中各个待渲染图片分别对应的相对位置信息。
其中,任一待渲染图片对应的相对位置信息为任一待渲染图片在包含其的合并后的图片中的相对位置信息。
对于本申请实施例,步骤Sb中将至少两张待渲染图片合并至一张图片之后,确定至少两张待渲染图片中每张图片在合成后的图片中的相对位置信息。在本申请实施例中,任一张待渲染图片在合并后图片中的相对位置信息可以包括:该任一待渲染图片的任一顶点相对于合并后图片的某一顶点的相对位置信息;或者该任一待渲染图片的中心点相对于合并后图片的中心点的相对位置信息。
例如,将待渲染图片1以及待渲染图片2合并在一张图片中,待渲染图片1的相对位置信息为待渲染图片1的左下角顶点相对于合并后图片的左下角顶点的相对位置信息。
本申请实施例的另一种可能的实现方式,当待渲染图片为至少两个时,步骤S101具体可以包括:步骤S1011(图中未示出),其中,
步骤S1011、通过CPU将至少两个待渲染图片中各个待渲染图片的坐标信息、各个待渲染图片的尺寸信息以及各个待渲染图片分别对应的相对位置信息发送至GPU。
本申请实施例的另一种可能的实现方式,当待渲染图片为至少两个,步骤S102具体可以包括:步骤S1021(图中未示出),其中,
步骤S1021、由CPU通过调用drawcall向GPU发送N个渲染指令。
其中,N个渲染指令中每个渲染指令为N个图片中每个图片对应的渲染指令。
对于本申请实施例,由CPU通过调用一次drawcall向GPU发送每个合并后图片对应的渲染指令,以使得GPU对每个合并后图片中各个待渲染图片进行渲染。在本申请实施例中,若合并后的图片为N个,则由CPU通过调用N次drawcall,以实现对所有待渲染图片进行渲染,从而可以降低CPU调用drawcall的次数,进而可以降低CPU的开销,并且可以提升图片渲染效率。
本申请实施例的另一种可能的实现方式,当待渲染图片为至少两个,在步骤S1021的基础上,步骤S1021之前还可以包括:步骤Sd(图中未示出),其中,
步骤Sd、通过CPU将至少两个待渲染图片中各个待渲染图片分别对应的贴图信息发送至GPU。
对于本申请实施例,若待渲染图片为至少两个,则需要预先通过CPU将至少两个图片中每个图片的贴图信息发送至GPU。
对于本申请实施例,贴图信息的定义详见上述实施例,在此不再赘述。
对于本申请实施例,步骤Sd可以在步骤S1011之前执行,还可以在步骤S1011之后执行,还可以和步骤S1011同时执行。在本申请实施例中并不做限定。
进一步地,当待渲染图片为至少一个时,执行步骤Sa,不执行步骤Sd,当待渲染图片为至少两个时,执行步骤Sd,不执行步骤Sa。
本申请实施例的另一种可能的实现方式,当待渲染图片为至少两个,步骤S104具体可以包括:步骤S1041(图中未示出)以及步骤S1042(图中未示出),其中,
步骤S1041、由GPU确定N个渲染指令中每个渲染指令对应的待渲染信息。
其中,每个渲染指令对应的待渲染信息包括:每个图片包含的每个待渲染图片的各个顶点分别对应的世界坐标、每个待渲染图片的贴图信息以及每个待渲染图片对应的相对位置信息。
步骤S1042、由GPU基于每个渲染指令对应的待渲染信息,进行渲染。
对于本申请实施例,GPU在接收到CPU发送的渲染指令时,根据各个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标,渲染各个待渲染图片的轮廓,然后根据每个待渲染图片对应的相对位置信息,确定每个待渲染图片的贴图信息,并基于确定出每个待渲染图片的贴图信息,在与之对应的轮廓中进行图片渲染。
基于上述实施例,本申请基于一个具体的场景介绍渲染的方法,该具体的场景为:针对游戏过程中,针对掉落物的渲染方式,具体如下所示:
由CPU将待渲染的各个掉落物的图片合并成一张图片,然后将各个掉落物的图片分别对应的贴图信息、各个掉落物的图片分别对应的中心点坐标、各个掉落物的图片分别对应的尺寸信息以及各个掉落物的图片相对于合并后的图片的相对位置信息发送至GPU,然后接收到渲染指令时由GPU根据各个掉落物的图片分别对应的中心点坐标以及各个掉落物的图片分别对应的尺寸信息,确定各个掉落物的图片中每个掉落物的图片的各个顶点的世界坐标,并且GPU基于渲染指令,并根据每个掉落物的图片的各个顶点的世界坐标、各个掉落物的图片相对于合并后的图片的相对位置信息、以及各个掉落物的图片分别对应的贴图信息,对各个掉落物的图片进行渲染。
上述实施例从方法流程的角度介绍了渲染的方法,下述实施例从虚拟模块或者虚拟单元的角度介绍了一种渲染装置,具体如下所示:
本申请实施例提供了一种渲染装置,如图2所示,该渲染装置20可以包括:中央处理器21以及图形处理器22,其中中央处理器21包括:第一发送模块211以及第二发送模块212,图形处理器22包括:第一确定模块221以及渲染模块222,其中,
第一发送模块211,用于将至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息发送至图形处理器GPU。
第二发送模块212,用于通过调用CPU调用图形编程接口drawcall向GPU发送至少一个渲染指令。
第一确定模块221,用于根据至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息,确定至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标。
渲染模块222,用于响应至少一个渲染指令,基于至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标对至少一个待渲染图片进行渲染。
本申请实施例的另一种可能的实现方式,中央处理器21包括:第三发送模块,其中,
第三发送模块,用于将至少一个待渲染图片中每个待渲染图片对应的贴图信息发送至GPU。
渲染模块222,具体用于响应至少一个待渲染指令,基于至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标以及至少一个待渲染图片中每个待渲染图片对应的贴图信息对至少一个待渲染图片进行渲染。
本申请实施例的另一种可能的实现方式,当待渲染图片为至少两个时,中央处理器21还包括:合并模块以及第二确定模块,其中,
合并模块,用于将至少两个待渲染图片合并成N个图片,其中N小于待渲染的图片数量;
第二确定模块,用于确定至少两个待渲染图片中各个待渲染图片分别对应的相对位置信息,任一待渲染图片对应的相对位置信息为任一待渲染图片在包含其的合并后的图片中的相对位置信息。
第一发送模块211,具体用于将至少两个待渲染图片中各个待渲染图片的坐标信息、各个待渲染图片的尺寸信息以及各个待渲染图片分别对应的相对位置信息发送至GPU。
本申请实施例的另一种可能的实现方式,当待渲染图片为至少两个时,第一确定模块221,具体用于根据各个待渲染图片的坐标信息以及各个待渲染图片的尺寸信息,确定各个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标。
本申请实施例的另一种可能的实现方式,当待渲染图片为至少两个时,第二发送模块212,具体用于通过调用drawcall向GPU发送N个渲染指令。
其中,N个渲染指令中每个渲染指令为N个图片中每个图片对应的渲染指令。
本申请实施例的另一种可能的实现方式,当待渲染图片为至少两个时,中央处理器21包括:第四发送模块,其中,
第四发送模块,用于将至少两个待渲染图片中各个待渲染图片分别对应的贴图信息发送至GPU;
对于本申请实施例,第一发送模块211、第二发送模块212、第三发送模块以及第四发送模块可以任意组合为相同的发送模块,也可以均为不同的发送模块。在本申请实施例中不做限定。
本申请实施例的另一种可能的实现方式,当待渲染图片为至少两个时,渲染模块222,具体用于确定N个渲染指令中每个渲染指令对应的待渲染信息;基于每个渲染指令对应的待渲染信息,进行渲染。
其中,每个渲染指令对应的待渲染信息包括:每个图片包含的每个待渲染图片的各个顶点分别对应的世界坐标、每个待渲染图片的贴图信息以及每个待渲染图片对应的相对位置信息。
本申请实施例提供了一种渲染装置,与现有技术相比,本申请实施例通过中央处理器CPU将至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息发送至图形处理器GPU,由CPU通过调用CPU调用图形编程接口drawcall向GPU发送渲染指令,由GPU根据至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息,确定每个待渲染图片的各个顶点分别对应的世界坐标,响应至少一个渲染指令并由GPU基于每个待渲染图片的各个顶点分别对应的世界坐标对至少一个待渲染图片进行渲染。即本申请实施例中每个待渲染图片的各个顶点分别对应的世界坐标是由GPU计算得到的,然后CPU通过调用drawcall,以使得GPU进行图片渲染,从而可以降低CPU的计算压力,进而可以降低渲染图片的时延,并且可以提升图片渲染效率。
上述实施例从方法流程的角度介绍了一种渲染方法以及虚拟模块或者虚拟单元的角度介绍了一种渲染装置,下述实施例介绍了一种电子设备,用于执行上述方法实施例所示的渲染方法,具体如下所示:
本申请实施例提供了一种电子设备,如图3所示,图3所示的电子设备3000包括:处理器3001和存储器3003。其中,处理器3001和存储器3003相连,如通过总线3002相连。其中,处理器3001包括:中央处理器3001a以及图形处理器3001b,并且中央处理器3001a与图形处理器3002相连,可选地,电子设备3000还可以包括收发器3004。需要说明的是,实际应用中收发器3004不限于一个,该电子设备3000的结构并不构成对本申请实施例的限定。
处理器3001可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器3001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线3002可包括一通路,在上述组件之间传送信息。总线3002可以是PCI总线或EISA总线等。总线3002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器3003可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器3003用于存储执行本申请方案的应用程序代码,并由处理器3001来控制执行。处理器3001用于执行存储器3003中存储的应用程序代码,以实现前述任一方法实施例所示的内容。
具体地,中央处理器3001a用于执行存储器3003中存储的应用程序代码,以实现前述由中央处理器3001a执行的任一方法实施例所示的内容;图形处理器3001b用于执行存储器3003中存储的应用程序代码,以实现前述由图形处理器3001b执行的任一方法实施例所示的内容。
本申请实施例提供了一种电子设备,本申请实施例中的电子设备包括:存储器和处理器;至少一个程序,存储于所述存储器中,用于被所述处理器执行时,与现有技术相比可实现:通过中央处理器CPU将至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息发送至图形处理器GPU,由CPU通过调用CPU调用图形编程接口drawcall向GPU发送渲染指令,由GPU根据至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息,确定每个待渲染图片的各个顶点分别对应的世界坐标,响应至少一个渲染指令并由GPU基于每个待渲染图片的各个顶点分别对应的世界坐标对至少一个待渲染图片进行渲染。即本申请实施例中每个待渲染图片的各个顶点分别对应的世界坐标是由GPU计算得到的,然后CPU通过调用drawcall,以使得GPU进行图片渲染,从而可以降低CPU的计算压力,进而可以降低渲染图片的时延,并且可以提升图片渲染效率。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,通过中央处理器CPU将至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息发送至图形处理器GPU,由CPU通过调用CPU调用图形编程接口drawcall向GPU发送渲染指令,由GPU根据至少一个待渲染图片的坐标信息以及至少一个待渲染图片的尺寸信息,确定每个待渲染图片的各个顶点分别对应的世界坐标,响应至少一个渲染指令并由GPU基于每个待渲染图片的各个顶点分别对应的世界坐标对至少一个待渲染图片进行渲染。即本申请实施例中每个待渲染图片的各个顶点分别对应的世界坐标是由GPU计算得到的,然后CPU通过调用drawcall,以使得GPU进行图片渲染,从而可以降低CPU的计算压力,进而可以降低渲染图片的时延,并且可以提升图片渲染效率。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种渲染方法,其特征在于,包括:
通过中央处理器CPU将至少一个待渲染图片的坐标信息以及所述至少一个待渲染图片的尺寸信息发送至图形处理器GPU;
由所述CPU通过调用CPU调用图形编程接口drawcall向所述GPU发送至少一个渲染指令;
由所述GPU根据所述至少一个待渲染图片的坐标信息以及所述至少一个待渲染图片的尺寸信息,确定所述至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标;
响应所述至少一个渲染指令,由所述GPU基于所述至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标对所述至少一个待渲染图片进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述由所述CPU通过调用CPU调用图形编程接口drawcall向所述GPU发送至少一个渲染指令,之前还包括:
通过CPU将所述至少一个待渲染图片中每个待渲染图片对应的贴图信息发送至所述GPU;
其中,所述响应所述至少一个渲染指令,由所述GPU基于所述至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标对所述至少一个待渲染图片进行渲染,包括:
响应所述至少一个渲染指令,由GPU基于所述至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标以及所述至少一个待渲染图片中每个待渲染图片对应的贴图信息对所述至少一个待渲染图片进行渲染。
3.根据权利要求1所述的方法,其特征在于,当待渲染图片为至少两个时,
通过中央处理器CPU将至少两个待渲染图片的坐标信息以及所述至少两个待渲染图片的尺寸信息发送至GPU,之前还包括:
通过所述CPU将所述至少两个待渲染图片合并成N个图片,其中N小于所述待渲染的图片数量;
通过所述CPU确定所述至少两个待渲染图片中各个待渲染图片分别对应的相对位置信息,任一待渲染图片对应的相对位置信息为所述任一待渲染图片在包含其的合并后的图片中的相对位置信息。
4.根据权利要求3所述的方法,其特征在于,所述通过中央处理器CPU将至少一个待渲染图片的坐标信息以及所述至少一个待渲染图片的尺寸信息发送至GPU,包括:
通过所述CPU将所述至少两个待渲染图片中各个待渲染图片的坐标信息、所述各个待渲染图片的尺寸信息以及所述各个待渲染图片分别对应的相对位置信息发送至GPU。
5.根据权利要求4所述的方法,其特征在于,所述由所述CPU通过调用CPU调用图形编程接口drawcall向所述GPU发送至少一个渲染指令,包括:
由CPU通过调用drawcall向所述GPU发送N个渲染指令,所述N个渲染指令中每个渲染指令为所述N个图片中每个图片对应的渲染指令。
6.根据权利要求5所述的方法,其特征在于,所述由所述CPU通过调用drawcall向所述GPU发送N个渲染指令,之前还包括:
通过所述CPU将所述至少两个待渲染图片中各个待渲染图片分别对应的贴图信息发送至所述GPU。
7.根据权利要求6所述的方法,其特征在于,所述响应所述至少一个渲染指令,由所述GPU基于所述至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标对所述至少一个待渲染图片进行渲染,包括:
由所述GPU确定所述N个渲染指令中每个渲染指令对应的待渲染信息,所述每个渲染指令对应的待渲染信息包括:所述每个图片包含的每个待渲染图片的各个顶点分别对应的世界坐标、每个待渲染图片的贴图信息以及每个待渲染图片对应的相对位置信息;
由所述GPU基于所述每个渲染指令对应的待渲染信息,进行渲染。
8.一种渲染装置,其特征在于,包括:中央处理器以及图形处理器,其中所述中央处理器包括:第一发送模块以及第二发送模块,所述图形处理器包括:第一确定模块以及渲染模块,其中,
所述第一发送模块,用于将至少一个待渲染图片的坐标信息以及所述至少一个待渲染图片的尺寸信息发送至图形处理器GPU;
所述第二发送模块,用于通过调用CPU调用图形编程接口drawcall向所述GPU发送至少一个渲染指令;
所述第一确定模块,用于根据所述至少一个待渲染图片的坐标信息以及所述至少一个待渲染图片的尺寸信息,确定所述至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标;
所述渲染模块,用于响应所述至少一个渲染指令,基于所述至少一个待渲染图片中每个待渲染图片的各个顶点分别对应的世界坐标对所述至少一个待渲染图片进行渲染。
9.一种电子设备,其特征在于,其包括:
一个或多个中央处理器;
一个或多个图形处理器;以及
存储器,配置用于存储机器可读指令,所述指令在由所述中央处理器以及图形处理器执行时,使得所述中央处理器执行权利要求1-7任一项由中央处理器执行的所述的渲染方法,以及使得所述图形处理器执行权利要求1-7任一项由图形处理器执行的所述的渲染方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述的渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910893847.XA CN111798361A (zh) | 2019-09-20 | 2019-09-20 | 渲染方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910893847.XA CN111798361A (zh) | 2019-09-20 | 2019-09-20 | 渲染方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111798361A true CN111798361A (zh) | 2020-10-20 |
Family
ID=72804923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910893847.XA Pending CN111798361A (zh) | 2019-09-20 | 2019-09-20 | 渲染方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111798361A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419806A (zh) * | 2021-06-30 | 2021-09-21 | 腾讯科技(上海)有限公司 | 图像处理方法、装置、计算机设备和存储介质 |
CN113835890A (zh) * | 2021-09-24 | 2021-12-24 | 厦门雅基软件有限公司 | 一种渲染数据处理方法、装置、设备和存储介质 |
WO2022089592A1 (zh) * | 2020-10-30 | 2022-05-05 | 华为技术有限公司 | 一种图形渲染方法及其相关设备 |
CN117695625A (zh) * | 2023-07-24 | 2024-03-15 | 荣耀终端有限公司 | 插帧方法、装置、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254340A (zh) * | 2011-07-29 | 2011-11-23 | 北京麒麟网信息科技有限公司 | 一种基于gpu加速的环境光遮挡图像绘制方法及系统 |
CN105023234A (zh) * | 2015-06-29 | 2015-11-04 | 嘉兴慧康智能科技有限公司 | 基于嵌入式系统存储优化的图形加速方法 |
US20160035127A1 (en) * | 2013-04-19 | 2016-02-04 | Panasonic Intellectual Property Management Co., Ltd. | Three-dimensional image display system, server for three-dimensional image display system, and three-dimensional image display method |
CN108196835A (zh) * | 2018-01-29 | 2018-06-22 | 东北大学 | 一种游戏引擎中图元存储和渲染的方法 |
CN109816763A (zh) * | 2018-12-24 | 2019-05-28 | 苏州蜗牛数字科技股份有限公司 | 一种图形渲染方法 |
-
2019
- 2019-09-20 CN CN201910893847.XA patent/CN111798361A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254340A (zh) * | 2011-07-29 | 2011-11-23 | 北京麒麟网信息科技有限公司 | 一种基于gpu加速的环境光遮挡图像绘制方法及系统 |
US20160035127A1 (en) * | 2013-04-19 | 2016-02-04 | Panasonic Intellectual Property Management Co., Ltd. | Three-dimensional image display system, server for three-dimensional image display system, and three-dimensional image display method |
CN105023234A (zh) * | 2015-06-29 | 2015-11-04 | 嘉兴慧康智能科技有限公司 | 基于嵌入式系统存储优化的图形加速方法 |
CN108196835A (zh) * | 2018-01-29 | 2018-06-22 | 东北大学 | 一种游戏引擎中图元存储和渲染的方法 |
CN109816763A (zh) * | 2018-12-24 | 2019-05-28 | 苏州蜗牛数字科技股份有限公司 | 一种图形渲染方法 |
Non-Patent Citations (1)
Title |
---|
GR90: "GPU渲染流程学习_01", 《HTTPS://BLOG.CSDN.NET/QQ_33727884/ARTICLE/DETAILS/78455489》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022089592A1 (zh) * | 2020-10-30 | 2022-05-05 | 华为技术有限公司 | 一种图形渲染方法及其相关设备 |
CN113419806A (zh) * | 2021-06-30 | 2021-09-21 | 腾讯科技(上海)有限公司 | 图像处理方法、装置、计算机设备和存储介质 |
CN113419806B (zh) * | 2021-06-30 | 2023-08-08 | 腾讯科技(上海)有限公司 | 图像处理方法、装置、计算机设备和存储介质 |
CN113835890A (zh) * | 2021-09-24 | 2021-12-24 | 厦门雅基软件有限公司 | 一种渲染数据处理方法、装置、设备和存储介质 |
CN117695625A (zh) * | 2023-07-24 | 2024-03-15 | 荣耀终端有限公司 | 插帧方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111798361A (zh) | 渲染方法、装置、电子设备及计算机可读存储介质 | |
EP3968270A1 (en) | Image occlusion processing method, device, apparatus and computer storage medium | |
CN110084875B (zh) | 使用计算着色器作为顶点着色器的前端 | |
KR102276909B1 (ko) | 렌더링 방법 및 장치 | |
CN111354063B (zh) | 一种三维元素渲染方法、桌面云服务端及桌面云系统 | |
CN112529995B (zh) | 图像渲染计算方法、装置、存储介质以及终端 | |
WO2014035682A1 (en) | Surface tessselation by symmetric edge splitting | |
CN102122502A (zh) | 一种三维字体显示方法以及相关装置 | |
CN111754381A (zh) | 图形渲染方法、装置和计算机可读存储介质 | |
WO2014035694A2 (en) | Storage structures for stitching primitives in graphics processing | |
US9652886B2 (en) | Rendering processing device and rendering processing method using interpolation rendering result | |
KR20170058113A (ko) | 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 그래픽스 파이프라인을 수행하는 방법 | |
CN117058288A (zh) | 图形处理器及方法、多核图形处理系统、电子装置及设备 | |
CN113538502A (zh) | 图片裁剪方法、装置、电子设备及存储介质 | |
CN112711729A (zh) | 基于页面动画的渲染方法、装置、电子设备及存储介质 | |
CN112700519A (zh) | 动画展示方法、装置、电子设备及计算机可读存储介质 | |
CN112423111A (zh) | 图形引擎和适用于播放器的图形处理方法 | |
EP3050605A1 (en) | A method for event detection in real-time graphic applications | |
CN117392266A (zh) | 线框绘制方法、装置、电子设备及计算机可读存储介质 | |
CN112614210A (zh) | 工程图纸显示方法、系统及相关装置 | |
CN116263982B (zh) | 图形处理器、系统、方法、电子装置及设备 | |
CN112837416A (zh) | 基于三角剖分的多边形渲染方法、装置及存储介质 | |
CN114004925B (zh) | 基于WebGL的模型渲染方法、电子设备及存储介质 | |
CN115861510A (zh) | 对象渲染方法、装置、电子设备、存储介质及程序产品 | |
CN108845961B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201020 |
|
RJ01 | Rejection of invention patent application after publication |