CN112044062B - 游戏画面渲染方法、装置、终端和存储介质 - Google Patents

游戏画面渲染方法、装置、终端和存储介质 Download PDF

Info

Publication number
CN112044062B
CN112044062B CN202010879427.9A CN202010879427A CN112044062B CN 112044062 B CN112044062 B CN 112044062B CN 202010879427 A CN202010879427 A CN 202010879427A CN 112044062 B CN112044062 B CN 112044062B
Authority
CN
China
Prior art keywords
model
game
rendering
picture
information
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
Application number
CN202010879427.9A
Other languages
English (en)
Other versions
CN112044062A (zh
Inventor
王炳堪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010879427.9A priority Critical patent/CN112044062B/zh
Publication of CN112044062A publication Critical patent/CN112044062A/zh
Application granted granted Critical
Publication of CN112044062B publication Critical patent/CN112044062B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例公开了一种游戏画面渲染方法、装置、终端和存储介质;本发明实施例可获取游戏场景中的游戏模型;采用游戏模型进行画面预渲染,得到预渲染画面,游戏模型包括第一模型;基于预渲染画面确定第一模型的被遮挡程度;根据被遮挡程度在第一模型中确定不可见的第一模型;在对游戏场景中的游戏模型进行正式渲染时,不渲染不可见的第一模型,得到游戏画面。本发明通过预渲染,在游戏模型中确定未被绘制在预渲染画面中的不可见的第一模型,从而将不可见的第一模型剔除出正式渲染流程,防止游戏作弊外挂将不可见的第一模型渲染到游戏画面上来实现游戏透视作弊。由此,本方案可以解决游戏作弊外挂通过控制游戏画面渲染来实现游戏作弊的问题。

Description

游戏画面渲染方法、装置、终端和存储介质
技术领域
本发明涉及图像处理领域,具体涉及一种游戏画面渲染方法、装置、终端和存储介质。
背景技术
游戏外挂(或称游戏修改器、游戏辅助,等)是一种用于游戏作弊的程式,玩家使用游戏外挂会极大影响游戏平衡性,比如,在第一人称射击类(First-person Shooting,FPS)游戏中,作弊玩家常常使用一种游戏透视外挂,该游戏透视外挂可以影响游戏画面的渲染,使得作弊玩家可以透过掩体看见掩体后的其他玩家,从而达到透视作弊的效果。
例如,参考图1a,图1a的上半图所示的是正常游戏画面,当玩家和敌人之间存在一面墙体时,玩家无法看到墙后的敌人,而图1a下半图所示的是透视作弊后的游戏画面,在透视作弊后的游戏画面中,玩家可以通过游戏外挂进行作弊,使得墙后的敌人能够显示在画面中,从而使得作弊玩家能进行轻松的预判或穿墙射击,极大地影响了游戏公平,造成其他玩家用户体验下降,降低了游戏的玩家留存率,最终影响游戏收入。
目前的游戏透视外挂一般通过钩子(Hook)函数来挂钩游戏正常的渲染流程,从而改写深度缓冲区中存储的深度值来修改最终绘制的游戏画面,因此,为了杜绝透视作弊、提高游戏公平性,目前是通过检测是否存在钩子函数挂钩游戏正常的渲染流程来判断玩家是否使用作弊外挂。
目前的反外挂方法往往会出现误判、漏判等问题,此外,目前的侦测方法耗时较长,作弊玩家往往在作弊一周后才会收到作弊惩罚,因此,目前亟需一种可以有效杜绝游戏透视外挂的反透视作弊方法。
发明内容
本发明实施例提供一种游戏画面渲染方法、装置、终端和存储介质,采用本方案进行画面渲染的游戏可以有效解决游戏作弊外挂通过控制游戏画面渲染来实现游戏作弊的问题。
本发明实施例提供一种游戏画面渲染方法,包括:
获取游戏场景中的游戏模型;
采用游戏模型进行画面预渲染,得到预渲染画面,游戏模型包括第一模型;
基于预渲染画面确定第一模型的被遮挡程度;
根据被遮挡程度在第一模型中确定不可见的第一模型;
在对游戏场景中的游戏模型进行正式渲染时,不渲染不可见的第一模型,得到游戏画面。
本发明实施例还提供一种游戏画面渲染装置,包括:
获取单元,用于获取游戏场景中的游戏模型;
预渲染单元,用于采用游戏模型进行画面预渲染,得到预渲染画面,游戏模型包括第一模型;
被遮挡程度单元,用于基于预渲染画面确定第一模型的被遮挡程度;
确定单元,用于根据被遮挡程度在第一模型中确定不可见的第一模型;
正式渲染单元,用于在对游戏场景中的游戏模型进行正式渲染时,不渲染不可见的第一模型,得到游戏画面
在一些实施例中,被遮挡程度单元,包括:
像素子单元,用于确定预渲染画面中第一模型的被绘制像素数量;
被遮挡程度子单元,用于基于第一模型的被绘制像素数量确定第一模型的被遮挡程度。
在一些实施例中,被遮挡程度包括被遮挡程度,被遮挡程度子单元,用于:
当第一模型的被绘制像素数量大于预设阈值时,确定第一模型的被遮挡程度为1;
当第一模型的被绘制像素数量不大于预设阈值时,确定第一模型的被遮挡程度为0;
在一些实施例中,第一模型还包括可见的第一模型,确定单元,用于:
将被遮挡程度为1的第一模型确定为可见的第一模型;
将被遮挡程度为0的第一模型确定为不可见的第一模型。
在一些实施例中,像素子单元,用于:
调用图形接口库中的像素绘制数量接口;
通过像素绘制数量接口查询预渲染画面中第一模型的被绘制像素数量。
在一些实施例中,获取单元用于获取游戏场景中游戏模型的模型信息,模型信息包括游戏模型的深度信息;
在一些实施例中,游戏模型包括第二模型,正式渲染单元,包括:
深度绘制子单元,用于在对游戏场景中的游戏模型进行正式渲染时,只基于第二模型的深度信息和可见的第一模型的深度信息,在游戏画面上绘制第二模型和可见的第一模型,不绘制不可见的第一模型,得到游戏画面。
在一些实施例中,深度绘制子单元,用于:
根据第二模型的模型信息对第二模型进行可视化处理,得到处理后第二模型的模型信息;
根据可见的第一模型的模型信息对可见的第一模型进行可视化处理,得到处理后可见第一模型的模型信息;
根据第二模型的深度信息,在处理后第二模型的模型信息中确定第二模型的待绘制信息;
根据可见的第一模型的深度信息,在处理后可见第一模型的模型信息中确定可见的第一模型的待绘制信息;
根据第二模型的待绘制信息和可见的第一模型的待绘制信息进行画面绘制。
在一些实施例中,游戏画面渲染装置,还包括:
异步单元,用于异步执行正式渲染流程和预渲染流程,使得异步单元在正式渲染流程和预渲染流程中执行游戏画面渲染装置的游戏画面渲染方法中的步骤。
在一些实施例中,异步单元在执行预渲染流程时,用于:
当从正式渲染流程获取到游戏场景中游戏模型的模型信息时,采用游戏模型进行画面预渲染,得到预渲染画面;
基于模型信息,在游戏模型中确定第一模型;
根据预渲染画面确定第一模型的被遮挡程度;
将第一模型的被遮挡程度存储在被遮挡程度列表中,以便正式渲染流程根据被遮挡程度列表进行游戏画面渲染。
在一些实施例中,异步单元在执行正式渲染流程时,用于:
当获取到游戏场景中游戏模型的模型信息时,将模型信息发送给预渲染流程;
获得被遮挡程度列表;
基于被遮挡程度列表和模型信息,在游戏模型中确定不可见的第一模型;
在对游戏场景中的游戏模型进行正式渲染时,不渲染不可见的第一模型,,得到游戏画面。
在一些实施例中,获取单元用于获取游戏场景中游戏模型的模型信息;
在一些实施例中,预渲染单元,包括:
绘制子单元,用于基于第一模型的模型信息和第二模型的模型信息,在预渲染画面上绘制第一模型和第二模型。
在一些实施例中,绘制子单元,用于:
获取光照信息;
在采用游戏模型进行画面预渲染时,对基于光照信息和游戏模型进行光照渲染处理的步骤进行拦截;
以及,对基于游戏模型进行无光照渲染处理的步骤进行响应,从而得到无光照预渲染画面。
在一些实施例中,绘制子单元,用于:
获取预设的低分辨率;
采用预设的低分辨率基于游戏模型的模型信息,在预渲染画面上绘制游戏模型,得到低分辨率预渲染画面。
本发明实施例还提供一种终端,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本发明实施例所提供的任一种游戏画面渲染方法中的步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种游戏画面渲染方法中的步骤。
本发明实施例可以获取游戏场景中的游戏模型;采用游戏模型进行画面预渲染,得到预渲染画面,游戏模型包括第一模型;基于预渲染画面确定第一模型的被遮挡程度;根据被遮挡程度在第一模型中确定不可见的第一模型;在对游戏场景中的游戏模型进行正式渲染时,不渲染不可见的第一模型,得到游戏画面,从而防止游戏画面中出现不可见的第一模型。
目前图形处理器(Graphics Processing Unit,GPU)是采用一系列渲染流程对游戏画面进行画面绘制的,比如,对于三维(Three-Dimensional,3D)游戏,GPU可以根据3D游戏模型的模型信息,对3D游戏模型进行一系列的坐标转换、着色等,从而得到光栅片段(Fragment),然后,通过检测这些光栅片段的深度值(又称为Z值、Z坐标值),来判断光栅片段之间的遮挡关系,从而将被遮挡的光栅片段丢弃,只在最终的游戏画面上绘制不被遮挡的光栅片段,其中,屏幕上的每个像素均对应一个不被遮挡的光栅片段,从而达到3D效果。
例如,参考图1b,在玩家视角渲染游戏画面时,GPU在得到墙体、敌人A和敌人B的光栅片段后,根据玩家自身和墙体、敌人A、敌人B的深度值,GPU可以确定墙体遮挡了敌人A和敌人B,因此,GPU在绘制玩家视角的游戏画面时,会丢弃敌人A和敌人B的光栅片段,仅绘制墙体的光栅片段,从而得到如图1a的上半图所示的玩家视角的游戏画面。
而游戏透视外挂可以影响渲染流程,使得游戏模型的深度值改变,或者禁止听过游戏模型的深度值判断游戏模型之间的遮挡关系,因此,在GPU渲染游戏画面时,游戏透视外挂可以使得被遮挡的光栅片段也被绘制在游戏画面上。
例如,参考图1b,当玩家开启透视作弊外挂时,GPU在得到墙体、敌人A和敌人B的光栅片段后,无法正确地根据玩家自身和墙体、敌人A、敌人B的深度值判断墙体和敌人A、敌人B之间的遮挡关系,因此,GPU在绘制作弊玩家视角的游戏画面时,会将敌人A、敌人B以及墙体的光栅片段均绘制在游戏画面上,从而得到如图1a的下半图所示的玩家视角的游戏画面。
在本发明中,由于在正式渲染游戏画面之前,会先进行一次预渲染,通过确定预渲染画面中是否绘制了第一模型来判断第一模型在预渲染画面中是可见的还是不可见的,如果第一模型是未被绘制在预渲染画面中的不可见第一模型,则在正式渲染游戏画面时,将不可见的第一模型剔除,只对第二模型和可见的第一模型进行渲染,从而防止透视作弊外挂通过修改不可见的第一模型的深度值来将不可见的第一模型绘制在游戏画面中。由此,采用本方案进行画面渲染的游戏可以从根本上解决游戏作弊外挂通过控制游戏画面渲染来实现游戏作弊的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的正常游戏画面与透视作弊游戏画面示意图;
图1b是本发明实施例提供的游戏模型之间的遮挡关系示意图;
图1c是本发明实施例提供的游戏画面渲染方法的场景示意图;
图1d是本发明实施例提供的游戏画面渲染方法的流程示意图;
图2a是本发明实施例提供的游戏画面渲染方法的异步流程示意图;
图2b是本发明实施例提供的正式渲染流程得到的游戏画面示意图;
图2c是本发明实施例提供的预渲染流程得到的预渲染画面示意图;
图3是本发明实施例提供的游戏画面渲染装置的结构示意图;
图4是本发明实施例提供的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种游戏画面渲染方法、装置、终端和存储介质。
其中,该游戏画面渲染装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(Personal Computer,PC)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
在一些实施例中,该游戏画面渲染装置还可以集成在多个电子设备中,比如,游戏画面渲染装置可以集成在多个服务器中,由多个服务器来实现本发明的游戏画面渲染方法。
在一些实施例中,服务器也可以以终端的形式来实现。
例如,参考图1c,该电子设备可以获取游戏场景中的游戏模型;采用游戏模型进行画面预渲染,得到预渲染画面,游戏模型包括第一模型;基于预渲染画面确定第一模型的被遮挡程度;根据被遮挡程度在第一模型中确定不可见的第一模型;在对游戏场景中的游戏模型进行正式渲染时,不渲染不可见的第一模型,得到游戏画面,从而防止游戏画面中出现不可见的第一模型。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
在本实施例中,提供了一种游戏画面渲染方法,该方法可以从根源上解决游戏作弊外挂通过控制游戏画面渲染来实现游戏透视作弊的问题。如图1d所示,该游戏画面渲染方法的具体流程可以如下:
101、获取游戏场景中的游戏模型。
其中,游戏模型是指构成游戏场景中,游戏角色、游戏道具、游戏物体、游戏建筑等按比例设计、制作的模型。比如,按照游戏模型的类型区分,游戏模型可以分为场景模型、建筑模型、动画模型、人物模型、道具模型、粒子效果模型等等;再比如,按照游戏模型的表现形式区分,游戏模型可以包括三维游戏模型、二维游戏模型等。
游戏透视外挂可以影响游戏画面的渲染,使得作弊玩家可以使得游戏画面中一部分游戏模型无法遮挡另一部分特定的游戏模型,从而达到透视作弊的效果。比如,有的游戏透视外挂可以使得游戏画面中处于掩体后方的敌方角色暴露出来;再比如,有的游戏透视外挂还可以使得藏于宝箱中的游戏道具在游戏画面中暴露出来,等等。
在本方案实施例中,游戏模型可以包括第一模型,其中第一模型即为这些通常作为游戏透视外挂透视目标的特定的游戏模型,比如,第一模型可以是人物模型、武器模型、道具模型,等等。
在一些实施例中,游戏模型中除了第一模型,还可以包括第二模型。
其中,第二模型是游戏模型中除了第一模型以外的游戏模型。比如,第二模型可以是建筑模型、场景模型、粒子效果模型,等等。
具体地,本领域技术人员可以根据游戏需求来将游戏模型划分为第一模型或第二模型。
在一些实施例中,步骤101可以包括如下步骤:
获取游戏场景中游戏模型的模型信息,其中,模型信息可以包括游戏模型的坐标信息、颜色信息、顶点(Vertexs)信息、图元(Primitives)信息、片元(Fragments)信息、纹理(Texture)信息、深度信息,等等。
其中,顶点信息包括了游戏模型中顶点的信息;图元信息包括了游戏模型中图元的信息;片元信息包括了游戏模型中片元的信息;其中,顶点是多个线、曲线或边缘相遇形成一个角度的点,图元是由多个顶点组合而成的点、线段或多边形,片元是由图元光栅化(Rasterization)后得到的多个栅格(Grid)组成的图像,其中,每个栅格对应一个像素(Pixels)。
其中,深度信息中可以包括游戏模型和屏幕之间的距离信息,深度信息可以包括深度值,即游戏模型到屏幕的具体距离。
102、采用游戏模型进行画面预渲染,得到预渲染画面,游戏模型包括第一模型。
在本实施例中,在进行正式的游戏画面渲染之前,首先会对游戏场景中所有的游戏模型进行一次预渲染,得到预渲染画面。
具体地,本实施例可以对游戏模型中的所有第一模型和第二模型进行预渲染,故步骤102可以包括如下步骤:
基于第一模型的模型信息和第二模型的模型信息,在预渲染画面上绘制第一模型和第二模型。
为了减少预渲染所消耗的时间和计算资源,使得预渲染不影响游戏的流畅度,可以取消预渲染时给游戏模型渲染光照效果的步骤,故在一些实施例中,步骤102,可以包括如下步骤:
获取光照信息;
在采用游戏模型进行画面预渲染时,对基于光照信息和游戏模型进行光照渲染处理的步骤进行拦截;
以及,对基于游戏模型进行无光照渲染处理的步骤进行响应,从而得到无光照预渲染画面。
具体地,在一些实施例中,游戏模型包括第一模型和第二模型,故步骤102可以包括如下步骤:
获取光照信息;
在采用第一模型和第二模型进行画面预渲染时,对基于第一模型、第二模型和光照信息进行光照渲染处理的步骤进行拦截;
以及,对基于第一模型和第二模型进行无光照渲染处理的步骤进行响应,从而得到无光照预渲染画面。
即,在普通从3D游戏画面渲染时,均会根据光照信息来对游戏画面进行光照渲染,而本实施例可以禁止光照渲染这一步骤。
因此,在预渲染时通过无光照计算的方式可以有效降低预渲染所消耗的计算资源和计算时间,为正式渲染节省了计算资源,从而提高了游戏的流畅度,优化了游戏性能。
为了减少预渲染所消耗的时间和计算资源,可以通过降低预渲染画面的分辨率,故在一些实施例中,步骤102可以包括如下步骤:
获取预设的低分辨率;
采用预设的低分辨率基于游戏模型的模型信息,在预渲染画面上绘制游戏模型,得到低分辨率预渲染画面。
具体地,在一些实施例中,游戏模型包括第一模型和第二模型,故步骤102可以包括如下步骤:
获取预设的低分辨率;
采用预设的低分辨率,基于第一模型的模型信息和第二模型的模型信息,在预渲染画面上绘制第一模型和第二模型,得到低分辨率预渲染画面。
其中,预设的低分辨率可根据游戏实际需求设定。
比如,预设的低分辨率可以设为游戏画面分辨率的一半,例如,当游戏画面的分辨率为1028*960dpi(Dots Per Inch,点每英寸)时,预设的低分辨率可以设为514*480dpi。
因此,在预渲染时通过低分辨率渲染的方式可以有效降低预渲染所消耗的计算资源和计算时间,为正式渲染节省了计算资源,从而提高了游戏的流畅度,优化了游戏性能。
需要注意的是,在一些实施例中,为了降低预渲染所消耗的计算资源和计算时间,为正式渲染节省了计算资源,从而提高游戏的流畅度、优化游戏性能,在预渲染时无需在预渲染画面中绘制用户界面(User Interface,UI),比如,无需在预渲染画面中绘制聊天框、鼠标准星、子弹数量,等等。
103、基于预渲染画面确定第一模型的被遮挡程度。
在游戏场景中,玩家视角中的游戏模型之间是具有前后遮挡关系的,比如,靠近玩家的游戏模型会遮挡一部分远离玩家的游戏模型,而GPU会通过渲染靠近玩家的游戏模型靠近玩家的游戏模型、不渲染这一部分被遮挡的游戏模型的方法来绘制游戏画面。
其中,被遮挡程度是用于量化预渲染画面中游戏模型被其它的游戏模型所遮挡程度的参数。
比如,游戏模型可以被其它的游戏模型完全遮挡、部分遮挡或完全不被遮挡,因此,该游戏模型可以不被绘制、被部分绘制或被全部绘制在预渲染画面中,游戏模型被遮挡地越少,则在预渲染画面中被绘制地越多,即该游戏模型对于玩家来说越可见;相反地,游戏模型被遮挡地越多,则在预渲染画面中被绘制地越少,即该游戏模型对于玩家来说越不可见。故在一些实施例中,被遮挡程度可以描述预渲染画面中该游戏模型被绘制的程度,或该游戏模型的可见程度。
在一些实施例中,被遮挡程度的数值范围可以按照游戏需求被设置为0或1,例如,当游戏模型在预渲染画面中的被遮挡程度为0,则表示该游戏模型被完全遮挡,即在预渲染画面中不绘制该游戏模型的任一像素,玩家在预渲染画面中不可见该游戏模型;当游戏模型在预渲染画面中的被遮挡程度为1,则表示该游戏模型被部分遮挡,或完全不被遮挡,即预渲染画面中绘制了至少一个该游戏模型的像素,玩家在预渲染画面中可见该游戏模型。
例如,被遮挡程度的数值为0或1时,当游戏场景中的人物模型被墙体部分遮挡,只露出手掌部分时,由于该人物模型在预渲染画面中被绘制了其手掌部分的像素,则该人物模型的被遮挡程度为1。在一些实施例中,被遮挡程度的数值范围也可以按照游戏需求被设置为0~100,例如,当游戏模型在预渲染画面中的被遮挡程度为0,则表示该游戏模型在预渲染画面中完全不可见;当游戏模型在预渲染画面中的被遮挡程度为50,则表示该游戏模型在预渲染画面中只被绘制了一部分;当游戏模型在预渲染画面中的被遮挡程度为100,则表示该游戏模型在预渲染画面中被完整地绘制出,等等。即,在一些实施例中,被遮挡程度的数值越大,则表示该游戏模型在预渲染画面中被绘制地越完整。
例如,被遮挡程度的数值范围为0~100时,当游戏场景中的人物模型被墙体部分遮挡,只露出手掌部分时,由于该人物模型在预渲染画面中被绘制了其手掌部分的像素,而手掌部分的像素占该人物模型所有像素的5%,则该人物模型的被遮挡程度为5。
在一些实施例中,被遮挡程度可以根据预渲染画面中绘制第一模型的像素数量确定,故步骤103可以包括如下步骤:
(1)确定预渲染画面中第一模型的被绘制像素数量;
(2)基于第一模型的被绘制像素数量确定第一模型的被遮挡程度。
游戏程序中可以包括图形接口库,其中,图形接口库可以包括多个接口(Application Programming Interface,API),API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力而又无需访问原码或理解内部工作机制的细节。游戏程序可以通过这些接口调用GPU对应的图形处理服务进行图像渲染。
其中,图形接口库类型众多,比如,开放式图形库(Open Graphics Library,OpenGL)、DirectX(Direct eXtension,DX)等多种专用于多媒体以及游戏开发的图形接口库。
在本实施例中,可以采用图形接口库中的像素绘制数量接口来调用GPU对应的像素绘制数量查询服务,从而查询预渲染画面中第一模型的被绘制像素数量。
比如,在一些实施例中,步骤(1)确定预渲染画面中第一模型的被绘制像素数量,可以包括如下步骤:
通过调用图形接口库中的像素绘制数量接口;
通过像素绘制数量接口查询预渲染画面中第一模型的被绘制像素数量。
其中,基于第一模型的被绘制像素数量确定第一模型的被遮挡程度的方式具有多种,比如,可以基于第一模型的被绘制像素数量的大小来确定第一模型的被遮挡程度;再比如,可以基于第一模型的被绘制像素数量占预渲染画面中所有像素数量的比值来确定第一模型的被遮挡程度,等等。
例如,在一些实施例中,被遮挡程度的数值范围可以是0或1,可以基于第一模型的被绘制像素数量的大小来确定第一模型的被遮挡程度,步骤(2)基于第一模型的被绘制像素数量确定第一模型的被遮挡程度,可以包括如下步骤:
当第一模型的被绘制像素数量大于预设阈值时,确定第一模型的被遮挡程度为1;
当第一模型的被绘制像素数量不大于预设阈值时,确定第一模型的被遮挡程度为0。
其中,预设阈值可以由本领域技术人员根据实际的应用需求进行设置。
例如,预设阈值可以为0,则当第一模型的被绘制像素数量大于0,则确定第一模型的被遮挡程度为1,当第一模型的被绘制像素数量为0,则确定第一模型的被遮挡程度为0。
例如,在一些实施例中,被遮挡程度的数值范围可以是0~100,可以基于第一模型的被绘制像素数量占预渲染画面中所有像素数量的比值来确定第一模型的被遮挡程度,步骤(2)基于第一模型的被绘制像素数量确定第一模型的被遮挡程度,可以包括如下步骤:
统计预渲染画面中所有像素的数量,得到画面像素数量;
确定第一模型的被绘制像素数量和画面像素数量的比值,得到像素占比值;
根据像素占比值确定第一模型的被遮挡程度。
比如,假设画面像素数量为2000个,第一模型的被绘制像素数量为600个,则第一模型的可见像素的像素占比值为600/2000,即30%,则根据像素占比值30%可以确定第一模型的被遮挡程度为30。
104、根据被遮挡程度在第一模型中确定不可见的第一模型。
其中,可见的第一模型是指显示在预渲染画面上的第一模型,不可见的第一模型是指不显示在预渲染画面上的第一模型。
例如,第一模型包括位于玩家前方的队友模型和位于玩家前方墙后的敌人模型,则此时的队友模型应显示在最终的游戏画面上,队友模型为可见的第一模型,此时的敌人模型不应显示在最终的游戏画面上,敌人模型为不可见的第一模型。
需要注意的是,由于本领域技术人员可以根据游戏实际需求来设置被遮挡程度的数值范围,因此,本领域技术人员也可以根据游戏实际需求来设置根据被遮挡程度区分可见的第一模型和不可见的第一模型的规则。
例如,在一些实施例中,被遮挡程度的数值范围被技术人员设定为0~100,被遮挡程度数值越大则表示第一模型的被绘制像素数量占预渲染画面像素数量的占比越大时,可以根据表1来根据被遮挡程度在第一模型中确定可见的第一模型和不可见的第一模型:
0~50 51~100
可见的第一模型 不可见的第一模型
表1
类似地,在一些实施例中,被遮挡程度的数值可以为0或1,故步骤104可以包括如下步骤:
将被遮挡程度为1的第一模型确定为可见的第一模型;
将被遮挡程度为0的第一模型确定为不可见的第一模型。
例如,在步骤103的步骤(2)基于第一模型的被绘制像素数量确定第一模型的被遮挡程度中,当第一模型的被绘制像素数量大于0时,判定第一模型的被遮挡程度为1,当第一模型的被绘制像素数量不大于0时,判定第一模型的被遮挡程度为0;此时,被遮挡程度为1表明第一模型只要在预渲染画面中被绘制了任意一个像素则该第一模型就是可见的,第一模型在预渲染画面完全没有被绘制则该第一模型是不可见的。
105、在对游戏场景中的游戏模型进行正式渲染时,不渲染不可见的第一模型,得到游戏画面。
其中,正式渲染是指CPU对最终呈现在玩家眼前的游戏画面进行渲染。
在本方案中,将不可见的第一模型剔除正式渲染的流程,使得CPU仅对游戏模型中的第二模型和可见的第一模型进行正式渲染,从而防止游戏透视外挂通过影响CPU的正式渲染流程来使得游戏画面中出现不可见的第一模型。
具体地,在一些实施例中,步骤105可以包括如下步骤:
基于第二模型的深度信息和可见的第一模型的深度信息,在游戏画面上绘制第二模型和可见的第一模型。
在此,将具体地介绍步骤105中深度信息是如何影响游戏模型在游戏画面中的绘制:
首先,根据第二模型的模型信息对第二模型进行可视化处理,得到处理后第二模型的模型信息;以及,根据可见的第一模型的模型信息对可见的第一模型进行可视化处理,得到处理后可见第一模型的模型信息;
然后,根据第二模型的深度信息,在处理后第二模型的模型信息中确定第二模型的待绘制信息;以及,根据可见的第一模型的深度信息,在处理后可见第一模型的模型信息中确定可见的第一模型的待绘制信息;
最后,根据第二模型的待绘制信息和可见的第一模型的待绘制信息进行画面绘制,得到游戏画面。
其中,可视化处理是GPU渲染流程中的一个步骤,其具体步骤如下:
(1)采用GPU的转换器对游戏模型的顶点信息进行空间转换,得到转换后顶点信息;
(2)对转换后顶点信息进行光栅化处理,得到游戏模型的像素信息;
(3)采用GPU的着色器根据颜色信息对游戏模型的像素信息进行颜色计算,得到处理后游戏模型的模型信息。
其中,采用GPU的转换器对游戏模型的顶点信息进行空间转换时,可以将三维坐标系中的顶点转换成二维坐标系中的点,比如,根据观察方向(Screen Position)将三维坐标系中的顶点投影到二维坐标系中,从而得到该三维坐标系中的顶点对应的二维图像,即转换后顶点信息。
其中,光栅化处理是指将二维图像转换为多个栅格,每个栅格都对应一个可显示的像素,从而得到游戏模型的像素信息。
其中,采用GPU的着色器根据颜色信息对游戏模型的像素信息进行颜色计算是通过采样像素之间的颜色信息、纹理信息等来计算像素的颜色值(比如,RGB值),从而得到处理后游戏模型的模型信息。
其中,根据游戏模型的深度信息,在处理后游戏模型的模型信息中确定游戏模型的待绘制信息的步骤被称为深度测试(Z-Test),深度测试可以采用GPU的深度缓冲区(Zbuffer)来判断游戏模型之间光栅片段的前后遮挡关系,从而将位于最靠近屏幕的光栅片段绘制在画面中,即屏幕上的像素。
其中,深度缓冲区是GPU中的一块内存区域,专门存储着每个绘制在屏幕上的像素点的深度值,通过比较游戏模型之间光栅片段的深度值的大小,来将比值最大或最小的深度值保存在深度缓冲区中,从而确定游戏模型的哪些光栅片段是需要被绘制在游戏画面中的。
比如,游戏模型A具有位于屏幕预设位置a的光栅片段,其深度值为1,游戏模型B也具有位于屏幕预设位置a光栅片段,其深度值为2,通过深度测试后,Zbuffer保存的深度值为2,则可知游戏模型B的位于屏幕预设位置a光栅片段需要被绘制在游戏画面中。
因此,步骤根据第二模型的深度信息,在处理后第二模型的模型信息中确定第二模型的待绘制信息中的待绘制信息是指将要被绘制在画面上第二模型中部分像素的处理后游戏模型的模型信息。
同样地,可见的第一模型的待绘制信息,是指将要被绘制在画面上可见的第一模型中部分像素的处理后游戏模型的模型信息。
本发明实施例提供的游戏画面渲染方案可以应用在各种反游戏透视外挂场景中,比如,以作弊玩家采用游戏透视外挂在采用本发明实施例提供的游戏画面渲染方案进行渲染的游戏中作弊为例,游戏透视外挂即使将第二模型和可见的第一模型的深度值进行了修改,最终得到的游戏画面上也只会出现第二模型和可见的第一模型,而不可见的第一模型无法在游戏画面中出现
因此,采用本方案进行画面渲染的游戏可以从根本上解决游戏作弊外挂通过控制游戏画面渲染来实现游戏作弊的问题。
由上可知,本发明实施例可以获取游戏场景中的游戏模型;采用游戏模型进行画面预渲染,得到预渲染画面,游戏模型包括第一模型;基于预渲染画面确定第一模型的被遮挡程度;根据被遮挡程度在第一模型中确定不可见的第一模型;在对游戏场景中的游戏模型进行正式渲染时,不渲染不可见的第一模型,得到游戏画面。
本发明实施例通过预渲染的方式在游戏模型中确定不应该被绘制在游戏画面中的不可见的第一模型,从而在正式渲染时,将不可见的第一模型剔除出要被正式渲染的游戏模型,使得CPU在渲染最终的游戏画面时,仅对第二模型和可见的第一模型进行渲染,因此,即使游戏透视外挂影响CPU中第二模型和可见的第一模型的深度值,也无法使得本就不被正式渲染的不可见的第一模型被绘制在游戏画面上。
由此,采用本发明实施例进行画面渲染的游戏可以有效解决游戏作弊外挂通过控制游戏画面渲染来实现游戏作弊的问题。
而本方案可以从根本上杜绝作弊玩家通过游戏透视外挂进行透视作弊,根据上述实施例所描述的方法,以下将作进一步详细说明:
在一些实施例中,上述游戏画面渲染方法可以是由异步执行的正式渲染流程和预渲染流程构成的,通过异步执行正式渲染流程和预渲染流程,来实现本方案游戏画面渲染方法中的步骤。
在本实施例中,将对本发明实施例提出的通过异步执行的正式渲染流程和预渲染流程来进行游戏画面渲染方法进行详细说明。
其中,异步执行(Asynchronous)是一种计算机处理多个线程的一种执行策略,在异步处理时,CPU会暂时搁置当前正在处理的线程A,转而处理线程B,在完成该线程B后,再继续处理线程A。在本方案中,正式渲染流程和预渲染流程可以通过异步处理的方式来提高正式渲染流程和预渲染流程的效率,即,异步执行的正式渲染流程和预渲染流程是指正式渲染流程和预渲染流程不用相互等待对方处理完成,就可以自行进行后续操作。
如图2a所示,通过异步执行的正式渲染流程和预渲染流程来进行游戏画面渲染方法中,正式渲染流程可以包括如下步骤:
(一)当获取到游戏场景中游戏模型的模型信息时,将模型信息发送给预渲染流程。
本方案可以在每渲染一帧游戏画面时,通过触发钩子(Hook)函数来触发本次正式渲染流程。
其中,钩子函数是一种用于截获、处理待测试游戏中特定事件的函数,当特定事件发生时,钩子函数可以被触发、调用,用于获取该特定事件中的数据信息。
首先,当获取模型信息的图形接口被调用时,钩子函数可以监听到此次调用事件,并通过图形接口获取到游戏场景中所有游戏模型的模型信息。
然后,将这些游戏模型的模型信息发送给预渲染流程。
(二)根据游戏模型的模型信息,判断游戏模型是人物模型还是非人物模型,当判断游戏模型是非人物模型,则直接对非人物模型进行正式渲染。
其中,模型信息中可以记录游戏模型的模型类型,比如,可以记录该游戏模型是人物模型(即上文中的第一模型)还是非人物模型(即上文中的第二模型),等等。
在本实施例中,为了提高渲染效率,可以直接将此次判断的非人物模型绘制在游戏画面中,而无需在完成了对所有游戏模型的判断后再将游戏模型中的非人物模型绘制在游戏画面中。
(三)当判断游戏模型是人物模型,则获取被遮挡程度列表。
当确定了游戏模型中的人物模型后,还需要判断该人物模型是否需要在画面中显示,因此,本实施例中可以从预渲染流程获得被遮挡程度列表,根据被遮挡程度列表可以确定人物模型是否可见。
(四)基于被遮挡程度列表判断人物模型是目标人物模型还是其它人物模型,当游戏模型是其它人物模型,则结束此次正式渲染流程。
比如,参考表2所示的被遮挡程度列表,正常渲染流程可以根据被遮挡程度列表在人物模型中确定目标人物模型和其它人物模型:
游戏模型名称 被遮挡程度
人物A模型 0
人物B模型 1
人物C模型 1
表2
故在此可以确定人物A模型是目标人物模型,人物B模型是其它人物模型,人物C模型是其它人物模型。
在本实施例中,可以直接将其它人物模型剔除出CPU的正式渲染队列中,仅渲染非人物模型和目标人物模型。
(五)当游戏模型是目标人物模型,则对目标人物模型进行正式渲染,得到游戏画面,从而防止游戏画面中出现其它人物模型。
其中,参考图2b所示的正式渲染画面,玩家左侧和前方的队友可以正常显示,而集装箱后方的敌人模型由于不在CPU的正式渲染队列中,故集装箱后方的敌人不会在游戏画面中显示。
如图2a所示,通过异步执行的正式渲染流程和预渲染流程来进行游戏画面渲染方法中,预渲染流程可以包括如下步骤:
(一)当从正式渲染流程获取到游戏场景中游戏模型的模型信息时,采用游戏模型进行画面预渲染,得到预渲染画面。
其中,参考图2c所示的预渲染画面,在预渲染时进行无光照渲染、降低预渲染画面的分辨率等方法降低预渲染所消耗的计算资源,优化游戏流畅度。
(二)基于游戏模型的模型信息,在游戏模型中确定人物模型,并根据预渲染画面确定人物模型的被遮挡程度。
其中,模型信息中可以记录游戏模型的模型类型,比如,可以记录该游戏模型是人物模型还是非人物模型,等等。
其中,根据预渲染画面确定人物模型的被遮挡程度的方法可以参考步骤103,在此不做赘述。
(四)将人物模型的被遮挡程度存储在被遮挡程度列表中,以便正式渲染流程根据被遮挡程度列表进行游戏画面渲染。
比如,可以将人物模型的被遮挡程度存储在如表2所示的被遮挡程度列表中,当接收到正式渲染流程发送的被遮挡程度列表获取指令时,将被遮挡程度列表发送给正式渲染流程,以便正式渲染流程根据被遮挡程度列表进行游戏画面渲染。
由上可知,在本发明实施例中,可以通过异步执行的正式渲染流程和预渲染流程来进行游戏画面渲染方法,使得游戏透视外挂无法实现其它人物模型的透视效果,其中,预渲染流程包括:
当从正式渲染流程获取到游戏场景中游戏模型的模型信息时,采用游戏模型进行画面预渲染,得到预渲染画面;基于模型信息,在游戏模型中确定第一模型;根据预渲染画面确定第一模型的被遮挡程度;将第一模型的被遮挡程度存储在被遮挡程度列表中,以便正式渲染流程根据被遮挡程度列表进行游戏画面渲染。
其中,正式渲染流程包括:
当获取到游戏场景中游戏模型的模型信息时,获得的被遮挡程度列表;基于被遮挡程度列表和模型信息,在游戏模型中确定不可见的第一模型;不渲染不可见的第一模型,得到游戏画面,从而防止游戏画面中出现不可见的第一模型。
当游戏透视外挂挂钩GPU的渲染流程时,游戏透视外挂可通过禁止或修改GPU的深度缓冲区来修改游戏模型的深度值时,GPU无法判断游戏场景中游戏模型之间的前后遮挡关系,然而在本实施例中,由于不可见的第一模型根本没有加入GPU的渲染流程,故即使游戏透视外挂修改了第二模型的深度值和可见的第一模型的深度值,GPU也无法在游戏画面中绘制不可见的第一模型,因此,本发明实施例从原理上杜绝了游戏透视外挂,维护了游戏平衡性,保证了正常玩家游戏体验,增加游戏收入。
此外,采用本发明实施例进行画面渲染的游戏可以通过将正式渲染和预渲染异步执行来提高画面渲染的效率,故本发明实施例可以有效地解决游戏作弊外挂通过控制游戏画面渲染来实现游戏作弊的问题。
为了更好地实施以上方法,本发明实施例还提供一种游戏画面渲染装置,该游戏画面渲染装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
比如,在本实施例中,将以游戏画面渲染装置具体集成在终端中为例,对本发明实施例的方法进行详细说明。
例如,如图3所示,该游戏画面渲染装置可以包括获取单元301、预渲染单元302、被遮挡程度单元303、确定单元304以及正式渲染单元305,如下:
(一)获取单元301:
获取单元301可以用于获取游戏场景中的游戏模型。
在一些实施例中,获取单元301可以用于获取游戏场景中游戏模型的模型信息,模型信息可以包括游戏模型的深度信息。
(二)预渲染单元302:
预渲染单元302可以用于采用游戏模型进行画面预渲染,得到预渲染画面。
在一些实施例中,游戏模型包括第一模型。
在一些实施例中,游戏模型包括第一模型和第二模型。
在一些实施例中,预渲染单元302,可以包括绘制子单元,如下:
绘制子单元可以用于基于第一模型的模型信息和第二模型的模型信息,在预渲染画面上绘制第一模型和第二模型。
在一些实施例中,绘制子单元可以用于执行如下步骤:
获取光照信息;
在采用游戏模型进行画面预渲染时,对基于光照信息和游戏模型进行光照渲染处理的步骤进行拦截;
以及,对基于游戏模型进行无光照渲染处理的步骤进行响应,从而得到无光照预渲染画面。
在一些实施例中,绘制子单元可以用于执行如下步骤:
获取光照信息;
在采用第一模型和第二模型进行画面预渲染时,对基于第一模型、第二模型和进行光照渲染处理的步骤进行拦截;
以及,对基于第一模型和第二模型进行无光照渲染处理的步骤进行响应,从而得到无光照预渲染画面。
在一些实施例中,绘制子单元可以用于执行如下步骤:
获取预设的低分辨率;
采用预设的低分辨率基于游戏模型的模型信息,在预渲染画面上绘制游戏模型,得到低分辨率预渲染画面。
在一些实施例中,绘制子单元可以用于执行如下步骤:
获取预设的低分辨率;
采用预设的低分辨率基于第一模型的模型信息和第二模型的模型信息,在预渲染画面上绘制第一模型和第二模型,得到低分辨率预渲染画面。
(三)被遮挡程度单元303:
被遮挡程度单元303可以用于基于预渲染画面确定第一模型的被遮挡程度。
在一些实施例中,被遮挡程度单元303,可以包括像素子单元和被遮挡程度子单元,如下:
(1)像素子单元:
像素子单元可以用于确定预渲染画面中第一模型的被绘制像素数量。
在一些实施例中,像素子单元,可以用于执行如下步骤:
调用图形接口库中的像素绘制数量接口;
通过像素绘制数量接口查询预渲染画面中第一模型的被绘制像素数量。
(2)被遮挡程度子单元:
被遮挡程度子单元可以用于基于第一模型的被绘制像素数量确定第一模型的被遮挡程度。
在一些实施例中,被遮挡程度子单元可以用于执行如下步骤:
当第一模型的被绘制像素数量大于预设阈值时,确定第一模型的被遮挡程度为1;
当第一模型的被绘制像素数量不大于预设阈值时,确定第一模型的被遮挡程度为0。
(四)确定单元304:
确定单元304可以用于根据被遮挡程度在第一模型中确定不可见的第一模型。
在一些实施例中,第一模型可以包括不可见的第一模型。
在一些实施例中,第一模型可以包括可见的第一模型和不可见的第一模型。
在一些实施例中,第一模型的被遮挡程度可以为0或1,确定单元304可以用于:
将被遮挡程度为1的第一模型确定为可见的第一模型;
将被遮挡程度为0的第一模型确定为不可见的第一模型。
(五)正式渲染单元305:
正式渲染单元305可以用于在对游戏场景中的游戏模型进行正式渲染时,不渲染不可见的第一模型,得到游戏画面。
在一些实施例中,获取单元301可以用于获取游戏场景中游戏模型的模型信息,其中,模型信息可以包括游戏模型的深度信息,故在一些实施例中,正式渲染单元305,可以包括深度绘制子单元,其中:
深度绘制子单元可以用于在对游戏场景中的游戏模型进行正式渲染时,只基于第二模型的深度信息和不可见的第一模型的深度信息,在游戏画面上绘制第二模型和不可见的第一模型,不绘制不可见的第一模型,得到游戏画面。
在一些实施例中,深度绘制子单元可以用于执行如下步骤:
根据第二模型的模型信息对第二模型进行可视化处理,得到处理后第二模型的模型信息;
根据可见的第一模型的模型信息对可见的第一模型进行可视化处理,得到处理后可见第一模型的模型信息;
根据第二模型的深度信息,在处理后第二模型的模型信息中确定第二模型的待绘制信息;
根据可见的第一模型的深度信息,在处理后可见第一模型的模型信息中确定可见的第一模型的待绘制信息;
根据第二模型的待绘制信息和可见的第一模型的待绘制信息进行画面绘制。
在一些实施例中,游戏画面渲染装置还可以包括异步单元,其中:
异步单元可以用于异步执行正式渲染流程和预渲染流程,从而通过异步执行正式渲染流程和预渲染流程,来实现本方案游戏画面渲染方法中的步骤。
在一些实施例中,异步单元在执行预渲染流程时,可以用于执行如下步骤:
当从正式渲染流程获取到游戏场景中游戏模型的模型信息时,采用游戏模型进行画面预渲染,得到预渲染画面;
基于模型信息,在游戏模型中确定第一模型;
根据预渲染画面确定第一模型的被遮挡程度;
将第一模型的被遮挡程度存储在被遮挡程度列表中,以便正式渲染流程根据被遮挡程度列表进行游戏画面渲染。
在一些实施例中,异步单元在执行正式渲染流程时,可以用于执行如下步骤:
当获取到游戏场景中游戏模型的模型信息时,将模型信息发送给预渲染流程;
获得被遮挡程度列表;
基于被遮挡程度列表和模型信息,在游戏模型中确定第二模型、可见的第一模型、不可见的第一模型;
采用第二模型和可见的第一模型进行正式渲染,得到游戏画面,从而防止游戏画面中出现不可见的第一模型。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的游戏画面渲染装置由获取单元获取游戏场景中的游戏模型,游戏模型包括第一模型和第二模型;由预渲染单元采用游戏模型进行画面预渲染,得到预渲染画面;由被遮挡程度单元基于预渲染画面确定第一模型的被遮挡程度;由确定单元根据被遮挡程度在第一模型中确定不可见的第一模型;由正式渲染单元在对游戏场景中的游戏模型进行正式渲染时,不渲染不可见的第一模型,得到游戏画面。
由此,采用本发明实施例进行画面渲染的游戏可以有效解决游戏作弊外挂通过控制游戏画面渲染来实现游戏作弊的问题。
本发明实施例还提供一种电子设备,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑,等等;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,等等。
在一些实施例中,该游戏画面渲染装置还可以集成在多个电子设备中,比如,游戏画面渲染装置可以集成在多个服务器中,由多个服务器来实现本发明的游戏画面渲染方法。
在本实施例中,将以本实施例的电子设备是终端为例进行详细描述,比如,如图4所示,其示出了本发明实施例所涉及的终端的结构示意图,具体来讲:
该终端可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403、输入模块404以及通信模块405等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。在一些实施例中,处理器401可包括一个或多个处理核心;在一些实施例中,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
终端还包括给各个部件供电的电源403,在一些实施例中,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该终端还可包括输入模块404,该输入模块404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该终端还可包括通信模块405,在一些实施例中通信模块405可以包括无线模块,终端可以通过该通信模块405的无线模块进行短距离无线传输,从而为用户提供了无线的宽带互联网访问。比如,该通信模块405可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。
尽管未示出,终端还可以包括显示单元等,在此不再赘述。具体在本实施例中,终端中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取游戏场景中的游戏模型;
采用游戏模型进行画面预渲染,得到预渲染画面,游戏模型包括第一模型;
基于预渲染画面确定第一模型的被遮挡程度;
根据被遮挡程度在第一模型中确定不可见的第一模型;
在对游戏场景中的游戏模型进行正式渲染时,不渲染不可见的第一模型,得到游戏画面。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,采用本方案进行画面渲染的游戏可以有效解决游戏作弊外挂通过控制游戏画面渲染来实现游戏作弊的问题。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种游戏画面渲染方法中的步骤。例如,该指令可以执行如下步骤:
获取游戏场景中的游戏模型;
采用游戏模型进行画面预渲染,得到预渲染画面,游戏模型包括第一模型;
基于预渲染画面确定第一模型的被遮挡程度;
根据被遮挡程度在第一模型中确定不可见的第一模型;
在对游戏场景中的游戏模型进行正式渲染时,不渲染不可见的第一模型,得到游戏画面。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中提供的反透视作弊外挂方面或者图像渲染方面的各种可选实现方式中提供的方法。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种游戏画面渲染方法中的步骤,因此,可以实现本发明实施例所提供的任一种游戏画面渲染方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种游戏画面渲染方法、装置、终端和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

1.一种游戏画面渲染方法,其特征在于,包括:
获取游戏场景中的第一模型和第二模型,其中,所述第一模型是游戏透视外挂透视目标的特定游戏模型,包括虚拟人物模型和虚拟道具模型的至少一项,所述第二模型是游戏模型中除了第一模型以外的模型,包括建筑模型和场景模型的至少一项;
采用所述第一模型和所述第二模型进行画面预渲染,得到预渲染画面;
基于所述预渲染画面确定所述第一模型的被遮挡程度;
根据所述被遮挡程度在所述第一模型中确定不可见的第一模型和可见的第一模型;
在对所述游戏场景中的所述游戏模型进行正式渲染时,将所述不可见的第一模型剔除正式渲染的流程,对所述第二模型和所述可见的第一模型进行正式渲染,得到游戏画面。
2.如权利要求1所述的游戏画面渲染方法,其特征在于,所述游戏场景包括第一人称射击游戏的场景。
3.如权利要求1所述的游戏画面渲染方法,其特征在于,所述基于所述预渲染画面确定所述第一模型的被遮挡程度,包括:
确定所述预渲染画面中所述第一模型的被绘制像素数量;
基于所述第一模型的被绘制像素数量确定所述第一模型的被遮挡程度。
4.如权利要求3所述的游戏画面渲染方法,其特征在于,所述基于所述第一模型的被绘制像素数量确定所述第一模型的被遮挡程度,包括:
当所述第一模型的被绘制像素数量大于预设阈值时,确定所述第一模型的被遮挡程度为1;
当所述第一模型的被绘制像素数量不大于预设阈值时,确定所述第一模型的被遮挡程度为0;
所述第一模型包括可见的第一模型,所述根据所述被遮挡程度在所述第一模型中确定不可见的第一模型,包括:
将被遮挡程度为1的第一模型确定为可见的第一模型;
将被遮挡程度为0的第一模型确定为不可见的第一模型。
5.如权利要求3所述的游戏画面渲染方法,其特征在于,所述确定所述预渲染画面中所述第一模型的被绘制像素数量,包括:
调用图形接口库中的像素绘制数量接口;
通过所述像素绘制数量接口查询所述预渲染画面中所述第一模型的被绘制像素数量。
6.如权利要求1所述的游戏画面渲染方法,其特征在于,所述获取游戏场景中的游戏模型,包括:
获取游戏场景中游戏模型的模型信息,所述模型信息包括所述游戏模型的深度信息;
所述游戏模型包括第二模型,所述第一模型包括可见的第一模型,在对所述游戏场景中的所述游戏模型进行正式渲染时,不渲染所述不可见的第一模型,得到游戏画面,包括:
在对所述游戏场景中的所述游戏模型进行正式渲染时,只基于所述第二模型的深度信息和所述可见的第一模型的深度信息,在游戏画面上绘制所述第二模型和所述可见的第一模型,不渲染所述不可见的第一模型,得到游戏画面。
7.如权利要求6所述的游戏画面渲染方法,其特征在于,所述基于所述第二模型的深度信息和所述可见的第一模型的深度信息,在游戏画面上绘制所述第二模型和所述可见的第一模型,包括:
根据所述第二模型的模型信息对所述第二模型进行可视化处理,得到处理后第二模型的模型信息;
根据所述可见的第一模型的模型信息对所述可见的第一模型进行可视化处理,得到处理后可见第一模型的模型信息;
根据所述第二模型的深度信息,在所述处理后第二模型的模型信息中确定第二模型的待绘制信息;
根据所述可见的第一模型的深度信息,在所述处理后可见第一模型的模型信息中确定可见的第一模型的待绘制信息;
根据所述第二模型的待绘制信息和所述可见的第一模型的待绘制信息进行画面绘制。
8.如权利要求1所述的游戏画面渲染方法,其特征在于,所述游戏画面渲染方法,还包括:
异步执行正式渲染流程和预渲染流程,使得通过异步执行所述正式渲染流程和所述预渲染流程,来实现权利要求1所述的游戏画面渲染方法中的步骤。
9.如权利要求8所述的游戏画面渲染方法,其特征在于,所述预渲染流程包括:
当从正式渲染流程获取到游戏场景中游戏模型的模型信息时,采用所述游戏模型进行画面预渲染,得到预渲染画面;
基于所述模型信息,在所述游戏模型中确定第一模型;
根据所述预渲染画面确定所述第一模型的被遮挡程度;
将所述第一模型的被遮挡程度存储在被遮挡程度列表中,以便正式渲染流程根据所述被遮挡程度列表进行游戏画面渲染。
10.如权利要求8所述的游戏画面渲染方法,其特征在于,所述正式渲染流程,包括:
当获取到游戏场景中游戏模型的模型信息时,获取被遮挡程度列表;
基于所述被遮挡程度列表和模型信息,在所述游戏模型中确定不可见的第一模型;
不渲染所述不可见的第一模型,得到游戏画面。
11.如权利要求1所述的游戏画面渲染方法,其特征在于,所述预渲染画面包括无光照预渲染画面,所述采用所述游戏模型进行画面预渲染,得到预渲染画面,包括:获取光照信息;
在采用所述游戏模型进行画面预渲染时,对基于所述光照信息和所述游戏模型进行光照渲染处理的步骤进行拦截;
以及,对基于所述游戏模型进行无光照渲染处理的步骤进行响应,从而得到无光照预渲染画面。
12.如权利要求1所述的游戏画面渲染方法,其特征在于,所述预渲染画面包括低分辨率预渲染画面,所述采用所述游戏模型进行画面预渲染,得到预渲染画面,包括:
获取预设的低分辨率;
采用所述预设的低分辨率基于所述游戏模型的模型信息,在预渲染画面上绘制所述游戏模型,得到低分辨率预渲染画面。
13.一种游戏画面渲染装置,其特征在于,包括:
获取单元,用于获取游戏场景中的第一模型和第二模型,其中,所述第一模型是游戏透视外挂透视目标的特定游戏模型,包括虚拟人物模型和虚拟道具模型中的至少一项,所述第二模型是游戏模型中除了第一模型以外的模型,包括建筑模型和场景模型的至少一项;
预渲染单元,用于采用所述第一模型和所述第二模型进行画面预渲染,得到预渲染画面;
被遮挡程度单元,用于基于所述预渲染画面确定所述第一模型的被遮挡程度;
确定单元,用于根据所述被遮挡程度在所述第一模型中确定可见的第一模型和不可见的第一模型;
正式渲染单元,用于将所述不可见的第一模型剔除正式渲染的流程,对所述第二模型和所述可见的第一模型进行正式渲染,得到游戏画面。
14.一种终端,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1~12任一项所述的游戏画面渲染方法中的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1~12任一项所述的游戏画面渲染方法中的步骤。
CN202010879427.9A 2020-08-27 2020-08-27 游戏画面渲染方法、装置、终端和存储介质 Active CN112044062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010879427.9A CN112044062B (zh) 2020-08-27 2020-08-27 游戏画面渲染方法、装置、终端和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010879427.9A CN112044062B (zh) 2020-08-27 2020-08-27 游戏画面渲染方法、装置、终端和存储介质

Publications (2)

Publication Number Publication Date
CN112044062A CN112044062A (zh) 2020-12-08
CN112044062B true CN112044062B (zh) 2022-11-08

Family

ID=73600956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010879427.9A Active CN112044062B (zh) 2020-08-27 2020-08-27 游戏画面渲染方法、装置、终端和存储介质

Country Status (1)

Country Link
CN (1) CN112044062B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116670719A (zh) * 2020-12-27 2023-08-29 华为技术有限公司 一种图形处理方法、装置及电子设备
CN112957731B (zh) * 2021-03-26 2021-11-26 深圳市凉屋游戏科技有限公司 画面渲染方法、画面渲染装置及存储介质
CN115591230A (zh) * 2021-07-09 2023-01-13 花瓣云科技有限公司(Cn) 图像画面渲染方法及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007130018A1 (en) * 2006-04-27 2007-11-15 Pixar Image-based occlusion culling

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6429867B1 (en) * 1999-03-15 2002-08-06 Sun Microsystems, Inc. System and method for generating and playback of three-dimensional movies
US7436414B2 (en) * 2004-11-12 2008-10-14 Valve Corporation Method for accelerated determination of occlusion between polygons
CN101339667B (zh) * 2008-05-27 2010-06-02 中国科学院计算技术研究所 一种虚拟动态群体的可见性判断方法
CN103489214A (zh) * 2013-09-10 2014-01-01 北京邮电大学 增强现实系统中基于虚拟模型预处理的虚实遮挡处理方法
CN105321198A (zh) * 2015-06-09 2016-02-10 苏州蜗牛数字科技股份有限公司 一种基于3d场景gpu端软件遮挡查询的图形绘制方法
CN106898051B (zh) * 2017-04-14 2019-02-19 腾讯科技(深圳)有限公司 一种虚拟角色的视野剔除方法和服务器
US10504280B2 (en) * 2018-01-10 2019-12-10 Qualcomm Incorporated Accelerated occlusion computation
CN108479067B (zh) * 2018-04-12 2019-09-20 网易(杭州)网络有限公司 游戏画面的渲染方法和装置
CN110152291A (zh) * 2018-12-13 2019-08-23 腾讯科技(深圳)有限公司 游戏画面的渲染方法、装置、终端及存储介质
CN109754454B (zh) * 2019-01-30 2022-11-04 腾讯科技(深圳)有限公司 物体模型的渲染方法、装置、存储介质及设备
CN110889890B (zh) * 2019-11-29 2023-07-28 深圳市商汤科技有限公司 图像处理方法及装置、处理器、电子设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007130018A1 (en) * 2006-04-27 2007-11-15 Pixar Image-based occlusion culling

Also Published As

Publication number Publication date
CN112044062A (zh) 2020-12-08

Similar Documents

Publication Publication Date Title
CN112044062B (zh) 游戏画面渲染方法、装置、终端和存储介质
US11829197B2 (en) Backward compatibility through use of spoof clock and fine grain frequency control
EP3134864B1 (en) Flex rendering based on a render target in graphics processing
KR101286318B1 (ko) 렌더링된 그래픽 엘리먼트들을 위한 성능 메트릭들의 시각적 표현의 디스플레이
US7307628B1 (en) Diamond culling of small primitives
US20240005591A1 (en) Method and system for rendering panoramic video
US10055883B2 (en) Frustum tests for sub-pixel shadows
CN110047123B (zh) 一种地图渲染方法、装置、存储介质及计算机程序产品
CN112215932B (zh) 粒子动画处理方法、装置、存储介质及计算机设备
US11731050B2 (en) Asset aware computing architecture for graphics processing
KR20170040698A (ko) 그래픽스 파이프라인을 수행하는 방법 및 장치
US20220072420A1 (en) Frame display method and apparatus in game application, terminal, and storage medium
CN113900797A (zh) 基于虚幻引擎的三维倾斜摄影数据处理方法、装置及设备
CN113952720A (zh) 游戏场景渲染方法、装置、电子设备及存储介质
JP2006146338A (ja) エンタテインメント装置、オブジェクト表示装置、オブジェクト表示方法、プログラム、およびキャラクタ表示方法
CN110334027B (zh) 游戏画面测试方法和装置
CN115210748A (zh) 渲染时通过区域测试进行几何图形高效多gpu渲染的系统和方法
CN113694518B (zh) 一种冰冻效果的处理方法、装置、存储介质及电子设备
US11514549B2 (en) System and method for efficient multi-GPU rendering of geometry by generating information in one rendering phase for use in another rendering phase
CN115511886B (zh) 利用gpu实现远程目标统计的方法、装置及存储介质
CN114042312A (zh) 一种角色皮肤绘制方法、系统、电子设备
CN112843715A (zh) 一种拍摄视角的确定方法、装置、设备及存储介质
CN117111871A (zh) 一种数据处理方法、装置及电子设备
Li Evaluating Tessellation and Screen-Space Ambient Occlusion in WebGL-Based Real-Time Application

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: 40035261

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant