游戏中的渲染方法、渲染装置、电子设备及可读存储介质与流程

文档序号:21047861发布日期:2020-06-09 21:01阅读:237来源:国知局
游戏中的渲染方法、渲染装置、电子设备及可读存储介质与流程

本申请涉及计算机图形学技术领域,具体而言,涉及一种游戏中的渲染方法、渲染装置、电子设备及可读存储介质。



背景技术:

光栅化渲染,是一种高性能的渲染方式,主要用于实时性要求比较高的场合,如游戏,3d演示等。传统的光栅化渲染流程大致可以分为3个阶段:几何处理阶段,光栅化阶段,像素处理阶段。其中几何处理阶段会读取几何体的顶点信息,并对顶点进行变换、裁剪;光栅化阶段会对变换、裁剪之后的顶点所构成的三角形进行光栅化,生成像素处理阶段所需的各类信息,包括每个三角形覆盖的画面范围,以及顶点属性的插值结果等;像素处理阶段会根据光栅化的结果,进行贴图采样、光照计算等操作,生成渲染的结果。

传统的光栅化渲染虽然可以实现实时性渲染,并且得到较好的渲染效果,但是传统的光栅化渲染方案,对于每帧画面都需要按照完整流程进行渲染,性能消耗比较大,易造成处理时间和资源的浪费,对于设备的性能造成负担。



技术实现要素:

有鉴于此,本申请的目的在于提供一种游戏中的渲染方法、渲染装置、电子设备及可读存储介质,通过省去对待渲染游戏模型的几何处理和光栅化处理的数据处理过程,减少光栅化渲染的流程,以存储空间替换时间消耗,可以有效减少光栅化渲染的渲染时间和数据处理时间,有助于减少资源消耗,降低设备的性能负担。

本申请实施例提供了一种游戏中的渲染方法,所述渲染方法包括:

确定待渲染游戏模型是否在游戏场景中进行过渲染;

若是,获取响应于在先渲染请求渲染所述待渲染游戏模型时,所述待渲染游戏模型在所述游戏场景中的历史放置参数,以及此次目标渲染请求指示的所述待渲染游戏模型在所述游戏场景中的目标放置参数;

若所述目标放置参数与所述历史放置参数相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据;

响应所述目标渲染请求,根据所述历史顶点插值数据和所述目标渲染请求渲染所述待渲染游戏模型。

进一步的,在所述若所述目标放置参数与所述历史放置参数相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据之前,所述渲染方法还包括:

若所述待渲染游戏模型在游戏场景中进行过渲染,获取响应于在先渲染请求渲染所述待渲染游戏模型时,所述待渲染游戏模型在图形用户界面中的历史显示位置,以及此次目标渲染请求指示的所述待渲染游戏模型在所述图形用户界面中的目标显示位置;

所述若所述目标放置参数与所述历史放置参数相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据,包括:

若所述目标放置参数与所述历史放置参数相同,并且所述目标显示位置与所述历史显示位置相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据。

进一步的,在所述确定待渲染游戏模型是否在游戏场景中进行过渲染之后,所述渲染方法包括:

若所述待渲染游戏模型未在游戏场景中进行过渲染,或者虽然所述待渲染游戏模型在游戏场景中进行过渲染,但所述目标放置参数与所述历史放置参数不相同时,确定所述待渲染游戏模型的顶点数据;

根据所述顶点数据,对所述待渲染游戏模型进行空间变换处理及光栅化处理,得到目标顶点插值数据;

存储所述目标顶点插值数据,并将所述目标顶点插值数据作为所述历史顶点插值数据。

进一步的,所述历史顶点插值数据包括所述待渲染游戏模型在所述游戏场景中显示时的顶点属性数据,所述顶点属性数据至少包括与每个顶点对应的法线数据、uv数据。

进一步的,所述响应所述目标渲染请求,根据所述历史顶点插值数据和所述目标渲染请求渲染所述待渲染游戏模型,包括:

根据所述渲染请求,获取此次在游戏场景中显示所述待渲染游戏模型时的模型贴图数据及场景光照数据;

基于所述模型贴图数据、所述场景光照数据和所述历史顶点插值数据,对所述待渲染游戏模型进行渲染。

本申请实施例还提供了一种游戏中的渲染装置,所述渲染装置包括:

渲染检测模块,用于确定待渲染游戏模型是否在游戏场景中进行过渲染;

放置参数获取模块,用于若是,获取响应于在先渲染请求渲染所述待渲染游戏模型时,所述待渲染游戏模型在所述游戏场景中的历史放置参数,以及此次目标渲染请求指示的所述待渲染游戏模型在所述游戏场景中的目标放置参数;

数据获取模块,用于若所述目标放置参数与所述历史放置参数相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据;

模型渲染模块,用于响应所述目标渲染请求,根据所述历史顶点插值数据和所述目标渲染请求渲染所述待渲染游戏模型。

进一步的,所述渲染装置还包括位置参数获取模块,所述位置参数获取模块用于:

若所述待渲染游戏模型在游戏场景中进行过渲染,获取响应于在先渲染请求渲染所述待渲染游戏模型时,所述待渲染游戏模型在图形用户界面中的历史显示位置,以及此次目标渲染请求指示的所述待渲染游戏模型在所述图形用户界面中的目标显示位置;

所述数据获取模块在用于若所述目标放置参数与所述历史放置参数相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据时,所述数据获取模块用于:

若所述目标放置参数与所述历史放置参数相同,并且所述目标显示位置与所述历史显示位置相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据。

进一步的,所述渲染装置还包括插值数据确定模块,所述插值数据确定模块用于:

若所述待渲染游戏模型未在游戏场景中进行过渲染,或者虽然所述待渲染游戏模型在游戏场景中进行过渲染,但所述目标放置参数与所述历史放置参数不相同时,确定所述待渲染游戏模型的顶点数据;

根据所述顶点数据,对所述待渲染游戏模型进行空间变换处理及光栅化处理,得到目标顶点插值数据;

存储所述目标顶点插值数据,并将所述目标顶点插值数据作为所述历史顶点插值数据。

进一步的,所述历史顶点插值数据包括所述待渲染游戏模型在所述游戏场景中显示时的顶点属性数据,所述顶点属性数据至少包括与每个顶点对应的法线数据、uv数据。

进一步的,所述模型渲染模块在用于响应所述目标渲染请求,根据所述历史顶点插值数据和所述目标渲染请求渲染所述待渲染游戏模型时,所述模型渲染模块用于:

根据所述渲染请求,获取此次在游戏场景中显示所述待渲染游戏模型时的模型贴图数据及场景光照数据;

基于所述模型贴图数据、所述场景光照数据和所述历史顶点插值数据,对所述待渲染游戏模型进行渲染。

本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的游戏中的渲染方法的步骤。

本申请实施例还提供一种计算机可读存储介质,该所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述的游戏中的渲染方法的步骤。

本申请实施例提供的游戏中的渲染方法、渲染装置、电子设备及可读存储介质,确定待渲染游戏模型是否在游戏场景中进行过渲染;若是,获取响应于在先渲染请求渲染所述待渲染游戏模型时,所述待渲染游戏模型在所述游戏场景中的历史放置参数,以及此次目标渲染请求指示的所述待渲染游戏模型在所述游戏场景中的目标放置参数;若所述目标放置参数与所述历史放置参数相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据;响应所述目标渲染请求,根据所述历史顶点插值数据和所述目标渲染请求渲染所述待渲染游戏模型。

这样,能够在确定待渲染游戏模型是否在游戏场景中进行过渲染,并且在先渲染待渲染游戏模型的历史放置参数与此次待渲染游戏模型的目标放置参数匹配的时候,可以直接通过预先存储的待渲染游戏模型的历史顶点插值数据对待渲染游戏模型进行渲染,从而可以省去对待渲染游戏模型的几何处理和光栅化处理的数据处理过程,减少光栅化渲染的流程,以存储空间替换时间消耗,可以有效减少光栅化渲染的渲染时间和数据处理时间,有助于减少资源消耗,降低设备的性能负担。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为一种可能的应用场景下的系统架构图;

图2为本申请实施例所提供的一种游戏中的渲染方法的流程图;

图3为本申请另一实施例所提供的一种游戏中的渲染方法的流程图;

图4为本申请实施例所提供的一种渲染装置的结构示意图之一;

图5为本申请实施例所提供的一种渲染装置的结构示意图之二;

图6为本申请实施例所提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。

首先,对本申请可适用的应用场景进行介绍。本申请可应用于计算机图形学技术领域。请参阅图1,图1为一种可能的应用场景下的系统构图。如图1中所示,所述系统包括数据服务器、渲染装置以及用户终端,所述数据服务器中可以存储有游戏数据,所述用户终端可以从所述数据服务器中获取游戏数据,以显示游戏内容与用户互动,所述渲染装置可以在用户终端进行游戏显示时,接收所述用户终端发送的目标渲染请求,并在检测到待渲染游戏模型在游戏场景中进行过渲染,并且目标放置参数与在先渲染的历史放置参数相同时,直接从所述数据服务器中获取预先存储的待渲染游戏模型在之前进行渲染时的历史顶点插值数据,以对待渲染游戏模型进行渲染,再将渲染后的模型对应的数据发送给所述用户终端。其中,为了清晰显示所述数据服务器、所述渲染装置和所述用户终端之间的关系,将所述渲染装置与所述用户终端分别设置,单独示意出,但在实际应用中,所述渲染装置可以是以嵌入式应用或者模型的方式,内嵌到所述用户终端中。

经研究发现,传统的光栅化渲染虽然可以实现实时性渲染,并且得到较好的渲染效果,但是传统的光栅化渲染方案,对于每帧画面都需要按照完整流程进行渲染,性能消耗比较大,易造成处理时间和资源的浪费,对于设备的性能造成负担。

基于此,本申请实施例提供了一种游戏中的渲染方法,在有匹配的历史顶点插值数据时,直接获取到预先存储的历史顶点插值数据,渲染待渲染游戏模型,从而省去对待渲染游戏模型的几何处理和光栅化处理的数据处理过程,减少光栅化渲染的流程,以存储空间替换时间消耗,可以有效减少光栅化渲染的渲染时间和数据处理时间,有助于减少资源消耗,降低设备的性能负担。

请参阅图1,图1为本申请实施例所提供的一种游戏中的渲染方法的流程图。如图1中所示,本申请实施例提供的游戏中的渲染方法,包括:

s201、确定待渲染游戏模型是否在游戏场景中进行过渲染。

该步骤中,当需要对待渲染游戏模型在游戏场景中进行渲染时,首先确定在历史的游戏过程中是否已经在游戏场景中渲染过待渲染游戏模型。

s202、若是,获取响应于在先渲染请求渲染所述待渲染游戏模型时,所述待渲染游戏模型在所述游戏场景中的历史放置参数,以及此次目标渲染请求指示的所述待渲染游戏模型在所述游戏场景中的目标放置参数。

该步骤中,若确定待渲染游戏染模型在游戏场景中进行过渲染,即待渲染游戏模型在此次渲染之前已经进行过渲染,则获取响应于在先前渲染请求渲染待渲染游戏模型时,待渲染游戏模型渲染在游戏场景中之后得到的历史放置参数,以及此次渲染时目标渲染请求指示的待渲染游戏模型渲染在游戏场景中之后所得到的目标放置参数。

其中,所述历史放置参数包括能够表明待渲染游戏模型在先渲染时渲染至游戏场景中的长、宽、高以及大小等形状参数,还包括能够表明在先渲染时将待渲染游戏模型转换至述游戏场景中的角度、展示面等位置参数。目标放置参数包括能够表明待渲染游戏模型此次渲染时渲染至游戏场景中的长、宽、高以及大小等形状参数,还包括能够表明此次渲染时将待渲染游戏模型转换至述游戏场景中的角度、展示面等位置参数。

所述游戏场景是指在整个游戏的过程中,虚拟角色能够到达的所有地点,换句话说就是游戏所包括的所有场景及地点。

本申请中,此次将待渲染游戏模型渲染在游戏场景中之后所得到的目标放置参数,表示的是在将待渲染游戏模型渲染至游戏场景中之前,目标渲染请求所指示的需要将待渲染游戏模型渲染后在游戏场景放置参数,即还未进行渲染时,准备渲染前需要得知的放置参数,例如需要将待渲染游戏模型摆放在什么场景内、什么地点、什么角度等,只有预先知道需要将待渲染游戏模型渲染后放置在游戏场景中的目标放置参数,然后才能经过适当的中间数据变换等处理过程,得到渲染过程的中间变换模型,最终得到在游戏场景中与目标放置参数所对应的模型,最后才能对待渲染游戏模型进行渲染。因此,在每次渲染时,进行渲染的待渲染游戏模型的目标放置参数是可以预先获知的,即在对待渲染游戏模型进行渲染之前就可以得到基础的目标放置参数。

举例来讲,例如需要对某个虚拟角色进行更换外观服装的颜色等,虚拟角色的人物模型和服装模型等都是同一个,在游戏空间中显示的地点也是一致的,仅是服装颜色、显示时间上等个别因素不同,这种针对同一场景内的同一模型的渲染,在渲染前,我们就可以知道待渲染模型是哪个,以及渲染的游戏场景等参数信息,仅是渲染时使用的光照数据、颜色数据等不同,因此,在渲染之前即可得到渲染模型、场景、位置等参数信息。这样,在此次渲染前,就可以通过虚拟角色以何种状态显示在游戏空间的何处,即虚拟角色的目标放置参数,与在先渲染时的历史放置参数进行匹配,来看是否可以使用已有的模型的插值数据。

示例性的,需要对游戏中的“花瓶a”进行渲染,对于待渲染游戏模型“花瓶a”,在此次渲染之前,已经在游戏中被渲染过,即渲染的模型是一致的,仅是此次渲染显示的时间(早晨或者晚上等)、渲染条件(例如光照、天气(下雨和下雪等)、颜色等因素)等有差异,对于这种针对同一场景内的同一模型的渲染,若想调用之前渲染过程中“花瓶a”的历史顶点差值数据,首先需要确定在进行此次渲染时将“花瓶a”渲染在游戏场景后的目标放置参数是否与在先渲染时“花瓶a”渲染在游戏场景中的历史放置参数一致,即判断在此次渲染后将“花瓶a”显示在游戏场景中所产生的目标放置参数中指示的游戏场景、物品角度等,是否与在先渲染后将“花瓶a”显示在游戏场景中所产生的历史放置参数中指示的游戏场景、物品角度等相匹配。

s203、若所述目标放置参数与所述历史放置参数相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据。

该步骤中,若待渲染游戏模型在游戏场景中的历史放置参数与此次目标渲染请求指示的所述待渲染游戏模型在游戏场景中的目标放置参数相同,则获取在先渲染待渲染游戏模型后预先存储的,根据在先渲染请求渲染待渲染游戏模型时,获得的待渲染游戏模型的历史顶点插值数据。

s204、响应所述目标渲染请求,根据所述历史顶点插值数据和所述目标渲染请求渲染所述待渲染游戏模型。

该步骤中,响应于目标渲染请求,根据获取到的待渲染游戏模型的历史顶点插值数据,对待渲染游戏模型进行渲染。

其中,采用光栅化渲染方法对待渲染游戏模型进行渲染,光栅化渲染方法的渲染流程大致可以分为3个阶段:几何处理阶段,光栅化阶段,像素处理阶段。其中几何处理阶段会读取几何体的顶点信息,并对顶点进行变换、裁剪;光栅化阶段会对变换、裁剪之后的顶点所构成的三角形进行光栅化,生成像素处理阶段所需的各类信息,包括每个三角形覆盖的画面范围,以及顶点属性的插值结果等;像素处理阶段会根据光栅化的结果,进行贴图采样、光照计算等操作,生成渲染的结果。

而在本申请中,当待渲染游戏模型在游戏场景中进行过渲染且待渲染游戏模型在游戏场景中的历史放置参数与此次渲染所指示的将待渲染游戏模型渲染至游戏场景面后的目标放置参数相匹配,能够直接获取预先存储的待渲染游戏模型的历史顶点插值数据,并基于获取到的历史顶点插值数据,渲染待渲染游戏模型,因此不需要再次重复执行光栅化渲染的几何处理阶段以及光栅化阶段,便能够获得待渲染游戏模型的历史顶点插值数据,可以有效减少光栅化渲染的渲染时间和数据处理时间,有助于减少资源消耗,降低设备的性能负担。

其中,所述历史顶点插值数据包括所述待渲染游戏模型在所述游戏场景中显示时的顶点属性数据,所述顶点属性数据至少包括与每个顶点对应的法线数据、uv数据。

本申请实施例提供的游戏中的渲染方法,确定待渲染游戏模型是否在游戏场景中进行过渲染;若是,获取响应于在先渲染请求渲染所述待渲染游戏模型时,所述待渲染游戏模型在所述游戏场景中的历史放置参数,以及此次目标渲染请求指示的所述待渲染游戏模型在所述游戏场景中的目标放置参数;若所述目标放置参数与所述历史放置参数相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据;响应所述目标渲染请求,根据所述历史顶点插值数据和所述目标渲染请求渲染所述待渲染游戏模型。

这样,能够在确定待渲染游戏模型在游戏场景中进行过渲染,并且在先渲染待渲染游戏模型的历史放置参数与此次待渲染游戏模型的目标放置参数匹配的时候,可以直接通过预先存储的待渲染游戏模型的历史顶点插值数据对待渲染游戏模型进行渲染,从而可以省去对待渲染游戏模型的几何处理和光栅化处理的数据处理过程,减少光栅化渲染的流程,以存储空间替换时间消耗,可以有效减少光栅化渲染的渲染时间和数据处理时间,有助于减少资源消耗,降低设备的性能负担。

请参阅图3,图3为本申请另一实施例提供的游戏中的渲染方法的流程图。如图3中所示,本申请实施例提供的游戏中的渲染方法,包括:

s301、确定待渲染游戏模型是否在游戏场景中进行过渲染。

s302、若是,获取响应于在先渲染请求渲染所述待渲染游戏模型时,所述待渲染游戏模型在所述游戏场景中的历史放置参数,以及此次目标渲染请求指示的所述待渲染游戏模型在所述游戏场景中的目标放置参数。

s303、若所述目标放置参数与所述历史放置参数相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据。

s304、响应所述目标渲染请求,根据所述历史顶点插值数据和所述目标渲染请求渲染所述待渲染游戏模型。

s305、若所述待渲染游戏模型未在游戏场景中进行过渲染,或者虽然所述待渲染游戏模型在游戏场景中进行过渲染,但所述目标放置参数与所述历史放置参数不相同时,确定所述待渲染游戏模型的顶点数据。

该步骤中,若待渲染游戏模型在此次渲染之前,在游戏场景中未进行过渲染,即待渲染游戏模型未被渲染过,或者待渲染游戏模型在游戏场景中进行过渲染,但是在先前渲染时在图形用户界面中的历史放置参数与此次渲染时待渲染游戏模型在游戏场景中的目标放置参数不相同时,确定待渲染游戏模型的顶点数据。

s306、根据所述顶点数据,对所述待渲染游戏模型进行空间变换处理及光栅化处理,得到目标顶点插值数据。

该步骤中,根据确定出的待渲染游戏模型的顶点数据,对待渲染游戏模型进行空间变换处理以及光栅化处理,得到待渲染游戏模型的目标顶点差值数据。

s307、存储所述目标顶点插值数据,并将所述目标顶点插值数据作为所述历史顶点插值数据。

该步骤中,将得到的待渲染游戏模型经过空间变换处理以及光栅化处理后的目标顶点差值数据,存储至预先设置的存储位置上,并将目标顶点差值数据作为待渲染游戏模型的历史顶点差值数据。

物体的空间变换处理,是指将物体由三维空间最终投影到渲染的画面上,所需要经历的三维变换的处理过程,通常包括:(1)模型变换,将模型由局部空间变换到世界空间,通俗地讲,就是将模型摆放到场景中某个位置;(2)相机变换,将模型由世界空间变换到相机空间,通俗地讲,就是从相机所在位置去看摆放的模型;(3)投影变换,将模型由相机空间,变换到屏幕空间,通俗地讲,就是把相机看到的画面,投影到胶卷上,由三维模型变为二维的画面。

光栅化处理阶段的输入是前面几何处理阶段生成的变换之后的顶点数据。此时,模型的顶点数据已经被变换到了屏幕空间。对于模型中的每个三角形,光栅化阶段会遍历在三角形内部的所有像素,使用重心坐标插值的方法,得到顶点属性在每个像素的插值结果。

在光栅化阶段结束后,紧接着会利用光栅化阶段生成的插值数据,进行像素处理阶段。在本发明中,会对光栅化阶段生成的顶点插值数据进行保存。保存的方式是使用一个大小与渲染画面一致的二维数组,数组中每个元素包含光栅化阶段在对应像素插值得到的所有属性。

其中,s301至s304的描述可以参照s201至s204的描述,并且能达到相同的技术效果,对此不做赘述。

进一步的,步骤s303之前,所述渲染方法还包括:若所述待渲染游戏模型在游戏场景中进行过渲染,获取响应于在先渲染请求渲染所述待渲染游戏模型时,所述待渲染游戏模型在图形用户界面中的历史显示位置,以及此次目标渲染请求指示的所述待渲染游戏模型在所述图形用户界面中的目标显示位置;所述若所述目标放置参数与所述历史放置参数相同,获取预存的、根据在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据,包括:若所述目标放置参数与所述历史放置参数相同,并且所述目标显示位置与所述历史显示位置相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据。

该步骤中,若待渲染游戏模型在游戏场景中进行过渲染,即待渲染游戏模型在此次渲染之前已经进行过渲染,则获取响应于在先前渲染请求渲染待渲染游戏模型时,待渲染模型在图形用户界面中的历史显示位置,即待渲染游戏模型显示在图形用户界面中的左侧、右侧等,以及此次目标渲染请求所指示的待渲染游戏模型此次渲染后显示在图形用户界面中的目标显示位置,即此次渲染后待渲染游戏模型是显示在图形用户界面中的左侧、右侧等;若在先渲染时的历史放置参数与此次目标渲染请求所指示的待渲染游戏模型的目标放置参数相同,且在先渲染时的历史显示位置与此次目标渲染请求所指示的待渲染游戏模型的目标显示位置相同,则获取在先渲染待渲染游戏模型后预先存储的,根据在先渲染请求渲染待渲染游戏模型时,获得的待渲染游戏模型的历史顶点插值数据。

对应于上述实施了,“花瓶a”展示在图像用户界面中,在先渲染时“花瓶a”被展示在图形用户界面中右侧柜子上(获得历史显示位置),且“花瓶a”未被遮挡,此次渲染请求所指示的“花瓶a”同样被展示在图形用户界面中右侧柜子上(获得目标显示位置),且“花瓶a”未被遮挡,两次渲染柜子的位置与“花瓶a”的位置在玩家看来不存在任何的区别时,认为“花瓶a”的历史显示位置与目标显示位置相同;但是,若此次目标渲染请求所指示的“花瓶a”存在物品遮挡(可以是被其他花瓶模型遮挡,也可以是被其他物品遮挡,例如在“花瓶a”前方放了一只玩具熊,玩具熊挡住了“花瓶a”的一部分),此时“花瓶a”的历史显示位置与目标显示位置不相同。

进一步的,步骤s304包括:根据所述目标渲染请求,获取此次在游戏场景中显示所述待渲染游戏模型时的模型贴图数据及场景光照数据;基于所述模型贴图数据、所述场景光照数据和所述历史顶点插值数据,对所述待渲染游戏模型进行渲染。

该步骤中,在对待渲染游戏模型进行渲染中之前,根据此次的渲染请求,获取与待渲染游戏模型对应的模型贴图数据以及场景光照数据,并基于获取到的模型贴图数据、场景光照数据以及待渲染游戏模型的历史顶点差值数据,对待渲染游戏模型进行渲染。

所述模型贴图数据,是指所渲染的模型材质所需要的贴图数据;所述场景光照数据,是指渲染的场景中所有的光源信息,包括光源的数量,每个光源的类型(平行光、点光源、聚光灯),光源的颜色,光源的强度等等。

其中,所述待渲染游戏模型对应的模型贴图数据以及场景光照数据,可以根据每次渲染请求的不同而变化。

这样,本申请在对待渲染游戏模型进行渲染时,直接获取预先存储的目标历史对象的光栅化数据,在游戏场景中生成待渲染游戏模型,利用“空间换时间的概念”,避免了不必要的中间计算过程(几何处理阶段,光栅化阶段)。

本申请实施例提供的游戏中的渲染方法,确定待渲染游戏模型是否在游戏场景中进行过渲染;若是,获取响应于在先渲染请求渲染所述待渲染游戏模型时,所述待渲染游戏模型在所述游戏场景中的历史放置参数,以及此次目标渲染请求指示的所述待渲染游戏模型在所述游戏场景中的目标放置参数;若所述目标放置参数与所述历史放置参数相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据;响应所述目标渲染请求,根据所述历史顶点插值数据和所述目标渲染请求渲染所述待渲染游戏模型;若所述待渲染游戏模型未在游戏场景中进行过渲染,或者虽然所述待渲染游戏模型在游戏场景中进行过渲染,但所述目标放置参数与所述历史放置参数不相同时,确定所述待渲染游戏模型的顶点数据;根据所述顶点数据,对所述待渲染游戏模型进行空间变换处理及光栅化处理,得到目标顶点插值数据;存储所述目标顶点插值数据,并将所述目标顶点插值数据作为所述历史顶点插值数据。

这样,能够在确定待渲染游戏模型在游戏中进行过渲染,并且在先渲染待渲染游戏模型的历史放置参数与此次待渲染游戏模型的目标放置参数匹配的时候,可以直接通过预先存储的待渲染游戏模型的历史顶点插值数据对待渲染游戏模型进行渲染,另外,在本申请中,若确定出待渲染游戏模型未在游戏中进行过渲染,或者历史放置参数与目标放置参数不相同的时候,能够对待渲染游戏模型进行空间变换处理和光栅化处理,得到待渲染游戏模型的历史顶点数据,从而可以省去对待渲染游戏模型的几何处理和光栅化处理的数据处理过程,减少光栅化渲染的流程,以存储空间替换时间消耗,可以有效减少光栅化渲染的渲染时间和数据处理时间,有助于减少资源消耗,降低设备的性能负担。

请参阅图4、图5,图4为本申请实施例所提供的一种渲染装置的结构示意图之一,图5为本申请实施例所提供的一种渲染装置的结构示意图之二。如图4中所示,所述渲染装置400包括:

渲染检测模块410,用于确定待渲染游戏模型是否在游戏场景中进行过渲染;

放置参数获取模块420,用于若是,获取响应于在先渲染请求渲染所述待渲染游戏模型时,所述待渲染游戏模型在所述游戏场景中的历史放置参数,以及此次目标渲染请求指示的所述待渲染游戏模型在所述游戏场景中的目标放置参数;

数据获取模块430,用于若所述目标放置参数与所述历史放置参数相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据;

模型渲染模块440,用于响应所述目标渲染请求,根据所述历史顶点插值数据和所述目标渲染请求渲染所述待渲染游戏模型。

进一步的,如图5所示,所述渲染装置400还包括位置参数获取模块450,所述位置参数获取模块450用于:

若所述待渲染游戏模型在游戏场景中进行过渲染,获取响应于在先渲染请求渲染所述待渲染游戏模型时,所述待渲染游戏模型在图形用户界面中的历史显示位置,以及此次目标渲染请求指示的所述待渲染游戏模型在所述图形用户界面中的目标显示位置;

所述数据获取模块430在用于若所述目标放置参数与所述历史放置参数相同,获取预存的、根据在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据时,所述数据获取模块430用于:

若所述目标放置参数与所述历史放置参数相同,并且所述目标显示位置与所述历史显示位置相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据。

进一步的,如图5所示,所述渲染装置400还包括插值数据确定模块460,所述插值数据确定模块460用于:

若所述待渲染游戏模型未在游戏场景中进行过渲染,或者虽然所述待渲染游戏模型在游戏场景中进行过渲染,但所述目标放置参数与所述历史放置参数不相同时,确定所述待渲染游戏模型的顶点数据;

根据所述顶点数据,对所述待渲染游戏模型进行空间变换处理及光栅化处理,得到目标顶点插值数据;

存储所述目标顶点插值数据,并将所述目标顶点插值数据作为所述历史顶点插值数据。

进一步的,所述历史顶点插值数据包括所述待渲染游戏模型在所述游戏场景中显示时的顶点属性数据,所述顶点属性数据至少包括与每个顶点对应的法线数据、uv数据。

进一步的,所述模型渲染模块440在用于响应所述目标渲染请求,根据所述历史顶点插值数据和所述目标渲染请求渲染所述待渲染游戏模型时,所述模型渲染模块440用于:

根据所述渲染请求,获取此次在游戏场景中显示所述待渲染游戏模型时的模型贴图数据及场景光照数据;

基于所述模型贴图数据、所述场景光照数据和所述历史顶点插值数据,对所述待渲染游戏模型进行渲染。

本申请实施例提供的游戏中的渲染装置,确定待渲染游戏模型是否在游戏场景中进行过渲染;若是,获取响应于在先渲染请求渲染所述待渲染游戏模型时,所述待渲染游戏模型在所述游戏场景中的历史放置参数,以及此次目标渲染请求指示的所述待渲染游戏模型在所述游戏场景中的目标放置参数;若所述目标放置参数与所述历史放置参数相同,获取预存的、根据所述在先渲染请求渲染所述待渲染游戏模型时的历史顶点插值数据;响应所述目标渲染请求,根据所述历史顶点插值数据和所述目标渲染请求渲染所述待渲染游戏模型。

这样,能够在确定待渲染游戏模型在游戏场景中进行过渲染,并且在先渲染待渲染游戏模型的历史放置参数与此次待渲染游戏模型的目标放置参数匹配的时候,可以直接通过预先存储的待渲染游戏模型的历史顶点插值数据对待渲染游戏模型进行渲染,从而可以省去对待渲染游戏模型的几何处理和光栅化处理的数据处理过程,减少光栅化渲染的流程,以存储空间替换时间消耗,可以有效减少光栅化渲染的渲染时间和数据处理时间,有助于减少资源消耗,降低设备的性能负担。

请参阅图6,图6为本申请实施例所提供的一种电子设备的结构示意图。如图6中所示,所述电子设备600包括处理器610、存储器620和总线630。

所述存储器620存储有所述处理器610可执行的机器可读指令,当电子设备600运行时,所述处理器610与所述存储器620之间通过总线630通信,所述机器可读指令被所述处理器610执行时,可以执行如上述图2以及图3所示方法实施例中的游戏中的渲染方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时可以执行如上述图2以及图3所示方法实施例中的游戏中的渲染方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1