CN113041617B - 一种游戏画面渲染方法、装置、设备及存储介质 - Google Patents
一种游戏画面渲染方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113041617B CN113041617B CN202110290202.4A CN202110290202A CN113041617B CN 113041617 B CN113041617 B CN 113041617B CN 202110290202 A CN202110290202 A CN 202110290202A CN 113041617 B CN113041617 B CN 113041617B
- Authority
- CN
- China
- Prior art keywords
- rendered
- format
- target
- rendering
- texture
- 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
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
Abstract
本申请公开一种游戏画面渲染方法、装置、设备及存储介质,在服务器进行游戏画面渲染的过程中,调用游戏引擎读取目标格式的待渲染纹理,按照游戏引擎中的目标着色规则对待渲染纹理进行渲染,得到目标格式的渲染图像。由于目标格式即服务器中的编码器所支持的格式,故游戏引擎直接向编码器发送渲染图像,以便编码器对目标格式的渲染图像进行编码得到待传输编码数据,并发送给客户端进行显示。通过保证输入游戏引擎的待渲染纹理的格式、输出的渲染图像的格式和编码器需要的格式相同,从源头处开始避免在渲染图像的基础上进行色彩空间转换,从而减少服务器的处理时间,提高服务器的渲染效率。并且通过减少色彩空间转换的步骤,降低了服务器的功耗。
Description
技术领域
本申请涉及云游戏领域,特别是涉及一种游戏画面渲染方法、装置、设备及存储介质。
背景技术
云游戏作为一种以云计算技术为基础的在线游戏,使得图形处理与数据运算能力比较有限的终端设备能够运行高品质的游戏。在云游戏的运行模式下,云游戏的系统分为服务器和客户端,服务器可以利用庞大的集群对游戏画面进行实时渲染,进而将渲染后的游戏画面传送至客户端,从而显示给用户。
相关技术中,服务器需要对渲染后的游戏画面进行色彩空间转换,再传送至客户端进行显示。然而,色彩空间转换在增加处理时间的同时也会增加服务器的功耗。
发明内容
为了解决上述技术问题,本申请提供了一种游戏画面渲染方法、装置、设备及存储介质,保证输入游戏引擎的待渲染纹理的格式和编码器需要的格式相同,从源头处开始避免在渲染图像的基础上进行色彩空间转换,从而减少服务器的处理时间,提高服务器的渲染效率。并且由于减少了色彩空间转换的步骤,降低了服务器的功耗。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例提供一种游戏画面渲染方法,所述方法由服务器执行,所述服务器包括游戏引擎和编码器,所述编码器支持目标格式的渲染图像,所述方法包括:
调用所述游戏引擎读取所述目标格式的待渲染纹理;
按照所述游戏引擎中的目标着色规则对所述待渲染纹理进行渲染,得到所述目标格式的渲染图像;
通过所述游戏引擎将所述目标格式的渲染图像发送至所述编码器,以便所述编码器对所述目标格式的渲染图像进行编码得到待传输编码数据。
第二方面,本申请实施例提供一种游戏画面渲染装置,所述装置部署在服务器上,所述服务器包括游戏引擎和编码器,所述编码器支持目标格式的渲染图像,所述装置包括读取单元、渲染单元和发送单元:
所述读取单元,用于调用所述游戏引擎读取所述目标格式的待渲染纹理;
所述渲染单元,用于按照所述游戏引擎中的目标着色规则对所述待渲染纹理进行渲染,得到所述目标格式的渲染图像;
所述发送单元,用于通过所述游戏引擎将所述目标格式的渲染图像发送至所述编码器,以便所述编码器对所述目标格式的渲染图像进行编码得到待传输编码数据。
第三方面,本申请实施例提供一种用于游戏画面渲染的电子设备,所述电子设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面所述的方法。
由上述技术方案可以看出,服务器在对游戏画面进行渲染的过程中,调用服务器中的游戏引擎读取目标格式的待渲染纹理,按照游戏引擎中的目标着色规则对待渲染纹理进行渲染,得到目标格式的渲染图像。其中,目标格式是服务器中的编码器所支持的渲染图像格式,由于游戏引擎直接读取编码器所支持的目标格式的待渲染纹理,那么从游戏引擎中渲染出的图像就直接是目标格式的渲染图像,可以直接被编码器所使用。故游戏引擎直接向编码器发送渲染图像,以便编码器对目标格式的渲染图像进行编码得到待传输编码数据,从而发送给客户端进行显示。可见,本申请在游戏画面渲染过程中,保证输入游戏引擎的待渲染纹理的格式、输出的渲染图像的格式和编码器需要的格式相同,从源头处开始避免在渲染图像的基础上进行色彩空间转换,从而减少服务器的处理时间,提高服务器的渲染效率。并且由于减少了色彩空间转换的步骤,降低了服务器的功耗。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术成员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术提供的一种游戏画面渲染流程的示意图;
图2为本申请实施例提供的一种游戏画面渲染方法的系统架构示意图;
图3为本申请实施例提供的一种游戏画面渲染方法的流程图;
图4为相关技术与本申请实施例提供的服务器中游戏画面渲染流程对比示意图;
图5为本申请实施例提供的一种对待渲染纹理进行游戏渲染的流程图;
图6为相关技术提供的一种对待渲染纹理进行游戏渲染的流程图;
图7为本申请实施例提供的一种实现片元着色的方式示意图;
图8为相关技术提供的一种实现片元着色的方式示意图;
图9为本申请实施例提供的一种游戏画面渲染方法的流程图;
图10为本申请实施例提供的一种游戏画面渲染装置的结构图;
图11为本申请实施例提供的一种终端的结构图;
图12为本申请实施例提供的一种服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
相关技术中,游戏应用都是支持红绿蓝(Red-Green-Blue,RGB)格式的,目前的游戏引擎绝大部分都是处理RGB格式的,而由于NV21色彩空间(即一种色彩空间)比RGB色彩空间占用空间少,所以常用来做视频的编码,故编码器所需要的是NV21格式的渲染图像。因此,实现游戏画面渲染的方法可以参见图1所示,包括云游戏的服务器101和客户端102。在云游戏的服务器101中,服务器101读取RGB纹理,然后对该RGB纹理进行游戏渲染得到RGB图像。由于服务器101的编码器所需要的是NV21格式的渲染图像,故需要对渲染得到的RGB图像进行色彩空间转换得到NV21图像。编码器对NV21图像进行编码得到编码数据,然后传输至云游戏的客户端102,客户端102对编码数据进行解码,并根据解码后的图像进行显示。
其中,色彩空间转换是指把一个色彩空间中的颜色数据转换或表示成另一个色彩空间中的相应数据,即用不同的色彩空间的数据表示同一颜色。例如,对于一个图像,该图像用RGB色彩空间的RGB数据来表示其颜色,则该图像是RGB图像,也可以用NV21色彩空间的NV21数据来表示其颜色,则该图像是NV21图像,而将该图像对应的RGB图像转换为NV21图像的过程即色彩空间转换。
由于相关技术中都存在色彩空间转换这一步,增加了服务器处理时间的同时也会增加服务器的功耗。
为了解决上述技术问题,本申请实施例提供一种游戏画面渲染方法,该方法在进行游戏画面渲染时,保证输入游戏引擎的待渲染纹理的格式和编码器需要的格式相同,从源头处开始避免在渲染图像的基础上进行色彩空间转换,从而减少服务器的处理时间,提高服务器的渲染效率。并且由于减少了色彩空间转换的步骤,降低了服务器的功耗。
需要说明的是,本申请实施例提供的方法主要涉及云技术领域,具体涉及云技术中的云游戏场景中。云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
参见图2,图2为本申请实施例提供的游戏画面渲染方法的系统架构示意图。该系统架构中包括服务器201和终端202,其中服务器201为云游戏对应的服务器,用于运行云游戏;终端202上运行云游戏对应的客户端,用于显示云游戏,获取玩家输入指令并发送给服务器201。
服务器201可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端202可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端202以及服务器201可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
服务器201包括游戏引擎2011和编码器2012,游戏应用中的游戏渲染都是调用某个游戏引擎2011来进行的,通过游戏引擎2011中的着色规则决定如何进行渲染。其中,着色规则用于指示将待渲染纹理中的纹理像素值填充到图像位置的方式,从而完成游戏渲染得到渲染图像。编码器2012支持目标格式的渲染图像,用于对渲染图像进行编码,以便得到待传输编码数据,向终端202传输。
由于编码器2012所支持的是目标格式的渲染图像,为了避免后续对渲染图像进行色彩空间转换,服务器201调用游戏引擎2011读取目标格式的待渲染纹理,然后按照游戏引擎2011中的目标着色规则对所述待渲染纹理进行渲染,输出目标格式的渲染图像。
此时,游戏引擎2011得到的渲染图像的格式与编码器2012所需要的格式是一致的,故无需进行色彩空间转换,可以直接将目标格式的渲染图像发送至编码器,以便编码器2012对目标格式的渲染图像进行编码得到待传输编码数据。
服务器201得到待传输编码数据后,向终端202发送该待传输编码数据,进行由终端202对待传输编码数据进行解码,并利用解码后的渲染图像显示给用户。
接下来,将结合附图对本申请实施例提供的游戏画面渲染方法进行详细介绍。
参见图3,图3示出了一种游戏画面渲染方法的流程图,所述方法包括:
S301、调用所述游戏引擎读取所述目标格式的待渲染纹理。
游戏画面渲染流程事实上是在服务器的游戏引擎中执行的,也即是待渲染纹理实际上是直接给游戏引擎使用的,游戏引擎利用待渲染纹理进行游戏渲染得到渲染图像。
由于服务器得到渲染图像后需要发送至客户端进行显示,而为了节省网络带宽,通常服务器在发送渲染图像之前需要对渲染图像进行编码得到待传输编码数据,从而压缩数据大小,再通过网络传输的方式向客户端发送待传输编码数据。然而,编码器具有其所支持的数据格式,即编码器可以对其所支持的数据格式的渲染图像进行编码。
其中,编码器所支持的数据格式可以是目标格式,目标格式可以是各种压缩效果较好的数据格式,例如YUV格式,当然也可以是其他格式,本实施例对此不做限定。YUV格式是指亮度参量和色度参量分开表示的像素格式,即YUV格式的像素值包括图像的亮度值和色度值,其中,Y表示明亮度(Luminance或Luma),即亮度值;而U和V表示色度(Chrominance或Chroma),即色度值。
YUV格式可以包括NV21格式、NV12格式等,占用空间较少,常用来做视频编码。NV21格式也是先存储了Y分量,但接下来并不是再存储所有的U或者V分量,而是把UV分量交替连续存储。NV12格式是的存储顺序是先存Y分量,再UV进行交替存储。在本实施例中,目标格式还可以具体是NV21格式、NV12格式等。
为了能够在减少色彩空间转换这个步骤的情况下,得到编码器所支持的数据格式的渲染图像,本申请实施例在相关技术的基础上,从源头处开始消除色彩空间转换这个步骤,即服务器调用游戏引擎直接读取编码器所支持的数据格式(即目标格式)的待渲染纹理。
参见图4所示,图4以目标格式是NV21格式为例,401所示为相关技术中服务器进行游戏画面渲染的示意图(即图1中服务器101所执行的步骤),402所示为本申请中服务器进行游戏画面渲染的示意图。与相关技术相比,通过修改游戏渲染流程或者修改游戏引擎,在402所示的流程中,游戏引擎直接读取NV21格式的待渲染纹理,而非RGB格式的待渲染纹理。此时,待渲染纹理的纹理像素值包括图像的亮度值(用Y表示)和色度值(用UV表示)。
需要说明的是,游戏渲染的流程事实上是服务器通过游戏引擎执行的,也即是,NV21纹理也好,RGB纹理也好,实际上是直接给游戏引擎使用的,那么可以针对游戏引擎这一层进行修改,使得游戏引擎可以直接读取目标格式的纹理,输出目标格式的渲染图像,不需要改动游戏本身。因此,在调用游戏引擎读取目标格式的待渲染纹理之前,用户可以触发用于修改游戏引擎输入格式和输出格式的第一修改指令,从而响应于第一修改指令,将游戏引擎的输入格式和输出格式修改为目标格式,这样便可以使得游戏引擎在读取待渲染纹理时,能够按照修改后的输入格式读取目标格式的待渲染纹理,并直接按照修改后的输出格式输出目标格式的渲染图像。
游戏引擎需要对待渲染纹理按照对应的着色规则进行渲染,从而得到渲染图像,着色规则决定着游戏引擎根据待渲染纹理渲染得到渲染图像的实现方式。因此,当对游戏引擎的输入格式和输出格式进行修改后,相应的,也要对着色规则进行修改,即服务器可以响应于第二修改指令,根据目标格式对应的纹理像素值排布情况对游戏引擎中的着色规则进行修改得到目标着色规则,从而保证可以根据输入的目标格式的待渲染纹理正确输出目标格式的渲染图像,使得游戏引擎直接支持目标格式。
与相关技术相比,相关技术侵入游戏的游戏渲染流程本身,对游戏渲染流程进行修改,针对每一款游戏都需要改一遍,而本申请实施例针对游戏引擎,一次修改,该修改针对全部使用该游戏引擎的游戏都生效,从而无需改动游戏本身,大大减少修改次数,更加便捷高效。
S302、按照所述游戏引擎中的目标着色规则对所述待渲染纹理进行渲染,得到所述目标格式的渲染图像。
S303、通过所述游戏引擎将所述目标格式的渲染图像发送至所述编码器,以便所述编码器对所述目标格式的渲染图像进行编码得到待传输编码数据。
服务器中的游戏引擎获取到目标格式的待渲染纹理后,可以按照目标着色规则对待渲染纹理进行渲染,得到目标格式的渲染图像。如图4所示,读取到的NV21格式的待渲染纹理,经过S302的游戏渲染方式得到NV21格式的渲染图像(如402所示)。由于编码器所支持的就是NV21格式,因此,游戏引擎可以直接将输出的渲染图像发送至编码器进行编码得到待传输编码数据(如402所示),而无需如401所示的相关技术一样,先对渲染图像(RGB图像)进行色彩空间转换得到NV21图像,再发送至编码器进行编码得到待传输编码数据。从而减少了色彩空间转换步骤,节约了服务器的消耗,提高游戏画面渲染的效率。
服务器在得到待传输编码数据之后,可以将待传输编码数据发送至客户端,以便客户端根据待传输编码数据显示渲染图像。具体的,客户端对接收到的待传输编码数据进行解码,并利用解码后的渲染图像向用户显示。
由上述技术方案可以看出,服务器在对游戏画面进行渲染的过程中,调用服务器中的游戏引擎读取目标格式的待渲染纹理,按照游戏引擎中的目标着色规则对待渲染纹理进行渲染,得到目标格式的渲染图像。其中,目标格式是服务器中的编码器所支持的渲染图像格式,由于游戏引擎直接读取编码器所支持的目标格式的待渲染纹理,那么从游戏引擎中渲染出的图像就直接是目标格式的渲染图像,可以直接被编码器所使用。故游戏引擎直接向编码器发送渲染图像,以便编码器对目标格式的渲染图像进行编码得到待传输编码数据,从而发送给客户端进行显示。可见,本申请在游戏画面渲染过程中,保证输入游戏引擎的待渲染纹理的格式、输出的渲染图像的格式和编码器需要的格式相同,从源头处开始避免在渲染图像的基础上进行色彩空间转换,从而减少服务器的处理时间,提高服务器的渲染效率。并且由于减少了色彩空间转换的步骤,降低了服务器的功耗。
由于减少了色彩空间转换这一步处理流程,可以更快地进行游戏画面的渲染和编码。同时服务器的功耗会降低,虽然这个转换处理降低相比游戏画面渲染过程的收益不明显,但是在云游戏运行量足够大的情况下,累积节约的耗电量还是非常多的。
可以理解的是,服务器通过游戏引擎进行游戏渲染的实质可以是游戏引擎根据待渲染纹理的纹理像素值进行片元着色,片元着色可以是指将从待渲染纹理中采样得到的纹理像素值填充到对应的图像位置实现游戏渲染。因此,在一种可能的实现方式中,S302的实现方式可以是根据目标着色规则确定待填充的目标区域,根据目标着色规则对待渲染纹理进行纹理采样,利用采样得到的纹理像素值对目标区域中对应的图像位置进行着色,得到渲染图像。
例如图5所示,图5以目标格式是NV21格式为例,针对NV21格式的待渲染纹理执行游戏渲染步骤1、2……(如图5中S501所示),从而确定待填充的目标区域。然后从待渲染纹理中进行纹理采样(如图5中S502所示),利用采样得到的纹理像素值对目标区域中对应的图像位置进行着色(如图5中S503所示),直接得到NV21格式的渲染图像,可以直接被编码器使用,无需色彩空间转换这一步骤,节省处理时间和服务器消耗。
而一些相关技术中虽然存在一些游戏渲染方式可以直接读取NV21格式的待渲染纹理,但是由于其使用NV21格式的待渲染纹理的目的仅是为了压缩纹理的存储空间,游戏引擎输出的仍是RGB图像。因此,在游戏渲染过程中,参见图6所示,针对NV21格式的待渲染纹理执行游戏渲染步骤1、2……(如图6中S601所示)。然后从待渲染纹理中进行纹理采样(如图6中S602所示),接着将采样得到的纹理像素值转换为RGB格式(如图6中S603所示),以便利用RGB格式的纹理像素值进行着色(如图6中S604所示),得到RGB格式的渲染图像。故,该相关技术仍然需要将RGB图像进行色彩空间转换得到NV21图像,进而发送至编码器,并且在游戏渲染过程中还需要一步格式转换,增加了处理时间和服务器消耗。
需要说明的是,待渲染纹理的数据格式不同、输出的渲染图像的数据格式不同,那么,实现片元着色的方式也会有所不同。实现片元着色的方式不同一般体现在确定的目标区域不同,以及纹理采样的方式不同。若目标格式是YUV格式,即目标格式对应的纹理像素值包括图像的亮度值和色度值,那么由于YUV格式的待渲染纹理图像中其纹理像素值的排布情况一般是亮度参量和色度参量分开排布,因此确定的目标区域一般包括两个区域,例如可以是第一区域和第二区域。
这样,根据目标着色规则对待渲染纹理进行纹理采样,利用采样得到的纹理像素值对目标区域中对应的图像位置进行着色,得到所述渲染图像的方式可以是将从待渲染纹理中采样得到的亮度值填充到第一区域对应的图像位置,将从待渲染纹理中采样得到的色度值填充到第二区域对应的图像位置。
参见图7所示,图7以目标格式是NV21格式为例,对于NV21格式的待渲染纹理,该待渲染纹理的纹理像素值排布情况是第1-6行存储的全部是Y,即纹理像素值用Y表示,第7-9行分别采用VU交替连续存储,即纹理像素值用VU连续交替表示。在对该待渲染纹理进行渲染时,确定的目标区域包括第一区域(701所示)和第二区域(702所示)。在对待渲染纹理进行采样时,从待渲染纹理中采样纹理像素值Y填充到第一区域对应的图像位置,从待渲染纹理中采样纹理像素值VU填充到第二区域对应的图像位置,直到将第一区域和第二区域分别填充完毕,从而得到NV21格式的渲染图像(703所示)。
参见图8所示,相关技术针对RGB格式的待渲染纹理,每次采样R、G、B三个像素值填充到目标区域(如801所示),直到目标区域填充完毕,渲染得到RGB格式的渲染图像(如802所示)。本申请通过对着色规则进行修改,使得游戏引擎可以采用图7所示的目标着色规则直接对目标格式的待渲染纹理进行渲染得到目标格式的渲染图像,以便无需色彩空间转换直接送至编码器进行编码。
接下来,将结合实际应用场景对本申请实施例提供的游戏画面渲染方法进行介绍。在云游戏中,服务器完成游戏渲染得到渲染图像,再将渲染图像发送到客户端进行显示。然而服务器中的游戏引擎所使用的数据格式通常为RGB格式,服务器中的编码器所需要的数据格式通常为NV21格式(即目标格式),这就导致通过游戏引擎渲染得到的渲染图像是RGB图像,还需要通过色彩空间转换得到NV21图像,再发送到编码器进行编码,从而向客户端传输。色彩空间转换在增加处理时间的同时也会增加服务器的功耗。
为此,本申请实施例提供一种游戏画面渲染方法,从而省去色彩空间转换这一步骤。服务器包括游戏引擎和编码器,参见图9,所述方法包括:
S901、将游戏引擎的输入格式、输出格式修改为目标格式(NV21格式),以及将游戏引擎的着色规则修改为目标着色规则。
其中,目标着色规则可以决定如何确定待填充的区域以及如何对待渲染纹理进行采样。
S902、按照修改后的输入格式读取NV21格式的待渲染纹理。
S903、按照目标着色规则确定待填充的第一区域和第二区域。
S904、将从待渲染纹理中采样得到的亮度值填充到第一区域对应的图像位置,以及将从待渲染纹理中采样得到的色度值填充到第二区域对应的图像位置,得到NV21格式的渲染图像。
S905、将NV21格式的渲染图像发送至编码器。
S906、编码器对NV21格式的渲染图像进行编码得到待传输编码数据。
S907、编码器将待传输编码数据发送至客户端。
S908、客户端对待传输编码数据进行解码。
S909、客户端将解码后得到的渲染图像显示给用户。
基于图3对应实施例提供的游戏画面渲染方法,本申请实施例还提供一种游戏画面渲染装置,参见图10,所述装置部署在服务器上,所述服务器包括游戏引擎和编码器,所述编码器支持目标格式的渲染图像,所述装置1000包括读取单元1001、渲染单元1002和发送单元1003:
所述读取单元1001,用于调用所述游戏引擎读取所述目标格式的待渲染纹理;
所述渲染单元1002,用于按照所述游戏引擎中的目标着色规则对所述待渲染纹理进行渲染,得到所述目标格式的渲染图像;
所述发送单元1003,用于通过所述游戏引擎将所述目标格式的渲染图像发送至所述编码器,以便所述编码器对所述目标格式的渲染图像进行编码得到待传输编码数据。
在一种可能的实现方式中,所述装置还包括修改单元:
所述修改单元,用于所述读取单元调用所述游戏引擎读取所述目标格式的待渲染纹理之前,响应于第一修改指令,将所述游戏引擎的输入格式和输出格式修改为所述目标格式;
所述修改单元,还用于响应于第二修改指令,根据所述目标格式对应的纹理像素值排布情况对所述游戏引擎中的着色规则进行修改得到所述目标着色规则。
在一种可能的实现方式中,所述读取单元1001,用于:
按照修改后的所述输入格式读取所述目标格式的待渲染纹理;
所述渲染单元1002,用于:
对所述待渲染纹理进行渲染,按照修改后的所述输出格式输出所述渲染图像。
在一种可能的实现方式中,所述渲染单元1002,用于:
根据所述目标着色规则确定待填充的目标区域;
根据所述目标着色规则对所述待渲染纹理进行纹理采样,利用采样得到的纹理像素值对所述目标区域中对应的图像位置进行着色,得到所述渲染图像。
在一种可能的实现方式中,所述目标格式对应的纹理像素值包括图像的亮度值和色度值,所述目标区域包括第一区域和第二区域。
在一种可能的实现方式中,所述渲染单元1002,具体用于:
将从所述待渲染纹理中采样得到的亮度值填充到所述第一区域对应的图像位置;
将从所述待渲染纹理中采样得到的色度值填充到所述第二区域对应的图像位置。
在一种可能的实现方式中,所述发送单元1003还用于:
将所述待传输编码数据发送至客户端,以便所述客户端根据所述待传输编码数据显示所述渲染图像。
本申请实施例还提供了一种用于游戏画面渲染的电子设备,该电子设备可以是终端,以终端为智能手机为例:
图11示出的是与本申请实施例提供的终端相关的智能手机的部分结构的框图。参考图11,智能手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1110、存储器1120、输入单元1130、显示单元1140、传感器1150、音频电路1160、无线保真(英文全称:wireless fidelity,英文缩写:WiFi)模块1170、处理器1180、以及电源1190等部件。输入单元1130可包括触控面板1131以及其他输入设备1132,显示单元1140可包括显示面板1141,音频电路1160可以包括扬声器1161和传声器1162。本领域技术人员可以理解,图11中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器1120可用于存储软件程序以及模块,处理器1180通过运行存储在存储器1120的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1180是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器1120内的软件程序和/或模块,以及调用存储在存储器1120内的数据,执行智能手机的各种功能和处理数据,从而对智能手机进行整体监控。可选的,处理器1180可包括一个或多个处理单元;优选的,处理器1180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180中。
在本实施例中,由终端中的处理器1180执行的步骤可以基于图11所示的结构实现。
该电子设备还可以包括服务器,本申请实施例还提供服务器,请参见图12所示,图12为本申请实施例提供的服务器1200的结构图,服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)1222(例如,一个或一个以上处理器)和存储器1232,一个或一个以上存储应用程序1242或数据1244的存储介质1230(例如一个或一个以上海量存储设备)。其中,存储器1232和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1222可以设置为与存储介质1230通信,在服务器1200上执行存储介质1230中的一系列指令操作。
服务器1200还可以包括一个或一个以上电源1226,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1258,和/或,一个或一个以上操作系统1241,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
在本实施例中,所述服务器包括游戏引擎和编码器,所述编码器支持目标格式的渲染图像,所述服务器1200中的中央处理器1222可以执行以下步骤:
调用所述游戏引擎读取所述目标格式的待渲染纹理;
按照所述游戏引擎中的目标着色规则对所述待渲染纹理进行渲染,得到所述目标格式的渲染图像;
通过所述游戏引擎将所述目标格式的渲染图像发送至所述编码器,以便所述编码器对所述目标格式的渲染图像进行编码得到待传输编码数据。
根据本申请的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前述各个实施例所述的游戏画面渲染方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例各种可选实现方式中提供的方法。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术成员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (7)
1.一种游戏画面渲染方法,其特征在于,所述方法应用于云游戏,所述方法由服务器执行,所述服务器包括游戏引擎和编码器,所述编码器支持目标格式的渲染图像,所述方法包括:
响应于第一修改指令,将所述游戏引擎的输入格式和输出格式修改为所述目标格式;
响应于第二修改指令,根据所述目标格式对应的纹理像素值排布情况对所述游戏引擎中的着色规则进行修改得到目标着色规则;
调用所述游戏引擎读取所述目标格式的待渲染纹理;所述调用所述游戏引擎读取所述目标格式的待渲染纹理,包括:按照修改后的所述输入格式读取所述目标格式的待渲染纹理;
按照所述游戏引擎中的所述目标着色规则对所述待渲染纹理进行渲染,得到所述目标格式的渲染图像;所述按照所述游戏引擎中的目标着色规则对所述待渲染纹理进行渲染,得到所述目标格式的渲染图像,包括:对所述待渲染纹理进行渲染,按照修改后的所述输出格式输出所述渲染图像;
通过所述游戏引擎将所述目标格式的渲染图像发送至所述编码器,以便所述编码器对所述目标格式的渲染图像进行编码得到待传输编码数据。
2.根据权利要求1所述的方法,其特征在于,所述按照所述游戏引擎中的所述目标着色规则对所述待渲染纹理进行渲染,得到所述目标格式的渲染图像,包括:
根据所述目标着色规则确定待填充的目标区域;
根据所述目标着色规则对所述待渲染纹理进行纹理采样,利用采样得到的纹理像素值对所述目标区域中对应的图像位置进行着色,得到所述渲染图像。
3.根据权利要求2所述的方法,其特征在于,所述目标格式对应的纹理像素值包括图像的亮度值和色度值,所述目标区域包括第一区域和第二区域。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标着色规则对所述待渲染纹理进行纹理采样,利用采样得到的纹理像素值对所述目标区域中对应的图像位置进行着色,得到所述渲染图像,包括:
将从所述待渲染纹理中采样得到的亮度值填充到所述第一区域对应的图像位置;
将从所述待渲染纹理中采样得到的色度值填充到所述第二区域对应的图像位置。
5.一种游戏画面渲染装置,其特征在于,所述装置应用于云游戏,所述装置部署在服务器上,所述服务器包括游戏引擎和编码器,所述编码器支持目标格式的渲染图像,所述装置包括修改单元、读取单元、渲染单元和发送单元:
所述修改单元,用于响应于第一修改指令,将所述游戏引擎的输入格式和输出格式修改为所述目标格式;
所述修改单元,还用于响应于第二修改指令,根据所述目标格式对应的纹理像素值排布情况对所述游戏引擎中的着色规则进行修改得到目标着色规则;
所述读取单元,用于调用所述游戏引擎读取所述目标格式的待渲染纹理;所述读取单元具体用于按照修改后的所述输入格式读取所述目标格式的待渲染纹理;
所述渲染单元,用于按照所述游戏引擎中的所述目标着色规则对所述待渲染纹理进行渲染,得到所述目标格式的渲染图像;所述渲染单元具体用于对所述待渲染纹理进行渲染,按照修改后的所述输出格式输出所述渲染图像;
所述发送单元,用于通过所述游戏引擎将所述目标格式的渲染图像发送至所述编码器,以便所述编码器对所述目标格式的渲染图像进行编码得到待传输编码数据。
6.一种用于游戏画面渲染的电子设备,其特征在于,所述电子设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-4中任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110290202.4A CN113041617B (zh) | 2021-03-18 | 2021-03-18 | 一种游戏画面渲染方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110290202.4A CN113041617B (zh) | 2021-03-18 | 2021-03-18 | 一种游戏画面渲染方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113041617A CN113041617A (zh) | 2021-06-29 |
CN113041617B true CN113041617B (zh) | 2022-07-26 |
Family
ID=76513751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110290202.4A Active CN113041617B (zh) | 2021-03-18 | 2021-03-18 | 一种游戏画面渲染方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113041617B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113469883B (zh) * | 2021-06-30 | 2022-05-06 | 完美世界(北京)软件科技发展有限公司 | 动态分辨率的渲染方法、装置、电子设备及可读存储介质 |
CN113476844A (zh) * | 2021-07-05 | 2021-10-08 | 网易(杭州)网络有限公司 | 游戏中的特效处理方法、装置、电子设备及存储介质 |
CN113797545B (zh) * | 2021-08-25 | 2024-10-01 | 广州三七网络科技有限公司 | 游戏脚本处理方法、装置、计算机设备和存储介质 |
CN113643418A (zh) * | 2021-08-30 | 2021-11-12 | 广州商迪科技有限公司 | 一种3d图形高效渲染的方法 |
CN114404960A (zh) * | 2022-02-07 | 2022-04-29 | 腾讯科技(深圳)有限公司 | 云游戏资源数据处理方法、装置、计算机设备和存储介质 |
CN118267700A (zh) * | 2022-12-30 | 2024-07-02 | 腾讯科技(深圳)有限公司 | 云游戏的图像处理方法、装置、计算机设备、介质及产品 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111357289A (zh) * | 2017-11-17 | 2020-06-30 | Ati科技无限责任公司 | 针对视频编码器渲染的游戏引擎应用程序 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201709199D0 (en) * | 2017-06-09 | 2017-07-26 | Delamont Dean Lindsay | IR mixed reality and augmented reality gaming system |
-
2021
- 2021-03-18 CN CN202110290202.4A patent/CN113041617B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111357289A (zh) * | 2017-11-17 | 2020-06-30 | Ati科技无限责任公司 | 针对视频编码器渲染的游戏引擎应用程序 |
Also Published As
Publication number | Publication date |
---|---|
CN113041617A (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113041617B (zh) | 一种游戏画面渲染方法、装置、设备及存储介质 | |
CN111681167B (zh) | 画质调整方法和装置、存储介质及电子设备 | |
US20220014819A1 (en) | Video image processing | |
JP2022050585A (ja) | クロマ予測方法及びデバイス | |
CN113096233B (zh) | 图像处理方法、装置、电子设备及可读存储介质 | |
US10805606B2 (en) | Encoding method and device and decoding method and device | |
EP3089453A1 (en) | Image coding and decoding methods and devices | |
CN106937113B (zh) | 基于混合色度采样率的图像压缩方法和装置 | |
CN109640167B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN107665128B (zh) | 图像处理方法、系统、服务器及可读存储介质 | |
CN112087648B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN114040246A (zh) | 图形处理器的图像格式转换方法、装置、设备及存储介质 | |
CN107465939A (zh) | 视频图像数据流的处理方法及装置 | |
CN115089966B (zh) | 应用于云游戏的视频渲染方法、系统及相关设备 | |
CN108471536B (zh) | Alpha通道传输方法及装置、终端装置及存储介质 | |
CN113630621B (zh) | 一种视频处理的方法、相关装置及存储介质 | |
CN110049347B (zh) | 在直播界面配置图像的方法、系统、终端和装置 | |
CN109151503B (zh) | 一种图片文件处理方法及其设备 | |
CN110858388B (zh) | 一种增强视频画质的方法和装置 | |
CN112653905B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN110662071B (zh) | 视频解码方法和装置、存储介质及电子装置 | |
CN110636295B (zh) | 视频编解码方法和装置、存储介质及电子装置 | |
CN114079823A (zh) | 基于Flutter的视频渲染方法、装置、设备及介质 | |
CN108933945B (zh) | 一种gif图片的压缩方法、装置及存储介质 | |
CN110572674A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40046465 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |