渲染控制方法、装置及可读存储介质与流程

文档序号:14262248阅读:170来源:国知局
渲染控制方法、装置及可读存储介质与流程

本发明涉及计算机技术领域,具体而言,涉及一种渲染控制方法、装置及可读存储介质。



背景技术:

在现有的游戏场景中,当游戏配置较低时,可以开启目标物体(例如对画面整体风格和游戏功能需求没有影响的目标物体)剔除,此时玩家就完全看不到目标物体了。而当关闭目标物体剔除时,如果玩家想要近距离观察一个目标物体,在拉近相机时,一些玩家并不想看到的目标物体也加入到了渲染队列中,从而导致渲染的总物体数量增多,此时游戏画面的帧率也会降低,严重影响玩家的游戏体验感。



技术实现要素:

为了克服现有技术中的上述不足,本发明的目的在于提供一种渲染控制方法、装置及可读存储介质,用于解决在游戏配置较低的情况下,当玩家观察目标物体时其它物体也被加入到了渲染队列中,造成游戏画面的帧率降低、影响玩家的游戏体验感的问题。

为了实现上述目的,本发明较佳实施例采用的技术方案如下:

本发明较佳实施例提供一种渲染控制方法,应用于电子设备,所述方法包括:

获取当前游戏场景中的待渲染的目标物体;

检测所述目标物体的渲染设置状态,所述渲染设置状态包括渲染开启状态和渲染关闭状态;

在检测到所述渲染设置状态为渲染开启状态时,计算所述目标物体的屏幕贡献度;

判断所述屏幕贡献度是否大于预设阈值;

在判断结果为是时,将所述目标物体加入到当前渲染队列中,以对所述目标物体进行渲染。

在本发明较佳实施例中,所述判断所述屏幕贡献度是否大于预设阈值之后,所述方法还包括:

在判断结果为否时,将所述目标物体从当前渲染队列中移出,以关闭对所述目标物体的渲染。

在本发明较佳实施例中,所述电子设备中预先配置有目标物体集合,所述获取当前游戏场景中的目标物体,包括:

获取当前游戏场景中的物体;

将每个物体与所述目标物体集合中的目标物体进行匹配;

将匹配成功的物体作为当前游戏场景中的目标物体。

在本发明较佳实施例中,所述计算所述目标物体的屏幕贡献度,包括:

获取所述目标物体的最小包围盒;

根据所述目标物体的最小包围盒获得所述目标物体的最小包围球,并计算所述最小包围球的半径;

计算所述目标物体的最小包围球中心距离游戏场景相机的距离;

根据所述最小包围球的半径和所述距离和计算出目标物体的屏幕贡献度。

在本发明较佳实施例中,所述根据所述目标物体的最小包围盒获得所述目标物体的最小包围球,并计算所述最小包围球的半径,包括:

以所述最小包围盒的最长对角线的中心为球心,以所述最长对角线的一半长度为半径生成所述目标物体的最小包围球,所述最长对角线的一半长度为所述最小包围球的半径。

在本发明较佳实施例中,所述根据所述最小包围球的半径和所述距离和计算出目标物体的屏幕贡献度,包括:

将所述最小包围球的半径和所述距离的比值作为所述目标物体的屏幕贡献度。

在本发明较佳实施例中,所述获取当前游戏场景中的待渲染的目标物体之前,所述方法还包括:

响应目标物体的渲染配置请求,配置所述目标物体的屏幕贡献度阈值和渲染设置状态,所述渲染设置状态包括渲染开启状态和渲染关闭状态。

本发明较佳实施例还提供一种渲染控制装置,应用于电子设备,所述装置包括:

获取模块,用于获取当前游戏场景中的待渲染的目标物体。

检测模块,用于检测所述目标物体的渲染设置状态,所述渲染设置状态包括渲染开启状态和渲染关闭状态。

计算模块,用于在检测到所述渲染设置状态为渲染开启状态时,计算所述目标物体的屏幕贡献度。

判断模块,用于判断所述屏幕贡献度是否大于预设阈值。

加入模块,用于在判断结果为是时,将所述目标物体加入到当前渲染队列中,以对所述目标物体进行渲染。

本发明较佳实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述的渲染控制方法。

相对于现有技术而言,本发明具有以下有益效果:

本发明实施例提供一种渲染控制方法、装置及可读存储介质,通过获取当前游戏场景中的待渲染的目标物体,并检测所述目标物体的渲染设置状态,在检测到所述渲染设置状态为渲染开启状态时,计算所述目标物体的屏幕贡献度,并在所述屏幕贡献度大于预设阈值时,将所述目标物体加入到当前渲染队列中,以对所述目标物体进行渲染。由此,能够解决在游戏配置较低的情况下,当玩家观察目标物体时其它物体也被加入到了渲染队列中,造成游戏画面的帧率降低、影响玩家的游戏体验感的问题,具有良好的渲染优化效果。

附图说明

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

图1为本发明较佳实施例提供的渲染控制方法的一种流程示意图;

图2为图1中所示的步骤s230包括的各个子步骤的一种流程示意图;

图3为本发明较佳实施例提供的渲染控制装置的一种功能模块图;

图4为本发明较佳实施例提供的电子设备的一种结构示意框图。

图标:100-电子设备;110-总线;120-处理器;130-存储介质;140-总线接口;150-网络适配器;160-用户接口;200-渲染控制装置;210-获取模块;220-检测模块;230-计算模块;240-判断模块;250-加入模块。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语"第一"、"第二"等仅用于区分描述,而不能理解为指示或暗示相对重要性。

一个游戏场景主要由地形、水体、建筑物、大量的目标物体等构成。在游戏渲染过程中可能需要渲染大量的目标物体。为了提高游戏效率,需要做大量的渲染优化。例如,经本申请发明人研究发现,在保证渲染质量和功能的基础上,可以通过减少渲染物体的数量来执行渲染优化,其中有一项优化叫作目标物体剔除。目标物体剔除是将被认为对画面整体风格和游戏功能需求没有影响的目标物体排除在渲染队列外的方法。例如,如果游戏场景中存在许多玩家和特效,此时为了保证游戏的帧率,可以不显示场景周围用于点缀场景的目标物体(例如,小石块、盆景、小摆件等)。

经发明人进一步研究发现,现有的目标物体剔除方法都是由游戏场景的编辑人员将某些物体设置为对画面整体风格和游戏功能需求没有影响的目标物体。当游戏的帧率较低或者游戏配置低时,可以将设置为目标物体的物体排除在渲染队列之外,如此就可以减少一些物体的渲染,从而减少设备gpu的性能消耗,提高游戏帧率和游戏体验效果。然而发明人发现上述方式存在的问题是,目前目标物体剔除方案仅仅是将一个物体简单地分成目标物体和非目标物体,虽然当游戏配置低时,开启目标物体剔除,玩家就完全看不到目标物体了,但是当关闭目标物体剔除时,如果玩家想要近距离观察一个目标物体时,拉近相机,远处对屏幕贡献度小的其它物体也加入到了渲染队列中,这时渲染的总物体数量就会很多,帧率降低,游戏的体验感就会降低。

鉴于上述问题,本申请发明人提出下述方法,该方法能够解决在游戏配置较低的情况下,当玩家观察目标物体时其它物体也被加入到了渲染队列中,造成游戏画面的帧率降低、影响玩家的游戏体验感的问题,具有良好的渲染优化效果。下面结合附图,对本发明实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参阅图1,为本发明较佳实施例提供的渲染控制方法的一种流程示意图。所应说明的是,本发明实施例提供的渲染控制方法不以图1及以下所述的具体顺序为限制。所述方法的具体流程如下:

步骤s210,获取当前游戏场景中的待渲染的目标物体。

一个游戏场景主要由地形、水体、建筑物、大量的物体等构成,大量物体中包括有目标物体,例如用于点缀场景的小石块、盆景、小摆件等等。本实施例中,要确定当前游戏场景中哪些物体是待渲染的目标物体,首先可以获取当前游戏场景中所有物体,然后将每个物体与预先配置好的目标物体集合中的目标物体进行匹配,将匹配成功的物体作为当前场景中的待渲染的目标物体。

上述目标物体集合可以由游戏场景的编辑人员预先进行配置,例如,编辑人员可以将游戏场景中用于点缀场景的小石块、盆景、小摆件等等小物体都设置一个唯一标识符,也即唯一id,然后将所有满足小物体属性的标识符存储在所述目标物体集合中,在实际实施时,可以通过获取当前游戏场景中所有物体的标识符,并与所述目标物体集合中的标识符进行匹配,从而确定当前游戏场景中的目标物体。

步骤s220,检测所述目标物体的渲染设置状态。

本实施例中,所述渲染设置状态包括渲染开启状态和渲染关闭状态。作为一种实施方式,所述渲染设置状态可以预先进行配置,通过响应目标物体的渲染配置请求,配置所述目标物体的渲染设置状态。

步骤s230,在检测到所述渲染设置状态为渲染开启状态时,计算所述目标物体的屏幕贡献度。

详细地,作为一种实施方式,请参阅图2,所述步骤s230可以包括以下子步骤:

步骤s231,获取所述目标物体的最小包围盒。

本实施例中,所述最小包围盒可以通过所述目标物体在该目标物体局部坐标系的顶点位置计算得出,可以大概得到一个刚好能将该目标物体包住的长方体,这个长方体也就是所述目标物体的最小包围盒。

步骤s232,根据所述目标物体的最小包围盒获得所述目标物体的最小包围球,并计算所述最小包围球的半径。

本实施例中,在计算得到所述目标物体的最小包围盒之后,可以以所述最小包围盒的最长对角线的中心为球心,以所述最长对角线的一半长度为半径生成所述目标物体的最小包围球,所述最长对角线的一半长度为所述最小包围球的半径。

步骤s233,计算所述目标物体的最小包围球中心距离游戏场景相机的距离。

本实施例中,对于一个渲染好的游戏场景来说,都需要一个可以供用户查看的视图,因此通常可以在游戏场景中用游戏场景相机来提供这种需求,所述游戏场景相机可以包括相对游戏地图场景的位置和方向。一个游戏场景中通常包括至少一个游戏场景相机,用于将渲染好的游戏场景显示给用户。其中,只有在所述相机的可视域内的场景内容才会被用户看到。也即,当用户想要近距离观察一个目标物体时,可以通过拉近游戏场景相机,来观察该目标物体。

当计算得到所述目标物体的最小包围球之后,可以计算所述最小包围球中心距离游戏场景相机的距离d。

步骤s234,根据所述最小包围球的半径和所述距离和计算出目标物体的屏幕贡献度。

本实施例中,所述屏幕贡献度可以为将所述最小包围球的半径和所述距离的比值,例如,所述最小包围球的半径为r,所述最小包围球中心距离游戏场景相机的距离为d,那么所述屏幕贡献度p即为r/d。

此外值得说明的是,所述屏幕贡献度p也可以不仅限于上述最小包围球的半径和所述距离的比值,本实施例对所述屏幕贡献度的确定方式并不作具体限制。

步骤s240,判断所述屏幕贡献度是否大于预设阈值。

本实施例中,所述预设阈值可以预先进行配置,通过响应目标物体的渲染配置请求,配置所述目标物体的屏幕贡献度阈值f。接着,判断所述屏幕贡献度p是否大于所述屏幕贡献度阈值f,如果大于,则执行:

步骤s250,将所述目标物体加入到当前渲染队列中,以对所述目标物体进行渲染。

如果不大于,则执行:

步骤s260,将所述目标物体从当前渲染队列中移出,以关闭对所述目标物体的渲染。

至此,通过将游戏场景中每个目标物体的屏幕贡献度与预设阈值进行比较,并根据比较结果判断该目标物体是否应该加入到渲染队列中,从而解决了在游戏配置较低的情况下,当玩家观察目标物体时其它物体也被加入到了渲染队列中,造成游戏画面的帧率降低、影响玩家的游戏体验感的问题,使得本实施例提供的技术方案具有良好的渲染优化效果。

进一步地,请参阅图3,本发明较佳实施例还提供一种渲染控制装置200,所述装置包括:

获取模块210,用于获取当前游戏场景中的待渲染的目标物体。

检测模块220,用于检测所述目标物体的渲染设置状态,所述渲染设置状态包括渲染开启状态和渲染关闭状态。

计算模块230,用于在检测到所述渲染设置状态为渲染开启状态时,计算所述目标物体的屏幕贡献度。

判断模块240,用于判断所述屏幕贡献度是否大于预设阈值。

加入模块250,用于在判断结果为是时,将所述目标物体加入到当前渲染队列中,以对所述目标物体进行渲染。

进一步地,所述计算模块230,还用于获取所述目标物体的最小包围盒;

根据所述目标物体的最小包围盒获得所述目标物体的最小包围球,并计算所述最小包围球的半径;

计算所述目标物体的最小包围球中心距离游戏场景相机的距离;

根据所述距离和所述最小包围球的半径计算出目标物体的屏幕贡献度。

可以理解的是,本实施例中的各功能模块的具体操作方法可参照上述方法实施例中相应步骤的详细描述,在此不再重复赘述。

进一步地,请参阅图4,为本发明实施较佳实施例提供的电子设备100的一种结构示意框图。如图4所示,电子设备100可以由总线110作一般性的总线体系结构来实现。根据电子设备100的具体应用和整体设计约束条件,总线110可以包括任意数量的互连总线和桥接。总线110将各种电路连接在一起,这些电路包括处理器120、存储介质130和总线接口140。可选地,电子设备100可以使用总线接口140将网络适配器150等经由总线110连接。网络适配器150可用于实现电子设备100中物理层的信号处理功能,并通过天线实现射频信号的发送和接收。用户接口160可以连接外部设备,例如:键盘、显示器、鼠标或者操纵杆等。总线110还可以连接各种其它电路,如定时源、外围设备、电压调节器或者功率管理电路等,这些电路是本领域所熟知的,因此不再详述。

可以替换的,电子设备100也可配置成通用处理系统,例如通称为芯片,该通用处理系统包括:提供处理功能的一个或多个微处理器,以及提供存储介质130的至少一部分的外部存储器,所有这些都通过外部总线体系结构与其它支持电路连接在一起。

可替换的,电子设备100可以使用下述来实现:具有处理器120、总线接口140、用户接口160的asic(专用集成电路);以及集成在单个芯片中的存储介质130的至少一部分,或者,电子设备100可以使用下述来实现:一个或多个fpga(现场可编程门阵列)、pld(可编程逻辑器件)、控制器、状态机、门逻辑、分立硬件部件、任何其它适合的电路、或者能够执行本发明通篇所描述的各种功能的电路的任意组合。

其中,处理器120负责管理总线110和一般处理(包括执行存储在存储介质130上的软件)。处理器120可以使用一个或多个通用处理器和/或专用处理器来实现。处理器120的例子包括微处理器、微控制器、dsp处理器和能够执行软件的其它电路。应当将软件广义地解释为表示指令、数据或其任意组合,而不论是将其称作为软件、固件、中间件、微代码、硬件描述语言还是其它。

在图4中存储介质130被示为与处理器120分离,然而,本领域技术人员很容易明白,存储介质130或其任意部分可位于电子设备100之外。举例来说,存储介质130可以包括传输线、用数据调制的载波波形、和/或与无线节点分离开的计算机制品,这些介质均可以由处理器120通过总线接口140来访问。可替换地,存储介质130或其任意部分可以集成到处理器120中,例如,可以是高速缓存和/或通用寄存器。

所述处理器120可执行上述实施例,具体地,所述存储介质130中可以存储有所述渲染控制装置200,所述处理器120可以用于执行所述渲染控制装置200。

综上所述,本发明实施例提供一种渲染控制方法、装置及可读存储介质,通过获取当前游戏场景中的待渲染的目标物体,并检测所述目标物体的渲染设置状态,在检测到所述渲染设置状态为渲染开启状态时,计算所述目标物体的屏幕贡献度,并在所述屏幕贡献度大于预设阈值时,将所述目标物体加入到当前渲染队列中,以对所述目标物体进行渲染。由此,能够解决在游戏配置较低的情况下,当玩家观察目标物体时其它物体也被加入到了渲染队列中,造成游戏画面的帧率降低、影响玩家的游戏体验感的问题,具有良好的渲染优化效果。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的电子设备、服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等

需要说明的是,在本文中,术语"包括"、"包含"或者其任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

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