掌桥专利:专业的专利平台
掌桥专利
首页

游戏画面渲染方法、装置、服务器和存储介质

文献发布时间:2023-06-19 09:49:27


游戏画面渲染方法、装置、服务器和存储介质

技术领域

本发明涉及计算机领域,具体涉及一种游戏画面渲染方法、装置、服务器和存储介质。

背景技术

云游戏(Cloud gaming)是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(Thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。

当游戏方需要修改游戏模型的视觉效果时,需要对云端服务器中的游戏模型进行更新,然而,更新时往往需要关闭或暂停向玩家游戏终端传输视频音频流,玩家需要等待一段时间直至更新完成,玩家游戏终端才可以向玩家展示游戏画面中游戏模型新的视觉效果,因此,目前修改云游戏中游戏模型视觉效果的效率低下。

发明内容

本发明实施例提供一种游戏画面渲染方法、装置、服务器和存储介质,可以提升修改云游戏中游戏模型视觉效果的效率。

本发明实施例提供一种游戏画面渲染方法,适用于服务器,包括:

在渲染游戏画面时,获取画面渲染指令流,所述画面渲染指令流中包括至少一个画面渲染指令,所述画面渲染指令为用于指示图形处理器渲染所述游戏画面的指令;

当所述画面渲染指令为第一类型画面渲染指令时,获取所述第一类型画面渲染指令中所包含游戏模型的模型渲染数据,所述模型渲染数据为用于渲染所述游戏模型的数据;

当接收到用户针对所述游戏模型的模型修改请求时,基于所述模型修改请求对所述游戏模型的模型渲染数据进行修改,得到所述修改后模型渲染数据;

将所述第一类型画面渲染指令中所包含的游戏模型的模型渲染数据替换为所述游戏模型的修改后模型渲染数据,得到替换后第一类型画面渲染指令;

向客户端发送所述替换后第一类型画面渲染指令,以便所述客户端的根据所述替换后第一类型画面渲染指令在游戏画面中渲染所述游戏模型。

本发明实施例提供一种游戏画面渲染方法,适用于客户端,包括:

从服务器获取压缩第一类型画面渲染指令,所述压缩第一类型画面渲染指令包括压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据;

对所述压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据进行数据解压处理,得到着色器、所述游戏模型的几何结构数据和纹理贴图数据;

将所述第一类型的画面渲染指令中所包含的所述压缩着色器替换为所述着色器、所述压缩几何结构数据替换为所述几何结构数据、所述压缩纹理贴图数据替换为所述压缩纹理贴图数据,得到第一类型画面渲染指令;

基于所述第一类型画面渲染指令指示图形处理器在游戏画面中渲染所述游戏模型。

本发明实施例还提供一种游戏画面渲染装置,适用于服务器,包括:

指令单元,用于在渲染游戏画面时,获取画面渲染指令流,所述画面渲染指令流中包括至少一个画面渲染指令,所述画面渲染指令为用于指示图形处理器渲染所述游戏画面的指令;

第一指令单元,用于当所述画面渲染指令为第一类型画面渲染指令时,获取所述第一类型画面渲染指令中所包含游戏模型的模型渲染数据,所述模型渲染数据为用于渲染所述游戏模型的数据;

修改单元,用于当接收到用户针对所述游戏模型的模型修改请求时,基于所述模型修改请求对所述游戏模型的模型渲染数据进行修改,得到所述游戏模型的修改后模型渲染数据,所述模型修改请求为用于修改游戏模型的视觉效果的请求;

替换单元,用于将所述第一类型画面渲染指令中所包含的游戏模型的模型渲染数据替换为所述游戏模型的修改后模型渲染数据,得到替换后第一类型画面渲染指令;

第一发送单元,用于向客户端发送所述替换后第一类型画面渲染指令,以便所述客户端的根据所述替换后第一类型画面渲染指令在游戏画面中渲染所述游戏模型。

在一些实施例中,所述第一指令单元,还包括:

映射子单元,用于获取画面渲染指令与指令类型之间的映射关系;

分类子单元,用于根据所述映射关系确定所述画面渲染指令的指令类型,所述指令类型分为第一指令类型和第二指令类型,所述第一指令类型画面渲染指令中包含游戏模型的模型渲染数据,所述第二指令类型的画面渲染指令中不存在游戏模型的模型渲染数据。

在一些实施例中,所述分类子单元,还用于:

当所述画面渲染指令的指令类型为预设第二类型时,向客户端发送所述第二类型画面渲染指令,以便所述客户端的根据所述第二类型画面渲染指令渲染游戏画面。

在一些实施例中,所述分类子单元,还用于:

对所述第二类型的画面渲染指令进行数据数据压缩处理,得到压缩第二类型画面渲染指令;

向客户端发送所述压缩第二类型画面渲染指令,以便所述客户端将所述压缩第二类型画面渲染指令解压为第二类型画面渲染指令后,根据所述第二类型画面渲染指令渲染游戏画面。

在一些实施例中,所述第一指令单元,包括:

列表获取子单元,用于获取模型渲染数据列表;

几何获取子单元,用于通过所述缓存分配信息从缓存中获取所述游戏模型的几何结构数据;

表项生成子单元,用于在所述模型渲染数据列表中生成所述游戏模型的几何表项、纹理表项和着色器表项,所述纹理表项和着色器表项均与所述游戏模型对应;

表项存储子单元,用于将所述几何结构数据存储在所述几何表项中,将所述纹理贴图数据存储在所述纹理表项中,以及,将所述着色器存储在所述着色器表项中。

在一些实施例中,所述模型修改请求包括几何修改请求,所述修改单元,用于:

当接收到用户针对所述游戏模型的几何修改请求时,确定所述几何修改请求中包括的待修改顶点和顶点位置信息;

将所述几何表项中所述几何结构数据的所述待修改顶点的位置设定为所述顶点位置信息。

在一些实施例中,所述模型修改请求包括纹理修改请求,所述修改单元,用于:

当接收到用户针对所述游戏模型的纹理修改请求时,确定所述纹理修改请求包括的待修改顶点和顶点纹理信息;

将所述几何表项中所述纹理贴图数据的所述待修改顶点的纹理设定为所述顶点纹理信息。

在一些实施例中,所述模型修改请求包括着色器修改请求,所述修改单元,用于:

当接收到用户针对所述游戏模型的着色器修改请求时,确定所述着色器修改请求包括的待修改着色器;

将所述着色器表项中的所述着色器修改为所述修改着色器。

在一些实施例中,所述游戏模型的模型渲染数据包括着色器、所述游戏模型的几何结构数据和纹理贴图数据,所述着色器为图形处理器搭载的绘制程序,所述替换单元,用于:

对所述着色器、所述游戏模型的几何结构数据和纹理贴图数据进行数据压缩处理,得到压缩着色器、所述游戏模型的压缩几何结构数据和压缩纹理贴图数据;

将所述第一类型的画面渲染指令中所包含的所述着色器替换为所述压缩着色器、所述几何结构数据替换为所述游戏模型的压缩几何结构数据、所述纹理贴图数据替换为所述游戏模型的压缩纹理贴图数据,得到压缩第一类型画面渲染指令。

本发明实施例还提供一种游戏画面渲染装置,适用于客户端,包括:

第一获取单元,用于从服务器获取压缩第一类型画面渲染指令,所述压缩第一类型画面渲染指令包括压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据;

第一解压单元,用于对所述压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据进行数据解压处理,得到着色器、所述游戏模型的几何结构数据和纹理贴图数据;

第一替换单元,用于将所述第一类型的画面渲染指令中所包含的所述压缩着色器替换为所述着色器、所述压缩几何结构数据替换为所述几何结构数据、所述压缩纹理贴图数据替换为所述压缩纹理贴图数据,得到第一类型画面渲染指令;

第一渲染单元,用于基于所述第一类型画面渲染指令指示图形处理器在游戏画面中渲染所述游戏模型。

在一些实施例中,所述游戏画面渲染装置还用于:

获取压缩第二类型画面渲染指令;

对所述压缩第二类型画面渲染指令进行数据解压处理,得到第二类型画面渲染指令,所述第二类型画面渲染指令中不存在游戏模型的模型渲染数据;

基于所述第二类型画面渲染指令指示图形处理器渲染游戏画面。

本发明实施例还提供一种服务器,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本发明实施例所提供的任一种游戏画面渲染方法中的步骤。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种游戏画面渲染方法中的步骤。

本发明实施例可以在渲染游戏画面时,获取画面渲染指令流,画面渲染指令流中可以包括至少一个画面渲染指令,画面渲染指令为可以用于指示图形处理器渲染画面的指令;当画面渲染指令为第一类型画面渲染指令时,获取第一类型画面渲染指令中所包含游戏模型的模型渲染数据,游戏模型可以包括游戏模型,模型渲染数据为可以用于渲染游戏模型的数据;当接收到用户针对游戏模型的模型修改请求时,基于模型修改请求对游戏模型的模型渲染数据进行修改,得到游戏模型的修改后模型渲染数据,模型修改请求为可以用于修改游戏模型的视觉效果的请求;将第一类型画面渲染指令中所包含的游戏模型的模型渲染数据替换为游戏模型的修改后模型渲染数据,得到替换后第一类型画面渲染指令;向客户端发送替换后第一类型画面渲染指令,以便客户端的根据替换后第一类型画面渲染指令在游戏画面中渲染游戏模型,使得游戏模型的视觉效果发生改变。

为了防止音视频流在传输时受网络带宽的影响被压缩到低分辨率,本发明提出的云端服务器可在GPU(Graphics Processing Unit,图形处理器)渲染游戏画面之前,将送入GPU的画面渲染指令流截取,从而通过传输占用带宽更小的画面渲染指令流,使得客户端可以将接收的画面渲染指令流送入其自身搭载的GPU中,从而进行画面渲染,从而提升最终渲染得到的游戏画面的清晰度。

此外,在修改游戏模型的视觉效果时,仅需对截取的画面渲染指令中所包含的游戏模型渲染数据进行修改,就可以将包含了修改后游戏模型渲染数据的画面渲染指令发送给客户端,以便客户端可以实时地在游戏画面中显示视觉效果发生改变的游戏模型,无需暂停或关闭游戏客户端,用户无需等待就可直接地观看视觉效果发生改变的游戏模型。由此,本方案有效地提升了修改云游戏中游戏模型视觉效果的效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本发明实施例提供的游戏画面渲染方法系统示意图;

图1b是本发明实施例提供的适用于服务器的游戏画面渲染方法的流程示意图;

图1c是本发明实施例提供的游戏画面渲染方法的场景示意图;

图1d是本发明实施例提供的游戏画面渲染方法的几何结构数据的缓存示意图;

图2是本发明实施例提供的适用于客户端的游戏画面渲染方法的流程示意图;

图3是本发明实施例提供的游戏画面渲染装置的第一种结构示意图;

图4是本发明实施例提供的游戏画面渲染装置的第二种结构示意图;

图5是本发明实施例提供的服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种游戏画面渲染方法、装置、服务器和存储介质。

其中,该游戏画面渲染装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。

在一些实施例中,服务器也可以以终端的形式来实现。

其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云端服务器。

云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。

其中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

在一些实施例中,提出一种游戏画面渲染系统,该游戏画面渲染系统可包括适用于服务器的游戏画面渲染装置和适用于客户端的游戏画面渲染装置,其中,用于服务器的游戏画面渲染装置可集成在云端服务器中,适用于客户端的游戏画面渲染装置可集成在终端中。

例如,参考图1a,该游戏画面渲染系统可以包括服务器01和客户端02,其中,服务器01可以通过网络和客户端02通信。

其中,该服务器01可以在渲染游戏画面时,获取画面渲染指令流,画面渲染指令流中可以包括至少一个画面渲染指令,画面渲染指令为可以用于指示图形处理器渲染画面的指令;当画面渲染指令为第一类型画面渲染指令时,获取第一类型画面渲染指令中所包含游戏模型的模型渲染数据,游戏模型可以包括装配在角色模型上的装备模型,模型渲染数据为可以用于渲染游戏模型的数据,游戏模型的模型渲染数据可以包括着色器、游戏模型的几何结构数据和纹理贴图数据,着色器为图形处理器搭载的绘制程序;当接收到用户针对装备模型的模型修改请求时,基于模型修改请求对游戏模型的模型渲染数据进行修改,得到游戏模型的修改后模型渲染数据,模型修改请求为可以用于修改游戏模型的视觉效果的请求;对着色器、游戏模型的几何结构数据和纹理贴图数据进行数据压缩处理,得到压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据;将第一类型的画面渲染指令中所包含的着色器替换为压缩着色器、几何结构数据替换为游戏模型的压缩几何结构数据、纹理贴图数据替换为游戏模型的压缩纹理贴图数据,得到压缩第一类型画面渲染指令;向客户端02发送替换后第一类型画面渲染指令,以便客户端02的根据替换后第一类型画面渲染指令在游戏画面中渲染装配在角色模型上的装备模型,使得装备模型的视觉效果发生改变。

其中,该客户端02可以从服务器01获取压缩第一类型画面渲染指令,压缩第一类型画面渲染指令可以包括压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据,游戏模型可以包括装配在角色模型上的装备模型;

对压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据进行数据解压处理,得到着色器、游戏模型的几何结构数据和纹理贴图数据;将第一类型的画面渲染指令中所包含的压缩着色器替换为着色器、压缩几何结构数据替换为几何结构数据、压缩纹理贴图数据替换为压缩纹理贴图数据,得到第一类型画面渲染指令;基于第一类型画面渲染指令指示图形处理器在游戏画面中渲染装配在角色模型上的装备模型。

以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。

在本实施例中,提供了一种基于云端服务器的游戏画面渲染方法,适用于服务器,如图1b所示,该游戏画面渲染方法的具体流程可以如下:

101、在渲染游戏画面时,获取画面渲染指令流,画面渲染指令流中可以包括至少一个画面渲染指令,画面渲染指令为可以用于指示图形处理器渲染游戏画面的指令。

在本实施例中,服务器中可部署有CPU(Central Processing Unit,中央处理器),该CPU可用于运行游戏的服务端。具体地,服务器上可运行有一个或多个仿真器(VirtualDevice),该仿真器具体可以为虚拟机,该虚拟机中可运行游戏程序,该虚拟机的内存中可包含游戏资源,如游戏的图像资源、字符资源、音频资源,等等。

用户对游戏终端进行的操作可以由虚拟机响应,即虚拟机可以协助终端完成游戏的操作过程。

其中,仿真器(也可称为虚拟容器)是指通过计算机程序模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在仿真器中都能够实现。仿真器可包括Android仿真器、Java仿真器、Linux仿真器,windows仿真器,等等。

例如,参考图1c,服务器中可运行有Android仿真器(Android Virtual Device,AVD)。具体实现过程中,AVD可以为虚拟机的一个软件模块,当用户通过游戏终端(或简称终端)启动游戏时,服务器可在AVD中将画面渲染指令流截获之后可转发至终端,由终端的GPU进行图像渲染并显示。

本实施例可将游戏进程及图像绘制资源消耗全部控制在服务器内,从而降低游戏终端的负载,提升终端用户体验。

该虚拟机中运行有图形库,图形库是一种用于在显示器上渲染计算机图形的程序库,通过提供一组经过优化的函数来执行常见的渲染任务。

比如,虚拟机中可运行有OpenGL(Open Graphics Library,开放式图形库),OpenGL是用于渲染二维和三维矢量图形的跨语言、跨平台的应用程序编程接口(Application Programming Interface,API)。该接口由近多个不同的函数调用指令组成,其中包括图像渲染指令,用于绘制图像。

在本实施例中,参考图1c,服务器渲染游戏画面的流程如下:

游戏程序指示CPU将游戏资源封装在画面渲染指令中,并将画面渲染指令传递给GPU(Graphics Processing Unit,图形处理器);

GPU根据画面渲染指令的指示绘制游戏画面。

需要注意的是,由于在本实施例中,可以直接截取画面渲染指令,因此,服务器中可以搭载GPU,也可以不搭载GPU。

102、当画面渲染指令为第一类型画面渲染指令时,获取第一类型画面渲染指令中所包含游戏模型的模型渲染数据,模型渲染数据为可以用于渲染游戏模型的数据。

其中,第一类型画面渲染指令是指包含有游戏模型的模型渲染数据的画面渲染指令。

在一些实施例中,画面渲染指令流可分为第一画面渲染指令和第二画面渲染指令,其中,第二画面渲染指令是指不包含游戏模型的模型渲染数据的画面渲染指令。

其中,游戏模型可包括游戏场景中的角色模型、物件模型、动植物模型、建筑模型、粒子光效模型,等等。

其中,物件模型可包括装备模型,装备模型是指装配在角色模型上的游戏模型,该装备模型与角色模型之间是具有映射关系的。其中,装备模型可包括武器模型、衣物模型、配饰模型、坐骑模型等。

例如,在一些实施例中,游戏模型可以包括装配在角色模型上的装备模型。

模型渲染数据为可以用于渲染游戏模型的数据,在一些实施例中,模型渲染数据可以包括着色器,几何结构数据和游戏模型的纹理贴图数据等等。为了便于理解模型渲染数据,在此对游戏画面的渲染过程作出介绍:

游戏画面渲染是指,将游戏模型中所有点(顶点,Vertex)的数据取出,经空间转换到二维平面上,然后根据各项参数与数据在屏幕上绘制。

其中,顶点数据可由顶点的位置信息、颜色信息、法线信息等构成。其中,顶点的法线信息主要用于光照计算,用于确定顶点相对于光的朝向。

其中,纹理贴图数据是具有纹理的二维图像数据,纹理贴图(Texture Mapping)上每个点的位置信息,都可精确对应到游戏模型的顶点。

着色器(Shader)是用来实现图像渲染的可编辑程序。按照功能进行分类,着色器可分为顶点着色器(Vertex shader)、像素着色器(Pixel shader)、几何着色器(Geometryshader)、计算着色器(Compute shader)、细分曲面着色器(Tessellation or hullshader),等等。在游戏画面中绘制游戏模型时,需要采用顶点着色器来根据顶点信息创建游戏模型的几何构造,然后,可采用像素着色器来对顶点组成的区域之间填充颜色,然后将纹理贴图数据中的一部分纹理图象映射到每个图元上,形成图元(Primitives),几何着色器可以操作几何上的图元,形成片元(Fragments),然后,将片元光栅化为帧缓冲区中的象素。其中,帧缓冲区是一组逻辑缓冲区,包括颜色缓冲区、深度缓冲区、模版缓冲区和累积缓冲区,等等,最后,根据帧缓冲区中的像素进行游戏画面的显示。

其中,图元是指基本图形元素,任何一个图形表达都是由多个相同的图案组合而成的,例如,由多个点、多个线、或多个面组成的图形,该点、线或面即为基本图形元素。

在本实施例中,几何结构数据可以包括顶点信息,纹理贴图数据可包括纹理贴图图像。

在本实施例中,参考图1c,服务器中可以包括截取模块、压缩模块和网络发送模块,其中,截取模块用于截取画面渲染指令流,压缩模块用于压缩数据,网络发送模块用于与客户端通信。

当截取模块监听到新的画面渲染指令流时,截取模块可直接截获AVD缓存(Buffer),即Android仿真器的缓存中的数据内容;其中,截取画面渲染指令流是指将画面渲染指令流保存到截取模块的内存中。

在一些实施例中,为了降低计算量、提高计算效率,在修改游戏模型的视觉效果时,只需要修改游戏模型的模型渲染数据即可。因此,在截取模块截取画面渲染指令流后,可通过区分画面渲染指令流中画面渲染指令的指令类型,仅将包含模型渲染数据的第一画面渲染指令存储到资源管理器中,以便用户通过修改资源管理器中存储的第一画面渲染指令,来修改游戏模型的模型渲染数据。

因此,在一些实施例中,在步骤102之前,还可以包括如下步骤:

(1)获取画面渲染指令与指令类型之间的映射关系。

其中,画面渲染指令与指令类型之间的映射关系可以是一一映射关系,也可以是一对多映射关系、多对一映射关系或多对多映射关系,等等。

比如,在一些实施例中,画面渲染指令A可以同时与指令类型a、b、c之间存在映射关系;比如,在一些实施例中,画面渲染指令A可以只与指令类型a之间存在映射关系;比如,在一些实施例中,画面渲染指令A、B、C都可以与指令类型a之间存在映射关系。在一些实施例中,指令类型可分为第一指令类型和第二指令类型,第一指令类型画面渲染指令中均可以包含游戏模型的模型渲染数据,第二指令类型的画面渲染指令中不存在游戏模型的模型渲染数据。

具体地,画面渲染指令与指令类型之间的映射关系可根据应用场景预先设置。

比如,在一些实施例中,缓存分配指令(比如,glBufferData,一种含有几何构造数据的OpenGL指令)等含有几何构造数据的画面渲染指令可属于第一指令类型。

其中,缓存分配指令(glBufferData)可用于从含有几何构造数据的缓存中提取几何构造数据。

比如,在一些实施例中,纹理贴图指令(比如,glTexImage2D,一种等含有纹理贴图数据的OpenGL指令)等含有纹理贴图数据的画面渲染指令可属于第一指令类型。

比如,在一些实施例中,着色器指令(比如,glShaderSourc,一种含有纹理贴图数据的着色器OpenGL指令)等含有纹理贴图数据的画面渲染指令均属于第一指令类型。

比如,在一些实施例中,不存在游戏模型的模型渲染数据可属于第二指令类型的画面渲染指令。

例如,glSwapBuffer(一种用于交换两个缓冲区内所存储的数据的OpenGL指令)、glFlush(一种用于强制刷新游戏画面的OpenGL指令)等不存在游戏模型的模型渲染数据可属于第二指令类型的画面渲染指令。

例如,参考表1,表1所示的是画面渲染指令与指令类型之间的映射关系,该映射关系中包括多个不同的画面渲染指令所属的指令类型,即表1所示的映射关系中可以包括画面渲染指令与指令类型之间的映射关系,如下:

表1

例如,映射关系可定义画面渲染指令A、B、C的指令类型为类型a,画面渲染指令D、E的指令类型为类型b,等等。

(2)根据映射关系确定画面渲染指令的指令类型。

在一些实施例中,可通过在如表1所示的映射关系中查询画面渲染指令的指令名,来确定画面渲染指令的指令类型。

在一些实施例中,在步骤“(2)根据映射关系确定画面渲染指令指令类型”之后还可以包括如下步骤:

(3)当画面渲染指令的指令类型为预设第二类型时,向客户端发送第二类型画面渲染指令,以便客户端的根据第二类型画面渲染指令渲染游戏画面。

即,将无关于游戏模型视觉效果改变的画面渲染指令直接发送给客户端,将相关于游戏模型视觉效果改变的画面渲染指令存储到资源管理器中以便用户修改。

在一些实施例中,为了降低网络带宽对数据传输速度的影响、提高游戏画面显示的实时性,步骤“(3)向客户端发送第二类型画面渲染指令,以便客户端的根据第二类型画面渲染指令渲染游戏画面”还可以包括如下步骤:

对第二类型的画面渲染指令进行数据数据压缩处理,得到压缩第二类型画面渲染指令;

向客户端发送压缩第二类型画面渲染指令,以便客户端将压缩第二类型画面渲染指令解压为第二类型画面渲染指令后,根据第二类型画面渲染指令渲染游戏画面。

在一些实施例中,游戏模型的模型渲染数据可以包括着色器,缓存分配信息和游戏模型的纹理贴图数据,步骤102可以包括如下步骤:

获取模型渲染数据列表;

通过缓存分配信息从缓存中获取游戏模型的几何结构数据;

在模型渲染数据列表中生成游戏模型的几何表项、纹理表项和着色器表项,纹理表项和着色器表项均与游戏模型对应;

将几何结构数据存储在几何表项中,将纹理贴图数据存储在纹理表项中,以及,将着色器存储在着色器表项中。

其中,模型渲染数据列表是资源管理模块中用于存储模型渲染数据的列表,该列表中可包括多个游戏模型的表项,每个表项均可以与一个或多个游戏模型关联。

在每次将第一类型画面渲染指令保存到资源管理模块中时,可以将第一类型画面渲染指令所包含的游戏模型的模型渲染数据保存在该模型渲染数据列表中。

其中,缓存分配信息中可以记录游戏模型的几何结构数据是如何存储在缓存中的,比如,参考图1d,图1d是游戏模型A存储在缓存中的顶点信息,其中,缓存中顶点的位置信息和颜色信息均可以以缓存的字节步长(stride)来区分。

当将几何结构数据存储在几何表项中,将纹理贴图数据存储在纹理表项中,以及,将着色器存储在着色器表项中之后,还可以为该表项赋予一个标识符,以便于用户可通过修改表项的标识符来将资源管理器中一个游戏模型的模型渲染数据替换为资源管理器中另一个游戏模型的模型渲染数据。

其中,表项的标识符可以采用资源唯一标志符(Resource Unique Identifier,RUI)和/或哈希值来描述。

其中,资源唯一标志符是指用于标识某一数据对象的唯一的一组字符;资源唯一标志符可包括统一资源标识符(Uniform Resource Identifier,URI)、统一资源定位符(Uniform Resource Locator,URL)、统一资源名称(Uniform Resource Name,URN),等等。

其中,哈希值可由多种哈希函数(Hash Function)计算得出,该哈希函数可包括MD4、MD5、SHA,等等。

具体地,可采用MD5计算哈希值,并根据得到的哈希值来作为表项的标识符。

103、当接收到用户针对装备模型的模型修改请求时,基于模型修改请求对游戏模型的模型渲染数据进行修改,得到修改后模型渲染数据。

其中,模型修改请求是用于修改游戏模型的视觉效果的请求。

由于游戏客户端的类型众多,比如,游戏客户端可以包括Android游戏客户端、IOS游戏客户端、PC游戏客户端等等,为了提高游戏方修改游戏模型视觉效果的效率,在本实施例中,该资源管理器可以动态修改游戏里的资源数据,使得第一类型画面渲染指令中的模型渲染资源在发送给游戏客户端之前可先由游戏方修改,使得修改效果可实时地展现到游戏客户端中。

因此,当接收到用户针对装备模型的模型修改请求时,资源管理器可以基于模型修改请求对游戏模型的模型渲染数据进行修改,得到游戏模型的修改后模型渲染数据。

其中,按照功能的不同,模型修改请求可划分为几何修改请求、纹理修改请求和着色器修改请求。

其中,几何修改请求用于修改游戏模型的几何形状,即对游戏模型的几何结构数据进行修改;纹理修改请求用于修改游戏模型表表面的贴图纹理,即对游戏模型的纹理贴图数据进行修改;着色器修改请求用于修改游戏模型的渲染方法和渲染效果,即对着色器进行修改。

在一些实施例中,模型修改请求可以包括几何修改请求,步骤103可以包括如下步骤:

当接收到用户针对装备模型的几何修改请求时,确定几何修改请求中可以包括的待修改顶点和顶点位置信息;

将几何表项中几何结构数据的待修改顶点的位置设定为顶点位置信息。

其中,几何修改请求中可包括待修改顶点的顶点名和要替换的位置信息。在一些实施例中,几何修改请求中还可包括待修改顶点要替换的颜色信息。

参考图1d,图1d是游戏模型存储在缓存中的顶点信息,通过查询待修改顶点的原位置信息和原颜色信息在缓存中的缓存位置,可以将几何修改请求中的位置信息覆盖在该缓存位置的原位置信息上,以及将几何修改请求中的颜色信息覆盖在该缓存位置的原颜色信息上。

在一些实施例中,模型修改请求可以包括纹理修改请求,步骤103可以包括如下步骤:

当接收到用户针对装备模型的纹理修改请求时,确定纹理修改请求可以包括的待修改顶点和顶点纹理信息;

将几何表项中纹理贴图数据的待修改顶点的纹理设定为顶点纹理信息。

其中,纹理修改请求可以动态地修改纹理贴图数据。在一些实施例中,可以采用glTexImage2D接口传入纹理贴图的变换函数,例如,通过GLenum target修改纹理贴图数据类型、通过GLint level修改纹理贴图在OpenGL存储纹理贴图数据时所用格式、通过GLsizei width修改纹理贴图的宽度、通过GLsizei height修改纹理贴图的高度,等等。

再比如,可以采用glTexImage2D接口传入新的纹理贴图的颜色信息、纹理信息,等等。

在一些实施例中,模型修改请求可以包括着色器修改请求,步骤103可以包括如下步骤:

当接收到用户针对装备模型的着色器修改请求时,确定着色器修改请求可以包括的待修改着色器;

将着色器表项中的着色器修改为修改着色器。

比如,在用户修改游戏装备的动画效果时,可通过新着色器替换原着色器的方式来实现。

其中,着色器修改请求可以动态地修改渲染游戏画面所采用的着色器。在一些实施例中,可以采用glShaderSource接口来传入多种着色器修改函数来修改着色器,例如,通过glShaderSourc创建和加载着色器的脚本源码。

在一些实施例中,可以将预先写好的新的着色器的脚本源码以文本的形式替换掉着色器表项中原有的着色器。

在一些实施例中,可以直接对着色器表项中原有的着色器的脚本源码进行文本修改,比如,修改顶点着色器中脚本源码的坐标转换方式,修改纹理着色器中脚本源码的颜色渐变方式,等等。

104、将第一类型画面渲染指令中所包含的游戏模型的模型渲染数据替换为游戏模型的修改后模型渲染数据,得到替换后第一类型画面渲染指令。

例如,可以将第一类型画面渲染指令中所包含的装备模型的模型渲染数据替换为装备模型的修改后模型渲染数据,得到替换后第一类型画面渲染指令。

在一些实施例中,为了降低网络带宽对数据交换的影响,提高游戏画面渲染的实时性,步骤104可以包括如下步骤:

对着色器、游戏模型的几何结构数据和纹理贴图数据进行数据压缩处理,得到压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据;

将第一类型的画面渲染指令中所包含的着色器替换为压缩着色器、几何结构数据替换为游戏模型的压缩几何结构数据、纹理贴图数据替换为游戏模型的压缩纹理贴图数据,得到压缩第一类型画面渲染指令。

105、向客户端发送替换后第一类型画面渲染指令,以便客户端的根据替换后第一类型画面渲染指令在游戏画面中渲染游戏模型。

例如,可以向客户端发送替换后第一类型画面渲染指令,以便客户端的根据替换后第一类型画面渲染指令在游戏画面中渲染装配在角色模型上的装备模型,使得装备模型的视觉效果发生改变。

在本发明实施例中,用户可通过服务器中的资源管理器来动态修改游戏里的资源数据,无需对每个版本(比如,IOS端、Android端、PC端,等等)的游戏服务端进行一一修改,在资源管理器中实现资源修改后,即可实时地在游戏客户端看到修改后的游戏装备视觉效果。

比如,游戏模型的几何结构可以调大调小,或替换成其他游戏模型的几何结构,游戏模型的纹理贴图可以动态地替换成新的RGB数据,着色器可替换为不同的着色器,等等;从而实现无需调整每个版本的服务端就可以动态更改游戏角色所装配的游戏装备的视觉效果。

由上可知,本发明实施例可以在渲染游戏画面时,获取画面渲染指令流,画面渲染指令流中可以包括至少一个画面渲染指令,画面渲染指令为可以用于指示图形处理器渲染画面的指令;当画面渲染指令为第一类型画面渲染指令时,获取第一类型画面渲染指令中所包含游戏模型的模型渲染数据,游戏模型可以包括装配在角色模型上的装备模型,模型渲染数据为可以用于渲染游戏模型的数据;当接收到用户针对装备模型的模型修改请求时,基于模型修改请求对游戏模型的模型渲染数据进行修改,得到游戏模型的修改后模型渲染数据,模型修改请求为可以用于修改游戏模型的视觉效果的请求;将第一类型画面渲染指令中所包含的游戏模型的模型渲染数据替换为游戏模型的修改后模型渲染数据,得到替换后第一类型画面渲染指令;向客户端发送替换后第一类型画面渲染指令,以便客户端的根据替换后第一类型画面渲染指令在游戏画面中渲染装配在角色模型上的装备模型,使得装备模型的视觉效果发生改变。

由此,本方案可以通过修改画面渲染指令中装备模型的模型渲染数据,从而实现无需调整每个版本服务端中游戏装备的视觉效果,就可以实现实时的视觉效果变化,本方案提升了修改云游戏中游戏模型视觉效果的效率。

对应地,根据上述实施例所描述的方法,以下将对游戏客户端作出对应的说明。

在本实施例中,提供了一种基于云端服务器的游戏画面渲染方法,适用于客户端,如图2所示,该游戏画面渲染方法的具体流程可以如下:

201、从服务器获取压缩第一类型画面渲染指令,压缩第一类型画面渲染指令可以包括压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据。

比如,压缩第一类型画面渲染指令中包括的游戏模型可以是装配在角色模型上的装备模型。

202、对压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据进行数据解压处理,得到着色器、游戏模型的几何结构数据和纹理贴图数据。

203、将第一类型的画面渲染指令中所包含的压缩着色器替换为着色器、压缩几何结构数据替换为几何结构数据、压缩纹理贴图数据替换为压缩纹理贴图数据,得到第一类型画面渲染指令。

204、基于第一类型画面渲染指令指示图形处理器在游戏画面中渲染装配在角色模型上的装备模型。

在一些实施例中,该游戏画面渲染方法的具体流程还可以包括:

(1)获取压缩第二类型画面渲染指令。

(2)对压缩第二类型画面渲染指令进行数据解压处理,得到第二类型画面渲染指令,第二类型画面渲染指令中不存在游戏模型的模型渲染数据。

(3)基于第二类型画面渲染指令指示图形处理器渲染游戏画面。

相比于现有基于视频流的云游戏,本方案中游戏客户端所显示的游戏画面在清晰度上没有损失,且服务端可以修改游戏模型的视觉效果,使得游戏客户端可以实时地展示修改后的视觉效果,降低修改游戏模型的开发成本,满足游戏方的运营需求。

比如,要替换角色模型所装配的坐骑模型,只需要在资源管理器中,将该角色模型所装配的坐骑模型所对应缓存数据替换成新制作的坐骑模型的模型数据(如顶点位置坐标,法线坐标,颜色值,纹理坐标等),即可实现坐骑模型视觉效果的改变。

由上可知,本发明实施例可以从服务器获取压缩第一类型画面渲染指令,压缩第一类型画面渲染指令可以包括压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据;对压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据进行数据解压处理,得到着色器、游戏模型的几何结构数据和纹理贴图数据;将第一类型的画面渲染指令中所包含的压缩着色器替换为着色器、压缩几何结构数据替换为几何结构数据、压缩纹理贴图数据替换为压缩纹理贴图数据,得到第一类型画面渲染指令;基于第一类型画面渲染指令指示图形处理器在游戏画面中渲染游戏模型。

由此本方案可以,从而提升修改云游戏中游戏模型视觉效果的效率。

为了更好地实施以上方法,本发明实施例还提供一种游戏画面渲染装置,适用于服务器,该游戏画面渲染装置具体可以集成在电子设备中,该电子设备可以为服务器等设备。其中,服务器可以是由多个服务器组成的云端服务器集群。

比如,在本实施例中,将以游戏画面渲染装置具体集成在服务器中为例,对本发明实施例的方法进行详细说明。

例如,如图3所示,该游戏画面渲染装置可以包括指令单元301、第一指令单元302、修改单元303、替换单元304以及第一发送单元305,如下:

(一)指令单元301:

指令单元301可以用于在渲染游戏画面时,获取画面渲染指令流,画面渲染指令流中包括至少一个画面渲染指令,画面渲染指令为用于指示图形处理器渲染游戏画面的指令。

(二)第一指令单元302:

第一指令单元302可以用于当画面渲染指令为第一类型画面渲染指令时,获取第一类型画面渲染指令中所包含游戏模型的模型渲染数据,模型渲染数据为用于渲染游戏模型的数据。

在一些实施例中,第一指令单元302,还可以包括映射子单元和分类子单元,如下:

(1)映射子单元:

映射子单元可以用于获取画面渲染指令与指令类型之间的映射关系。

(2)分类子单元:

分类子单元可以用于根据映射关系确定画面渲染指令的指令类型,指令类型分为第一指令类型和第二指令类型,其中,第一指令类型画面渲染指令中包含游戏模型的模型渲染数据,第二指令类型的画面渲染指令中不存在游戏模型的模型渲染数据。

在一些实施例中,分类子单元还可以用于:

当画面渲染指令的指令类型为预设第二类型时,向客户端发送第二类型画面渲染指令,以便客户端的根据第二类型画面渲染指令渲染游戏画面。

在一些实施例中,分类子单元还可以用于:

对第二类型的画面渲染指令进行数据数据压缩处理,得到压缩第二类型画面渲染指令;

向客户端发送压缩第二类型画面渲染指令,以便客户端将压缩第二类型画面渲染指令解压为第二类型画面渲染指令后,根据第二类型画面渲染指令渲染游戏画面。

在一些实施例中,第一指令单元302可以包括列表获取子单元、几何获取子单元、表项生成子单元和表项存储子单元,如下:

(1)列表获取子单元:

列表获取子单元可以用于获取模型渲染数据列表。

(2)几何获取子单元:

几何获取子单元可以用于通过缓存分配信息从缓存中获取游戏模型的几何结构数据。

(3)表项生成子单元:

表项生成子单元可以用于在模型渲染数据列表中生成游戏模型的几何表项、纹理表项和着色器表项,纹理表项和着色器表项均与游戏模型对应。

(4)表项存储子单元:

表项存储子单元可以用于将几何结构数据存储在几何表项中,将纹理贴图数据存储在纹理表项中,以及,将着色器存储在着色器表项中。

(三)修改单元303:

修改单元303可以用于当接收到用户针对游戏模型的模型修改请求时,基于模型修改请求对游戏模型的模型渲染数据进行修改,得到修改后模型渲染数据。

在一些实施例中,模型修改请求可以包括几何修改请求,修改单元303可以用于:

当接收到用户针对游戏模型的几何修改请求时,确定几何修改请求中可以包括的待修改顶点和顶点位置信息;

将几何表项中几何结构数据的待修改顶点的位置设定为顶点位置信息。

在一些实施例中,模型修改请求可以包括纹理修改请求,修改单元303可以用于:

当接收到用户针对游戏模型的纹理修改请求时,确定纹理修改请求可以包括的待修改顶点和顶点纹理信息;

将几何表项中纹理贴图数据的待修改顶点的纹理设定为顶点纹理信息。

在一些实施例中,模型修改请求可以包括着色器修改请求,修改单元303可以用于:

当接收到用户针对游戏模型的着色器修改请求时,确定着色器修改请求可以包括的待修改着色器;

将着色器表项中的着色器修改为修改着色器。

(四)替换单元304:

替换单元304可以用于将第一类型画面渲染指令中所包含的游戏模型的模型渲染数据替换为游戏模型的修改后模型渲染数据,得到替换后第一类型画面渲染指令。

在一些实施例中,游戏模型的模型渲染数据可以包括着色器、游戏模型的几何结构数据和纹理贴图数据,着色器为图形处理器搭载的绘制程序,替换单元304可以用于:

对着色器、游戏模型的几何结构数据和纹理贴图数据进行数据压缩处理,得到压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据;

将第一类型的画面渲染指令中所包含的着色器替换为压缩着色器、几何结构数据替换为游戏模型的压缩几何结构数据、纹理贴图数据替换为游戏模型的压缩纹理贴图数据,得到压缩第一类型画面渲染指令。

(五)第一发送单元305:

第一发送单元305可以用于向客户端发送替换后第一类型画面渲染指令,以便客户端的根据替换后第一类型画面渲染指令在游戏画面中渲染游戏画面。

由上可知,本实施例的游戏画面渲染装置由指令单元在渲染游戏画面时,获取画面渲染指令流,画面渲染指令流中包括至少一个画面渲染指令,画面渲染指令为用于指示图形处理器渲染游戏画面的指令;由第一指令单元当画面渲染指令为第一类型画面渲染指令时,获取第一类型画面渲染指令中所包含游戏模型的模型渲染数据,模型渲染数据为用于渲染游戏模型的数据;由修改单元当接收到用户针对游戏模型的模型修改请求时,基于模型修改请求对游戏模型的模型渲染数据进行修改,得到游戏模型的修改后模型渲染数据,模型修改请求为用于修改游戏模型的视觉效果的请求;由替换单元将第一类型画面渲染指令中所包含的游戏模型的模型渲染数据替换为游戏模型的修改后模型渲染数据,得到替换后第一类型画面渲染指令;由第一发送单元向客户端发送替换后第一类型画面渲染指令,以便客户端的根据替换后第一类型画面渲染指令在游戏画面中渲染游戏模型。

由此,本发明实施例可以提升修改云游戏中游戏模型视觉效果的效率。

为了更好地实施以上方法,本发明实施例还提供一种游戏画面渲染装置,适用于客户端,该游戏画面渲染装置具体可以集成在电子设备中,该电子设备可以为终端,该终端可以是个人电脑、移动手机等设备。

比如,在本实施例中,将以游戏画面渲染装置具体集成在终端中为例,对本发明实施例的方法进行详细说明。

例如,如图4所示,该游戏画面渲染装置可以包括第一获取单元401、第一解压单元402、第一替换单元403以及第一渲染单元404,如下:

(一)第一获取单元401:

第一获取单元401可以用于从服务器获取压缩第一类型画面渲染指令,压缩第一类型画面渲染指令包括压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据。

(二)第一解压单元402:

第一解压单元402可以用于对压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据进行数据解压处理,得到着色器、游戏模型的几何结构数据和纹理贴图数据。

(三)第一替换单元403:

第一替换单元403可以用于将第一类型的画面渲染指令中所包含的压缩着色器替换为着色器、压缩几何结构数据替换为几何结构数据、压缩纹理贴图数据替换为压缩纹理贴图数据,得到第一类型画面渲染指令。

(四)第一渲染单元404:

第一渲染单元404可以用于基于第一类型画面渲染指令指示图形处理器在游戏画面中渲染游戏模型。

在一些实施例中,游戏画面渲染装置还可以用于:

获取压缩第二类型画面渲染指令;

对压缩第二类型画面渲染指令进行数据解压处理,得到第二类型画面渲染指令,第二类型画面渲染指令中不存在游戏模型的模型渲染数据;

基于第二类型画面渲染指令指示图形处理器渲染游戏画面。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

由上可知,本实施例的游戏画面渲染装置由第一获取单用于从服务器获取压缩第一类型画面渲染指令,压缩第一类型画面渲染指令包括压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据;由第一解压单元用于对压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据进行数据解压处理,得到着色器、游戏模型的几何结构数据和纹理贴图数据;由第一替换单元用于将第一类型的画面渲染指令中所包含的压缩着色器替换为着色器、压缩几何结构数据替换为几何结构数据、压缩纹理贴图数据替换为压缩纹理贴图数据,得到第一类型画面渲染指令;由第一渲染单元用于基于第一类型画面渲染指令指示图形处理器在游戏画面中渲染游戏模型。

由此,本发明实施例可以提升修改云游戏中游戏模型视觉效果的效率。

本发明实施例还提供一种电子设备,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑,等等;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,等等。

在一些实施例中,该游戏画面渲染装置还可以集成在多个电子设备中,比如,游戏画面渲染装置可以集成在多个服务器中,由多个服务器来实现本发明的游戏画面渲染方法。

在本实施例中,将以本实施例的电子设备是服务器或终端为例进行详细描述,比如,如图5所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:

该电子设备可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、电源503、输入模块504以及通信模块505等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器501是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。在一些实施例中,处理器501可包括一个或多个处理核心;在一些实施例中,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。

存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。

电子设备还包括给各个部件供电的电源503,在一些实施例中,电源503可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源503还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该电子设备还可包括输入模块504,该输入模块504可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

该电子设备还可包括通信模块505,在一些实施例中通信模块505可以包括无线模块,电子设备可以通过该通信模块505的无线模块进行短距离无线传输,从而为用户提供了无线的宽带互联网访问。比如,该通信模块505可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。

尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。

在一些实施例中,该电子设备可以是服务器,该服务器中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:

在渲染游戏画面时,获取画面渲染指令流,画面渲染指令流中包括至少一个画面渲染指令,画面渲染指令为用于指示图形处理器渲染游戏画面的指令;

当画面渲染指令为第一类型画面渲染指令时,获取第一类型画面渲染指令中所包含游戏模型的模型渲染数据,模型渲染数据为用于渲染游戏模型的数据;

当接收到用户针对游戏模型的模型修改请求时,基于模型修改请求对游戏模型的模型渲染数据进行修改,得到游戏模型的修改后模型渲染数据,模型修改请求为用于修改游戏模型的视觉效果的请求;

将第一类型画面渲染指令中所包含的游戏模型的模型渲染数据替换为游戏模型的修改后模型渲染数据,得到替换后第一类型画面渲染指令;

向客户端发送替换后第一类型画面渲染指令,以便客户端的根据替换后第一类型画面渲染指令在游戏画面中渲染游戏模型。

在一些实施例中,该电子设备可以是终端,该终端中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:

从服务器获取压缩第一类型画面渲染指令,压缩第一类型画面渲染指令可以包括压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据,游戏模型可以包括装配在角色模型上的装备模型;

对压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据进行数据解压处理,得到着色器、游戏模型的几何结构数据和纹理贴图数据;

将第一类型的画面渲染指令中所包含的压缩着色器替换为着色器、压缩几何结构数据替换为几何结构数据、压缩纹理贴图数据替换为压缩纹理贴图数据,得到第一类型画面渲染指令;

基于第一类型画面渲染指令指示图形处理器在游戏画面中渲染装配在角色模型上的装备模型。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

由上可知,本方案可以提升修改云游戏中游戏模型视觉效果的效率。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种游戏画面渲染方法中的步骤。

例如,在一些实施例中,该指令可以执行如下步骤:

在渲染游戏画面时,获取画面渲染指令流,画面渲染指令流中包括至少一个画面渲染指令,画面渲染指令为用于指示图形处理器渲染游戏画面的指令;

当画面渲染指令为第一类型画面渲染指令时,获取第一类型画面渲染指令中所包含游戏模型的模型渲染数据,模型渲染数据为用于渲染游戏模型的数据;

当接收到用户针对游戏模型的模型修改请求时,基于模型修改请求对游戏模型的模型渲染数据进行修改,得到游戏模型的修改后模型渲染数据,模型修改请求为用于修改游戏模型的视觉效果的请求;

将第一类型画面渲染指令中所包含的游戏模型的模型渲染数据替换为游戏模型的修改后模型渲染数据,得到替换后第一类型画面渲染指令;

向客户端发送替换后第一类型画面渲染指令,以便客户端的根据替换后第一类型画面渲染指令在游戏画面中渲染游戏模型。

例如,在一些实施例中,该指令可以执行如下步骤:

从服务器获取压缩第一类型画面渲染指令,压缩第一类型画面渲染指令可以包括压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据,游戏模型可以包括装配在角色模型上的装备模型;

对压缩着色器、游戏模型的压缩几何结构数据和压缩纹理贴图数据进行数据解压处理,得到着色器、游戏模型的几何结构数据和纹理贴图数据;

将第一类型的画面渲染指令中所包含的压缩着色器替换为着色器、压缩几何结构数据替换为几何结构数据、压缩纹理贴图数据替换为压缩纹理贴图数据,得到第一类型画面渲染指令;

基于第一类型画面渲染指令指示图形处理器在游戏画面中渲染装配在角色模型上的装备模型。

其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中提供的云游戏方面或者游戏模型修改方面的各种可选实现方式中提供的方法。

由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种游戏画面渲染方法中的步骤,因此,可以实现本发明实施例所提供的任一种游戏画面渲染方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本发明实施例所提供的一种游戏画面渲染方法、装置、服务器和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 游戏画面渲染方法、装置、服务器和存储介质
  • 游戏画面渲染的方法与装置、存储介质、电子设备
技术分类

06120112316077