CN114984576A - 对象渲染方法及装置 - Google Patents
对象渲染方法及装置 Download PDFInfo
- Publication number
- CN114984576A CN114984576A CN202210384841.1A CN202210384841A CN114984576A CN 114984576 A CN114984576 A CN 114984576A CN 202210384841 A CN202210384841 A CN 202210384841A CN 114984576 A CN114984576 A CN 114984576A
- Authority
- CN
- China
- Prior art keywords
- display area
- rendered
- area
- target
- determining
- 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.)
- Pending
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- 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
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供对象渲染方法及装置,其中所述对象渲染方法包括:基于目标对象在目标地图中的当前位置信息,确定所述目标对象在所述目标地图中对应的第一展示区域和第二展示区域;为所述第一展示区域确定第一待渲染对象,以及为所述第二展示区域确定第二待渲染对象,其中,所述第一待渲染对象的对象精度大于所述第二待渲染对象;通过图像处理模块将所述第一待渲染对象以及所述第二待渲染对象,渲染至所述第一展示区域以及所述第二展示区域。从而降低了在对待渲染对象进行渲染的过程中所使用的计算资源,避免了由于计算资源被大量占用所导致游戏性能较差的问题,提高了游戏性能。
Description
技术领域
本申请涉及游戏开发技术领域,特别涉及一种对象渲染方法。本申请同时涉及一种对象渲染装置、一种计算设备,以及一种计算机可读存储介质。
背景技术
随着游戏技术的发展,对于开放世界类型的游戏在性能上要求越来越高,而地形渲染则是最重要的基础模块之一,但是,开放世界类型的游戏所对应的地形资源较多,因此在进行地形渲染的过程中,会占用大量的计算资源进行地形渲染,进一步降低了游戏性能。
发明内容
有鉴于此,本申请实施例提供了一种对象渲染方法,以解决现有技术中存在的技术缺陷。本申请实施例同时提供了一种对象渲染装置,一种计算设备,以及一种计算机可读存储介质。
根据本申请实施例的第一方面,提供了一种对象渲染方法,包括:
基于目标对象在目标地图中的当前位置信息,确定所述目标对象在所述目标地图中对应的第一展示区域和第二展示区域;
为所述第一展示区域确定第一待渲染对象,以及为所述第二展示区域确定第二待渲染对象,其中,所述第一待渲染对象的对象精度大于所述第二待渲染对象;
将所述第一待渲染对象以及所述第二待渲染对象,渲染至所述第一展示区域以及所述第二展示区域。
根据本申请实施例的第二方面,提供了一种对象渲染装置,包括:
区域确定模块,被配置为基于目标对象在目标地图中的当前位置信息,确定所述目标对象在所述目标地图中对应的第一展示区域和第二展示区域;
对象确定模块,被配置为所述第一展示区域确定第一待渲染对象,以及为所述第二展示区域确定第二待渲染对象,其中,所述第一待渲染对象的对象精度大于所述第二待渲染对象;
渲染模块,被配置为将所述第一待渲染对象以及所述第二待渲染对象,渲染至所述第一展示区域以及所述第二展示区域。
根据本申请实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器执行所述计算机可执行指令时实现所述对象渲染方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述对象渲染方法的步骤。
根据本申请实施例的第五方面,提供了一种芯片,其存储有计算机程序,该计算机程序被芯片执行时实现所述对象渲染方法的步骤。
本申请提供的对象渲染方法,基于目标对象在目标地图中的当前位置信息,确定所述目标对象在所述目标地图中对应的第一展示区域和第二展示区域;为所述第一展示区域确定第一待渲染对象,以及为所述第二展示区域确定第二待渲染对象;通过图像处理模块将所述第一待渲染对象以及所述第二待渲染对象,渲染至所述第一展示区域以及所述第二展示区域。
具体地,该对象渲染方法通过为第一展示区域确定精度较高的第一待渲染对象,以及为第二展示区域确定精度小于第一待渲染对象的第二待渲染对象,从而实现根据不同的区域渲染不同精度的对象,从而降低了在对待渲染对象进行渲染的过程中所使用的计算资源,避免了由于计算资源被大量占用所导致游戏性能较差的问题,提高了游戏性能。
附图说明
图1是本申请一实施例提供的一种对象渲染方法的应用场景示意图;
图2是本申请一实施例提供的一种对象渲染方法的流程图;
图3是本申请一实施例提供的一种对象渲染方法中展示区域的示意图;
图4是本申请一实施例提供的一种应用于地形渲染场景下的对象渲染方法的处理流程图;
图5是本申请一实施例提供的一种对象渲染装置的结构示意图;
图6是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
Unity:Unity3D,是一种多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
Terrain组件:Unity原生的一种地形创建组件。
GPU-Terrain:通过GPU实现的一种地形创建组件。
GPU:图形处理器(英语:graphics processing unit,缩写:GPU),是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
Compute Shader:计算着色器,是一种运行在显卡上却不在普通渲染管线上的程序,利用它可以做大型并行的GPGPU算法。
四叉树:四元树又称四叉树,是一种树状数据结构,在每一个节点上会有四个子区块。
GPU-Driven:GPU-Driven Rendering Pipelines,GPU驱动渲染管线。
HLOD(high Level ofDetail):多层次细节处理。
DOTS(Data-Oriented Tech Stack):是指多线程数据导向型技术堆栈。
随着游戏技术的发展,对于开放世界类型的游戏在性能上要求越来越高,而地形渲染则是最重要的基础模块之一,仅靠Unity原生Terrain组件远远达不到项目性能要求,现有的技术通常是根据Unity原生Terrain组件离线生成Mesh地形,并配合九宫格加载方式进行统一管理,这样运行时的显存占用与GPU计算消耗依然是性能瓶颈。
基于此,本说明书提供了一种对象渲染方法,该方案是一种基于流式加载、四叉树场景管理的HLOD(High level ofdetail)和GPU-Driven的地形渲染解决方案。
具体的,该项目成员完成原始地形美术资源后,能够通过工具链离线生成远距离时渲染的低精度的地形Mesh四叉树和对应的资源文件,同时生成近距离时渲染的GPU-Terrain所需要的资源文件,在实际应用中,基于该GPU-Terrain能够对目标对象近距离的高精度地形资源进行渲染。
之后游戏系统根据动态加载的资源,使用Compute Shader实时裁剪,并通过GPU-Driven方式渲染高精度地形,以及渲染根据地形资源的屏幕空间占比确定的LOD资源,从而实现了高性能的地形渲染。
在本申请中,提供了一种对象渲染方法。本申请同时涉及一种对象渲染装置、一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1出了根据本申请一实施例提供的一种对象渲染方法的应用场景示意图;参见图1,在本说明书提供的对象渲染方法应用在游戏场景的情况下,游戏玩家进入游戏后,游戏系统的场景管理器,会根据摄像机视野距离加载远处的低精度的地形四叉树,每个节点(即图1中的Terrain-HLOD)根据其资源包围盒的屏幕空间占比来决定卸载资源、加载低模资源或者是加载高模资源,图1中的根据屏幕空间占比显示LOD-Mesh(即LOD地形资源)。
同时,游戏系统的场景管理器,会根据相机当前位置,加载近处的GPU-Terrain所需的资源,同时通过Compute Shader分帧处理的方式计算裁剪出实际所需的Mesh和控制图等。之后,低精度的地形四叉树中距离相机最近的四块叶子节点Mesh地形(即Terrain-HLOD)将会被替换成GPU-Terrain所渲染的地形资源。
本说明书提供的对象渲染方法应用在游戏场景的情况下,实现高性能的地形渲染,同时使用流式加载技术让地形流畅地进行无缝切换,且自动处理不同精度的地形接缝,充分发挥了GPU-Driven的优势。
图2示出了根据本申请一实施例提供的一种对象渲染方法的流程图,具体包括以下步骤:
步骤S202:基于目标对象在目标地图中的当前位置信息,确定所述目标对象在所述目标地图中对应的第一展示区域和第二展示区域。
其中,目标地图可以理解为游戏世界的地图,该目标对象可以理解为游戏系统的摄像机、或者游戏系统中玩家所操控的游戏角色等。该当前位置信息可以理解为目标对象在游戏世界中的世界坐标。该展示区域可以理解为游戏系统需要向用户展示的游戏场景;在实际应用中,当游戏玩家在操控游戏角色移动的过程中,游戏系统会向用户展示游戏角色周围的游戏场景,从而提高游戏玩家的游戏体验。此外,在游戏过程中,玩家所操控的游戏角色会绑定有对应的摄像机,因此,当游戏玩家在操控游戏角色移动的过程中,同样也是操作该游戏角色对应的摄像机进行移动;而游戏系统会将摄像机的视野范围内的游戏场景展示给游戏玩家。对应的,该第一展示区域可以理解为距离目标对象的当前坐标较近的游戏场景区域,该第二展示区域可以理解为距离目标对象的当前坐标较远的游戏场景区域。
在实际应用中,本说明书提供的对象渲染方法能够应用于游戏系统,或游戏系统中的场景管理器。其中,该场景管理器可以理解为能够对游戏的场景、地形资源进行管理的模块。
具体地,游戏系统在游戏玩家进行游戏后,能够确定目标对象在目标地图中的当前位置信息,并根据该当前位置信息为目标对象在该目标地图中确定对应的第一展示区域、和第二展示区域。在实际应用中,该第一展示区域与目标对象之间的距离可以小于该第二展示区域与目标对象之间的距离。
下面以本说明书提供的对象渲染方法在地形渲染场景下的应用为例,对从目标地图中为目标对象确定第一展示区域和第二展示区域做进一步说明。其中,该目标对象可以为摄像机、该目标地图可以为游戏世界的地图,当前位置信息为摄像机在游戏世界中的当前坐标,第一展示区域为游戏世界中距离摄像机当前坐标较近的游戏区域,第二展示区域为游戏世界中距离摄像机当前坐标较远的游戏区域。
基于此,该游戏系统在游戏玩家进行游戏后,能够确定游戏玩家对应的摄像机在游戏世界中的坐标信息。在实际应用中,该游戏系统中的摄像机用于向游戏玩家展示游戏世界中的场景,游戏系统能够对摄像机的摄像视角所采集的游戏场景进行渲染,从而让游戏玩家能够体验到不同的游戏场景。
在确定摄像机的坐标信息之后,能够根据该坐标信息从游戏世界的地图中确定出距离摄像机较近的游戏区域,以及距离该摄像机较远的游戏区域。便于后续根据不同远近的区域,渲染不同精度的地形资源。
在本说明书提供的一实施例中,所述基于目标对象在目标地图中的当前位置信息,确定所述目标对象在所述目标地图中对应的第一展示区域和第二展示区域,包括:
确定目标对象在目标地图中的当前位置信息,以及所述目标对象在所述目标地图中的预设视角范围;
基于所述当前位置信息以及所述预设视角范围,从所述目标地图中确定所述目标对象对应的目标区域;
基于所述目标对象的当前位置信息,从所述目标区域中确定所述目标对象对应的第一展示区域和第二展示区域。
其中,该预设视角范围可以理解为游戏系统为目标对象所设置的视角范围。例如,在目标对象为摄像机的情况下,该预设视角范围为摄像机正前方300米的范围,且范围的角度为180度。或者,该在目标对象为游戏角色的情况下,该预设视角范围为游戏角色周围300米内的范围。
目标区域可以理解为游戏世界中需要向用户展示的区域。在实际应用中,该目标区域与预设视角范围所覆盖的区域可以相同。
沿用上例,该游戏系统在游戏玩家进行游戏后,确定该游戏玩家对应的摄像机的当前坐标,以及游戏系统为该摄像机所设置的角度范围。基于此,该游戏系统基于摄像机的当前位置以及摄像机的视角范围,将摄像机当前坐标的正前方300米的区域,确定为需要向游戏玩家展示的区域。
之后,游戏系统根据该摄像机的坐标信息,从需要向游戏玩家展示的区域中确定出距离摄像机较近的游戏区域,以及距离该摄像机较远的游戏区域。
在本说明书提供的一实施例中,所述从所述目标区域中确定所述目标对象对应的第一展示区域和第二展示区域,包括:
确定所述目标对象对应的预设区域距离信息;
将所述目标区域中,处于所述目标对象的当前位置信息与所述预设区域距离信息之间的区域,确定为第一展示区域;
将所述目标区域中,超出所述目标对象的当前位置信息与所述预设区域距离信息之外的区域,确定为第二展示区域。
其中,该预设区域距离信息可以理解为游戏系统预先设置的、用于划分第一展示区域以及第二展示区域的信息,例如,该预设区域距离信息可以为100米、300米等。在实际应用中,游戏系统可以将摄像机正前方100米之内的区域,确定为距离摄像机较近的区域;对应的,将摄像机正前方大于100米之外的区域,确定为距离摄像机较远的区域。
沿用上例,游戏系统在基于摄像机的坐标信息以及该摄像机的视角范围(视野范围)确定需要向游戏玩家展示的游戏区域之后,游戏系统根据预先为摄像机设置的、用于划分不同区域的距离参数(如100米)。从需要向游戏玩家展示的游戏区域中,确定摄像机当前坐标与摄像机正前方100米之间的区域,为距离摄像机较近的区域。相应地,游戏系统将需要向游戏玩家展示的游戏区域中,位于摄像机当前坐标与摄像机正前方100米之外的区域,为距离摄像机较远的区域。
在实际应用中,该游戏系统为了在性能和用户视觉体验上都能取得较好的效果,还可以将整个目标区域作为向用户展示的第二展示区域,并将目标区域中与目标对象较近的区域作为第一展示区域,并在后续为不同的区域渲染不同精度的地形资源。具体实现方式如下。
所述从所述目标区域中确定所述目标对象对应的第一展示区域和第二展示区域,包括:
确定所述目标对象对应的预设区域距离信息;
将所述目标区域中,处于所述目标对象的当前位置信息与所述预设区域距离信息之间的区域,确定为第一展示区域;
将所述目标区域作为所述目标对象对应的第二展示区域。
其中,该第一展示区域可以理解为后续需要渲染低精度地形资源的区域,该第二展示区域可以理解为后续需要渲染高精度地形资源的区域。在实际应用中,第二展示区域位于第一展示区域内。
具体地,游戏系统在确定该目标对象对应的目标区域之后,能够确定预先为该目标对象设定的预设区域距离信息,并将该目标区域中,处于该目标对象的当前位置信息与预设区域距离信息之内的区域,确定为第一展示区域。并且,将整个目标区域作为目标对象对应的第二展示区域。后续在为不同的区域渲染不同精度的对象时,能够将第一展示区域对应的、高精度的第一待渲染对象,替换掉该第二展示区域中与该第一展示区域对应的、低精度的第二待渲染对象。从而实现游戏运行过程中能够在性能和用户视觉体验上都能取得较好的效果。
沿用上例,游戏系统在基于摄像机的坐标信息以及该摄像机的视角范围(视野范围)确定需要向游戏玩家展示的游戏区域之后,游戏系统根据预先为摄像机设置的、用于划分不同区域的距离参数(100米)。从需要向游戏玩家展示的游戏区域中,确定摄像机当前坐标与摄像机正前方100米之间的区域,为距离摄像机较近的区域,并在后续为该区域确定高精度的地形资源。相应地,游戏系统还能够将基于摄像机的视角范围(视野范围)确定的、需要向游戏玩家展示的游戏区域,作为需要渲染低精度的地形资源的区域。
步骤S204:为所述第一展示区域确定第一待渲染对象,以及为所述第二展示区域确定第二待渲染对象。
其中,所述第一待渲染对象的对象精度大于所述第二待渲染对象。对应的,该待渲染对象可以理解为需要渲染至该展示区域中的对象。例如,该待渲染对象可以理解为游戏场景中的地形、游戏场景中的物品(树木、石头、建筑、NPC等),本说明书对此不做具体限定。
相应地,该第一待渲染对象可以理解为需要渲染至第一展示区域的对象,例如,该第一展示区域中的Mesh地形资源(网格地形)。对应的,该第二待渲染对象可以理解为需要渲染至第二展示区域的对象,例如,该第二展示区域中的地形资源。
基于此,游戏系统在确定出与目标对象对应的第一展示区域以及第二展示区域之后,能够为第一展示区域确定对应的第一待渲染对象,以及为该第二展示区域确定对应的待渲染对象。
需要说明的是,该第一待渲染对象可以为高精度网格地形资源,第二待渲染对象可以为低精度网格地形资源。在实际应用中,项目成员完成原始地形美术资源后,通过工具链离线生成远距离时渲染的低精度的地形Mesh四叉树以及对应的资源文件(即网格地形资源),同时,生成近距离时渲染的GPU-Terrain所需要的高精度地形资源文件。其中,该工具链可以理解为能够快速生成低精度网格地形的工具。在实际应用中,该工具链为多个实现不同功能的工具组成,通过多个实现不同功能的工具按照预设流程,能够将原始地形美术资源生成低精度的网格地形资源。该地形Mesh四叉树可以理解为存储低精度网格地形资源的四叉树存储结构。
沿用上例,游戏系统在根据摄像机的当前坐标,从游戏世界中确定出距离摄像机较近的区域、以及距离摄像机较远的区域之后,能够确定出距离摄像机较近的区域所对应的网格地形资源。以及距离摄像机较远的区域所对应的网格地形资源。
本说明书提供的实施例中,针对于现有技术的缺陷,本说明书提供的对象渲染方法中,提出一种基于流式加载、四叉树场景管理的HLOD(High level ofdetail)和GPU-Driven的地形渲染解决方案。
其中,该基于GPU-Driven的地形渲染可以理解为本说明书提供的对象渲染方法,通过GPU-Driven将地形资源的渲染工作转移到GPU中执行,从而降低CPU的计算资源,提高游戏性能。而在基于GPU-Driven实现的地形渲染的过程中,需要基于Compute Shader对地形资源的加载和数据裁剪整合计算,实时计算当前地形块的Mesh和控制图等,从而实现高性能的地形渲染。
此外,该流式加载可以理解为是游戏系统基于目标对象当前所在的位置,在不影响用户(游戏玩家)操作的情况下,按照距离和屏幕空间占比优先级,通过后台异步加载和分帧数据处理(如DOTS、Compute Shader等)的方式,实现地形场景无缝衔接。例如,游戏玩家所操作的游戏角色在不断向前移动的过程中,游戏系统为了不影响玩家操作,通过流式加载技术不断地加载角色移动过程中前方的新地形场景,并将角色已经通过的、且不需要继续加载的后方地形资源删除,从而通过使用流式加载技术让地形资源流畅地进行无缝切换。
其中,该四叉树场景管理的HLOD可以理解为,游戏系统在通过工具链离线生成远距离时渲染的低精度的Mesh地形资源(即HLOD资源)之后,能够将该HLOD资源存储在四叉树中,后续在进行地形资源渲染的过程中,能够基于该四叉树快速的查询到待渲染区域(即第一展示区域、第二展示区域等)需要渲染的地形资源。
基于上述内容,基于GPU-Driven的地形渲染的方式具体如下。
所述为所述第一展示区域确定第一待渲染对象,包括:
确定所述第一展示区域的第一区域信息,并基于所述第一区域信息为所述第一展示区域确定对应的第一待处理对象;
通过对象处理模块对所述第一待处理对象进行处理,获得第一待渲染对象。
其中,该区域信息包括但不限于该展示区域的位置信息(如区域坐标等)、区域标识(如区域编号、区域ID等)等信息。对应的,在区域信息为区域的位置信息的情况下,该第一区域信息可以理解为该第一展示区域对应的位置信息。
在实际应用中,为了避免由于游戏地形的渲染数量较多,导致GPU的压力较大的问题,游戏系统会将一个游戏世界的地形划分为网格地形。从而在游戏玩家游戏过程中,只需要渲染游戏世界的部分地形即可,降低了地形渲染的压力。基于此,该第一展示区域的区域信息可以理解为该第一展示区域在游戏世界中的坐标位置。后续能够基于该坐标位置确定该第一展示区域对应的网格地形资源。
在基于GPU-Driven进行地形渲染的场景下,该第一待处理对象可以理解为需要通过计算着色器进行并向计算、裁剪计算的高精度地形资源。在实际应用中,该地形资源的进行渲染的过程中,需要计算获得该地形资源对应的顶点数据(包括但不限于位置信息,UV信息,法线信息等)、纹理资源(包括但不限于地形层,控制图,孔洞图等)。而在基于GPU-Driven进行地形渲染的场景下,该计算操作通过计算着色器(Compute Shader)实现。
其中,该对象处理模块可以理解为能够实现对第一待处理对象进行并行计算、裁剪计算、地形资源的加载和数据裁剪整合计算等计算操作的模块,例如,计算着色器(Compute Shader)。对应的,该第一待渲染对象可以理解为能够进行渲染的地形资源。
具体地,游戏系统在确定出第一展示区域之后,能够确定第一展示区域的第一区域信息,并基于第一区域信息从预先生成的待处理对象中,确实出该第一展示区域对应的第一待处理对象。其中,上述从预先生成的待处理对象中确实出第一待处理对象,可以理解为,项目美术人员会预先为游戏世界创建对应的高精度地形资源,也即是生成近距离时渲染的GPU-Terrain(通过GPU渲染的地形资源)所需要的资源文件(高精度地形资源)。因此,在游戏系统确定该第一展示区域的第一区域信息之后,能够基于该第一区域信息从整个游戏世界对应的高精度地形资源中,查询获得该第一展示区域对应的高精度地形资源。
之后,该游戏系统通过对象处理模块对所述第一待处理对象进行处理,获得第一待渲染对象,从而便于能够为不同的区域确定不同精度的待渲染资源,降低渲染地形所消耗的计算资源。
进一步地,所述通过对象处理模块对所述第一待处理对象进行处理,获得第一待渲染对象,包括:
通过对象处理模块以并行计算的方式,计算出所述第一待处理对象对应的顶点数据;
通过对象处理模块对所述第一待处理对象进行计算裁剪,获得所述第一待处理对象对应的待渲染资源;
基于所述顶点数据以及待渲染资源确定第一待渲染对象。
其中,该待渲染资源可以理解为上述纹理资源。
沿用上例,游戏系统通过GPU-Driven的方式,基于Compute Shader对该高精度地形资源进行并行计算的方式,确定每个高精度地形资源的顶点数据(包括但不限于位置信息,UV信息,法线信息等)。并且基于该Compute Shader分帧处理的方式,对高精度地形资源进行计算裁剪,从而获得实际渲染所需要的地形层,控制图,孔洞图等纹理资源。将该顶点资源以及该纹理资源作为需要渲染的高精度地形资源。
本说明书提供的一实施例中,所述为所述第二展示区域确定第二待渲染对象,包括:
确定所述第二展示区域的第二区域信息,基于所述第二区域信息从对象存储模块中确定所述第二展示区域对应的第二待处理对象;
确定所述第二待处理对象在所述第二展示区域中的对象空间占比;
基于所述对象空间占比对所述第二待处理对象的精度进行调整,获得第二待渲染对象。
其中,该第二待处理模块可以理解为第二展示区域中包含的HLOD地形资源。该对象存储模块可以理解为存储有第二待处理的模块;例如,该对象存储模块可以理解为存储HLOD地形资源的四叉树存储结构。在实际应用中,整个游戏世界对应的网格地形资源均以节点的形式存储在四叉树中。
对象空间占比可以理解为该每个节点(每个网格地形)根据其资源包围盒的屏幕空间占比。
具体地,该游戏系统在确定该第二展示区域之后,能够确定第二展示区域对应的第二区域信息,并基于该第二区域信息从对象存储模块中查找与第二展示区域对应的第二待处理对象;之后该游戏系统计算出第二待处理对象在第二展示区域中的对象空间占比;并基于对象空间占比对第二待处理对象的精度进行调整,获得第二待渲染对象。其中,该基于对象空间占比对第二待处理对象的精度进行调整,可以理解为基于对象空间占比对决定卸载对应的第二待渲染对象、加载低精度的第二待渲染对象,或者加载高精度的第二待渲染对象等。
沿用上例,游戏系统在确定距离摄像机较远的区域后,能够确定该区域的坐标信息,并基于该坐标信息从四叉树中查询对应的HLOD地形资源。在系统根据摄像机视野距离加载远处的低精度的地形四叉树节点之后,根据每个节点其资源包围盒的屏幕空间占比来决定卸载资源、加载低模资源或者是加载高模资源。
步骤S206:将所述第一待渲染对象以及所述第二待渲染对象,渲染至所述第一展示区域以及所述第二展示区域。
具体地,该游戏系统在确定出该第一待渲染对象以及第二待渲染对象之后,能够将第一待渲染对象以及第二待渲染对象,渲染至对应的第一展示区域以及第二展示区域中,从而使得游戏玩家在游戏过程中能够感受到不同的游戏场景,提高游戏玩家的游戏体验。
进一步地,由于现有的技术是通过CPU,基于离线生成的地形资源并配合九宫格加载方式对地形资源进行渲染,但是CPU处理图像渲染的效率较差,并且渲染地形资源所需要的计算资源较多,因此,对游戏性能造成非常负面的影响。基于此,本说明书提供的对象渲染方法,可以通过图像处理模块将第一待渲染对象以及第二待渲染对象,渲染至第一展示区域以及第二展示区域,从而避免了CPU处理图像渲染的效率较差,导致游戏性能较差的问题。其中,该图像处理模块可以理解为能够对图像进行处理硬件设备,例如GPU。
本说明书提供的对象渲染方法,通过为第一展示区域确定精度较高的第一待渲染对象,以及为第二展示区域确定精度小于第一待渲染对象的第二待渲染对象,从而实现根据不同的区域渲染不同精度的对象,从而降低了在对待渲染对象进行渲染的过程中所使用的计算资源,避免了由于计算资源被大量占用所导致游戏性能较差的问题,提高了游戏性能。
进一步地,本说明书提供的对象渲染方法,为了让地形流畅地进行无缝切换,且自动处理不同精度的地形接缝,因此,会在GPU-Terrain的地形资源与Mesh地形(网格地形)的接缝处做了模糊融合等优化,从而提高游戏场景的视觉体验。具体实现方式如下。
所述将所述第一待渲染对象以及所述第二待渲染对象,渲染至所述第一展示区域以及所述第二展示区域,包括:
基于所述第一展示区域的位置信息以及所述第二展示区域的位置信息,从所述第一展示区域中确定出与所述第二展示区域相邻的第三展示区域;
从所述第二展示区域对应的第二待渲染对象中,确定所述第三展示区域对应的第三待渲染对象;
对所述第三待渲染对象进行模糊融合处理,获得处理后的第三待渲染对象;
所述第一待渲染对象、所述第二待渲染对象以及所述第三待渲染对象,渲染至所述第一展示区域、所述第二展示区域以及所述第三展示区域。
其中,该第三展示区域可以理解为第一展示区域中与该第二展示区域相邻的区域。例如,参见图3,图3是本申请一实施例提供的一种对象渲染方法中展示区域的示意图;其中,该第一展示区域为距离目标对象(摄像机)100米以内的区域,该第二展示区域为距离摄像机100米以外的区域,那么第三展示区域可以为第一展示区域中与第二展示区域相邻的区域。在实际应用中,为了让地形流畅地进行无缝切换,且自动处理不同精度的地形接缝,本说明书提供的对象渲染方法,能够在GPU-Terrain渲染的地形与Mesh地形的接缝处(即第三展示区域)做了模糊融合等优化,从而使得该接缝处的地形资源实现从高精度过渡到低精度。避免了第一展示区域的地形资源与第二展示区域的地形资源由于精度不同,导致游戏场景过渡不流畅的问题。
具体地,游戏系统在确定第一待渲染对象以及第二待渲染对象之后,能够根据第一展示区域的位置信息以及第二展示区域的位置信息,从第一展示区域中确定出与第二展示区域相邻的第三展示区域;之后,从第二展示区域对应的第二待渲染对象中选择第三展示区域对应的第三待渲染对象;并对该第三待渲染对象进行模糊融合处理,获得处理后的第三待渲染对象。通过将第一待渲染对象、第二待渲染对象以及第三待渲染对象,渲染至对应的第一展示区域、第二展示区域以及第三展示区域,避免了游戏场景过渡不流畅的问题。
在本说明书提供的一实施例中,能够将目标区域作为目标对象对应的第二展示区域,基于此,在将对象渲染至对应的区域时,由于第一展示区域为第二展示区域的一部分,因此在第二待渲染对象也包括了第二展示区域对应的待渲染对象,因此,在第一展示区域确定对应的第一展示对象之后,能够通过第一展示对象替换掉该第二待渲染对象中与第二展示区域对应的待渲染对象。具体实现方式如下。
所述将所述第一待渲染对象以及所述第二待渲染对象,渲染至所述第一展示区域以及所述第二展示区域之前,还包括:
基于所述第一展示区域的位置信息,从所述第二展示区域对应的所述第二待渲染对象中,为所述第一展示区域确定对应的待替换对象;
将所述第一展示区域确定第一待渲染对象替换所述待替换对象。
沿用上例,在实际应用中,离线生成的Mesh地形是较为模糊的、低精度的,只适合距离摄像机较远处的地形使用。而距离最近的就用高质量高精度的GpuTerrain,因此,在为摄像机视野范围区域确定对应的低精度地形资源的同时,能够为该视野范围区域中距离摄像机较近的区域,确定对应的高精度地形资源,并通过该高精度地形资源,替换掉该距离摄像机较近的区域对应的低精度地形资源,并在后续对该低精度地形资源以及高精度地形资源进行渲染,从而在性能和用户视觉体验上都能取得较好的效果。
此外,在本说明书提供的一实施例中,在将目标区域作为目标对象对应的第二展示区域的情况下,在将待渲染对象渲染至对应的区域时,由于第一展示区域为第二展示区域的一部分,因此,在第二待渲染对象也包括了第二展示区域对应的待渲染对象。基于此,在对待渲染对象进行渲染的过程中,会首先将低精度的第二待渲染对象渲染至第二展示区域(即目标区域)中;之后将第一待渲染对象渲染至第二展示区域所包含的第一展示区域中,从而替换到渲染后的第二展示区域中与该第一展示区域对应的对象。具体实现方式如下。
所述将所述第一待渲染对象以及所述第二待渲染对象,渲染至所述第一展示区域以及所述第二展示区域,包括:
将所述第二待渲染对象渲染至所述第二展示区域;
从渲染后的所述第二展示区域中确定所述第一展示区域,并将所述第一待渲染对象渲染至所述第一展示区域。
沿用上例,游戏系统在为摄像机视野范围区域确定对应的低精度地形资源,以及为该视野范围区域中距离摄像机较近的区域,确定对应的高精度地形资源之后,能够将该低精度地形资源渲染至该视野范围区域内。之后,游戏系统从该渲染后的视野范围区域中确定距离摄像机较近的区域,并将该高精度地形资源渲染至该距离摄像机较近的区域,替换掉距离摄像机较近的区域内的低精度地形资源。从而在性能和用户视觉体验上都能取得较好的效果。
本说明书提供的对象渲染方法,通过为第一展示区域确定第一待渲染对象,以及为第二展示区域确定第二待渲染对象,并通过图像处理模块将第一待渲染对象以及第二待渲染对象,渲染至第一展示区域以及第二展示区域,从而避免了CPU处理图像渲染的效率较差,导致游戏性能较差的问题。
在本说明书提供的实施例中,该本说明书提供的对象渲染方法,同时支持多块GPU-Terrain的渲染。其中,该同时支持多块GPU-Terrain的渲染可以理解为通过多个GPU-Terrain组件,对目标对象近距离的地形资源进行渲染。也即是说,本说明书提供的对象渲染方法能够通过并行的方式对第一待渲染对象进行渲染。例如,游戏世界的热带地区可能是一些沙滩地形,游戏世界的北极地区可能是一些积雪地形,而不同地形使用到的一些图层资源肯定是不一样的,比如,沙滩上有沙(一个图层)、有石头(一个图层),有草地(一个图层)等等,然后在冰天雪地可能是一些冰雪(一个图层)等等。
而一些游戏系统会设置每一块地形最多支持固定数量的图层;其中该固定数量的图层可以根据实际应用场景进行设置,本说明书对此不做具体限定,例如该固定数量的图层可以为8块图层、16块图层等等;但是,如果地形的特性比较多(即所需要的图层角度),固定数量的图层可能不足以去表达地形的那种特性,比如一块区域包含沙滩的特性,然后还有雪地的特性,因此,一块地形的图层可能会超过8层,到达16层或者32层等等。
而一个GPU terrain渲染能力有限,无法达到对具有多个图层的地形进行渲染,因此,本说明书提供的对象渲染方法,优化了多块GPU terrain;例如冰雪地形通过一块GPUterrain去渲染高精度的地形资源,然后另外的沙滩地形使用另外一块GPU terrain,每一个GPU terrain都支持各自的固定数量的图层(例如8层的图层),通过多块GPU terrain并行的对地形资源进行计算,这样就能够支持很多不同的特性的地形。
基于此,在通过HLOD技术加载地形Mesh资源的过程中,GPUTerrain同时计算所需资源,在GPUTerrain计算好了之后会等待HLOD加载完毕,HLOD加载完毕之后,会把距离摄像机最近的4块Mesh地形禁用同时渲染GpuTerrain,也即是,该低精度的地形四叉树中距离相机最近的四块叶子结点Mesh地形将会被替换成GPU-Terrain所渲染的地形资源。从而实现高性能的地形渲染,充分发挥了GPU-Driven的优势。
下述结合附图4以本申请提供的对象渲染方法在地形渲染场景下的应用为例,对所述对象渲染方法进行进一步说明。其中,图4示出了本申请一实施例提供的一种应用于地形渲染场景下的对象渲染方法的处理流程图,具体包括以下步骤:
步骤S402:游戏系统确定该摄像机对应的视野范围,以及该摄像机在游戏世界的当前坐标信息。
步骤S404:游戏系统基于该视野范围以及当前坐标信息,在游戏世界中确定待渲染区域。
步骤S406:游戏系统从待渲染区域中确定高精度区域以及低精度区域。
具体地,游戏系统在确定摄像机的当前坐标信息之后,能够将待渲染区域中,距离该摄像机较远的区域确定为低精度区域,比如,将待渲染区域中与摄像机之间的距离大于100米的区域,确定为低精度区域。或者,将摄像机视野范围内的所有区域均确定为低精度区域。
同时,将待渲染区域中,距离该摄像机较近的区域确定为高精度区域,比如,将待渲染区域中与摄像机之间的距离小于等于100米的区域,确定为高精度区域。
步骤S408:游戏系统基于低精度区域的区域位置信息,从地形四叉树存储结构中,加载与该区域位置信息对应的地形资源。
其中,该地形资源为地形四叉树存储结构中的多个节点,每个节点可以由一个地形网格构成;且每个地形网格具有对应的高度图、图层等地形参数。
步骤S410:游戏系统根据摄像机的当前坐标信息,计算确定每个地形资源的资源包围盒,在游戏屏幕中的屏幕空间占比。
具体地,该游戏系统首先确定摄像机的当前坐标信息以及该每个地形资源所在的位置;然后基于两者的位置信息,计算出每个地形资源的资源包围盒,在游戏屏幕中的屏幕空间占比。
其中,该屏幕空间占比可以理解为地形资源的资源包围盒在游戏屏幕中的所占比率。也即是,该地址资源在游戏屏幕中的大小。
步骤S412:游戏系统根据该屏幕空间占比对每个地形资源进行调整,获得待渲染LOD资源。
在实际应用中,由于LOD技术能够为一个游戏资源(例如,一块网格地形、一个建筑)确定不同层级的资源,并且根据游戏资源(例如地形资源、角色资源等)的游戏屏幕中的屏幕空间占比,确定对应的渲染资源。比如,一块网格地形的屏幕空间占比为100%,也即是,完全占据整个游戏屏幕。那么则从该网格地形对应的不同层级的资源中,确定清晰度最高的网格地形进行渲染。再如,一块网格地形的屏幕空间占比为10%,也即是,占据游戏屏幕中较小的位置。那么则从该网格地形对应的不同层级的资源中,确定清晰度较低的网格地形进行渲染。
因此,该游戏系统在确定地形资源对应的屏幕空间占比之后,能够根据该屏幕空间占比从不同层级的资源中,为每个地形资源确定对应层级的待渲染地形资源;或者删除对应的地形资源等等。
具体地,游戏系统根据该屏幕空间占比,确定卸载地形资源、加载低模资源(低精度地形资源)、或者高模资源(高精度地形资源)。
其中,该屏幕空间占比是用户自定义参数。在实际应用中,游戏系统在确定每个地形资源的屏幕空间占比之后,如果该屏幕空间占比低于用户设置的高模占比阈值(如20%)的情况下,则确定该地形资源在屏幕中的占比较小,则加载该地形资源对应的低模LOD地形资源。
如果该屏幕空间占比高于等于用户设置的高模占比阈值(如80%)的情况下,则确定该地形资源在屏幕中的占比较大,则加载该地形资源对应的高模LOD地形资源。
若该地形资源对应的屏幕空间占为零,也即是,该地形资源被其他模型遮挡住,那就卸载该地形资源。
步骤S414:游戏系统基于高精度区域的区域位置信息,确定该高精度区域对应的高精度地形资源。
具体地,游戏系统根据相机的当前位置,加载近处的GPU-Terrain所需要的高精度地形资源。
步骤S416:游戏资源基于Compute Shader对该高精度地形资源进行并行计算的方式,确定每个高精度地形资源的顶点数据。
其中,该顶点数据包括但不限于位置信息,UV信息,法线信息等。
步骤S418:游戏系统基于该Compute Shader分帧处理的方式,对高精度地形资源进行计算裁剪,从而获得实际渲染所需要的地形层,控制图,孔洞图等纹理资源。
步骤S420:游戏系统通过GPU-Driven的方式,基于GPU将待渲染LOD资源、以及高精度地形资源对应的顶点数据、地形层,控制图,孔洞图等资源,渲染至游戏屏幕。
具体地,在HLOD加载地形Mesh资源,Gpu Terrain同时计算所需资源,且GpuTerrain计算完毕,HLOD加载完毕之后,游戏系统会将HLOD加载的Mesh地形中,距离摄像机最近的4块Mesh(即四块叶子结点Mesh)地形禁用,并且HLOD(低精度的地形四叉树)中距离相机最近的四块叶子结点Mesh地形将会被替换成GPU-Terrain计算后的高精度地形资源,并且,同时渲染GpuTerrain以及HLOD加载的Mesh地形中,除距离摄像机最近的4块Mesh地形之外的其他Mesh。
同时,该游戏系统从高精度地形资源中,确定与低精度地形资源的接缝区域,并通过GPU-Driven的方式,将该接缝区域进行模糊融合等优化,使得高精度地形资源与低精度地形资源之间流程连接。
在实际应用中,因为离线生成的Mesh地形是较为模糊的、低精度的,只适合距离摄像机较远处的地形使用。而距离最近的就用高质量高精度的GpuTerrain,从而在性能和用户视觉体验上都能取得较好的效果,因此。本说明书提供的对象渲染方法,低精度的地形四叉树中距离相机最近的四块叶子结点Mesh地形,将会被替换成高精度的GPU-Terrain,从而实现高性能的地形渲染,同时使用流式加载技术让地形流畅地进行无缝切换,且自动处理不同精度的地形接缝,充分发挥了GPU-Driven的优势。
与上述方法实施例相对应,本申请还提供了对象渲染装置实施例,图5示出了本申请一实施例提供的一种对象渲染装置的结构示意图。如图5所示,该装置包括:
区域确定模块502,被配置为基于目标对象在目标地图中的当前位置信息,确定所述目标对象在所述目标地图中对应的第一展示区域和第二展示区域;
对象确定模块504,被配置为所述第一展示区域确定第一待渲染对象,以及为所述第二展示区域确定第二待渲染对象,其中,所述第一待渲染对象的对象精度大于所述第二待渲染对象;
渲染模块506,被配置为通过图像处理模块将所述第一待渲染对象以及所述第二待渲染对象,渲染至所述第一展示区域以及所述第二展示区域。
可选地,所述区域确定模块502,还被配置为:
确定目标对象在目标地图中的当前位置信息,以及所述目标对象在所述目标地图中的预设视角范围;
基于所述当前位置信息以及所述预设视角范围,从所述目标地图中确定所述目标对象对应的目标区域;
基于所述目标对象的当前位置信息,从所述目标区域中确定所述目标对象对应的第一展示区域和第二展示区域。
可选地,所述区域确定模块502,还被配置为:
确定所述目标对象对应的预设区域距离信息;
将所述目标区域中,处于所述目标对象的当前位置信息与所述预设区域距离信息之间的区域,确定为第一展示区域;
将所述目标区域中,超出所述目标对象的当前位置信息与所述预设区域距离信息之外的区域,确定为第二展示区域。
可选地,所述对象确定模块504,还被配置为:
确定所述第一展示区域的第一区域信息,并基于所述第一区域信息为所述第一展示区域确定对应的第一待处理对象;
通过对象处理模块对所述第一待处理对象进行处理,获得第一待渲染对象。
可选地,所述对象确定模块504,还被配置为:
通过对象处理模块以并行计算的方式,计算出所述第一待处理对象对应的顶点数据;
通过对象处理模块对所述第一待处理对象进行计算裁剪,获得所述第一待处理对象对应的待渲染资源;
基于所述顶点数据以及待渲染资源确定第一待渲染对象。
可选地,所述对象确定模块504,还被配置为:
确定所述第二展示区域的第二区域信息,基于所述第二区域信息从对象存储模块中确定所述第二展示区域对应的第二待处理对象;
确定所述第二待处理对象在所述第二展示区域中的对象空间占比;
基于所述对象空间占比对所述第二待处理对象的精度进行调整,获得第二待渲染对象。
可选地,所述渲染模块506,还被配置为:
基于所述第一展示区域的位置信息以及所述第二展示区域的位置信息,从所述第一展示区域中确定出与所述第二展示区域相邻的第三展示区域;
从所述第二展示区域对应的第二待渲染对象中,确定所述第三展示区域对应的第三待渲染对象;
对所述第三待渲染对象进行模糊融合处理,获得处理后的第三待渲染对象;将所述第一待渲染对象、所述第二待渲染对象以及所述第三待渲染对象,渲染至所述第一展示区域、所述第二展示区域以及所述第三展示区域。
可选地,所述区域确定模块502,还被配置为:
确定所述目标对象对应的预设区域距离信息;
将所述目标区域中,处于所述目标对象的当前位置信息与所述预设区域距离信息之间的区域,确定为第一展示区域;
将所述目标区域作为所述目标对象对应的第二展示区域。
可选地,所述对象渲染装置还包括对象替换模块,被配置为:
基于所述第一展示区域的位置信息,从所述第二展示区域对应的所述第二待渲染对象中,为所述第一展示区域确定对应的待替换对象;
通过所述第一展示区域对应的第一待渲染对象替换所述待替换对象。
可选地,所述渲染模块506,还被配置为:
将所述第二待渲染对象渲染至所述第二展示区域;
从渲染后的所述第二展示区域中确定所述第一展示区域,并将所述第一待渲染对象渲染至所述第一展示区域。
本说明书提供的对象渲染装置,通过为第一展示区域确定精度较高的第一待渲染对象,以及为第二展示区域确定精度小于第一待渲染对象的第二待渲染对象,从而实现根据不同的区域渲染不同精度的对象,从而降低了在对待渲染对象进行渲染的过程中所使用的计算资源,避免了由于计算资源被大量占用所导致游戏性能较差的问题,提高了游戏性能。
上述为本实施例的一种对象渲染装置的示意性方案。需要说明的是,该对象渲染装置的技术方案与上述的对象渲染方法的技术方案属于同一构思,对象渲染装置的技术方案未详细描述的细节内容,均可以参见上述对象渲染方法的技术方案的描述。此外,装置实施例中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。
图6示出了根据本说明书一个实施例提供的一种计算设备600的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620与存储器610通过总线630相连接,数据库650用于保存数据。
计算设备600还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备600的上述部件以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
其中,处理器620用于执行所述对象渲染方法的计算机可执行指令。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的对象渲染方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述对象渲染方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于对象渲染方法。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的对象渲染方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述对象渲染方法的技术方案的描述。
本申请一实施例还提供一种芯片,其存储有计算机程序,该计算机程序被芯片执行时实现所述对象渲染方法的步骤。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (13)
1.一种对象渲染方法,其特征在于,包括:
基于目标对象在目标地图中的当前位置信息,确定所述目标对象在所述目标地图中对应的第一展示区域和第二展示区域;
为所述第一展示区域确定第一待渲染对象,以及为所述第二展示区域确定第二待渲染对象,其中,所述第一待渲染对象的对象精度大于所述第二待渲染对象;
将所述第一待渲染对象以及所述第二待渲染对象,渲染至所述第一展示区域以及所述第二展示区域。
2.根据权利要求1所述的对象渲染方法,其特征在于,所述基于目标对象在目标地图中的当前位置信息,确定所述目标对象在所述目标地图中对应的第一展示区域和第二展示区域,包括:
确定目标对象在目标地图中的当前位置信息,以及所述目标对象在所述目标地图中的预设视角范围;
基于所述当前位置信息以及所述预设视角范围,从所述目标地图中确定所述目标对象对应的目标区域;
基于所述目标对象的当前位置信息,从所述目标区域中确定所述目标对象对应的第一展示区域和第二展示区域。
3.根据权利要求2所述的对象渲染方法,其特征在于,所述从所述目标区域中确定所述目标对象对应的第一展示区域和第二展示区域,包括:
确定所述目标对象对应的预设区域距离信息;
将所述目标区域中,处于所述目标对象的当前位置信息与所述预设区域距离信息之间的区域,确定为第一展示区域;
将所述目标区域中,超出所述目标对象的当前位置信息与所述预设区域距离信息之外的区域,确定为第二展示区域。
4.根据权利要求1所述的对象渲染方法,其特征在于,所述为所述第一展示区域确定第一待渲染对象,包括:
确定所述第一展示区域的第一区域信息,并基于所述第一区域信息为所述第一展示区域确定对应的第一待处理对象;
通过对象处理模块对所述第一待处理对象进行处理,获得第一待渲染对象。
5.根据权利要求4所述的对象渲染方法,其特征在于,所述通过对象处理模块对所述第一待处理对象进行处理,获得第一待渲染对象,包括:
通过对象处理模块以并行计算的方式,计算出所述第一待处理对象对应的顶点数据;
通过对象处理模块对所述第一待处理对象进行计算裁剪,获得所述第一待处理对象对应的待渲染资源;
基于所述顶点数据以及待渲染资源确定第一待渲染对象。
6.根据权利要求1所述的对象渲染方法,其特征在于,所述为所述第二展示区域确定第二待渲染对象,包括:
确定所述第二展示区域的第二区域信息,基于所述第二区域信息从对象存储模块中确定所述第二展示区域对应的第二待处理对象;
确定所述第二待处理对象在所述第二展示区域中的对象空间占比;
基于所述对象空间占比对所述第二待处理对象的精度进行调整,获得第二待渲染对象。
7.根据权利要求1所述的对象渲染方法,其特征在于,所述将所述第一待渲染对象以及所述第二待渲染对象,渲染至所述第一展示区域以及所述第二展示区域,包括:
基于所述第一展示区域的位置信息以及所述第二展示区域的位置信息,从所述第一展示区域中确定出与所述第二展示区域相邻的第三展示区域;
从所述第二展示区域对应的第二待渲染对象中,确定所述第三展示区域对应的第三待渲染对象;
对所述第三待渲染对象进行模糊融合处理,获得处理后的第三待渲染对象;将所述第一待渲染对象、所述第二待渲染对象以及所述第三待渲染对象,渲染至所述第一展示区域、所述第二展示区域以及所述第三展示区域。
8.根据权利要求2所述的对象渲染方法,其特征在于,所述从所述目标区域中确定所述目标对象对应的第一展示区域和第二展示区域,包括:
确定所述目标对象对应的预设区域距离信息;
将所述目标区域中,处于所述目标对象的当前位置信息与所述预设区域距离信息之间的区域,确定为第一展示区域;
将所述目标区域作为所述目标对象对应的第二展示区域。
9.根据权利要求8所述的对象渲染方法,其特征在于,所述将所述第一待渲染对象以及所述第二待渲染对象,渲染至所述第一展示区域以及所述第二展示区域之前,还包括:
基于所述第一展示区域的位置信息,从所述第二展示区域对应的所述第二待渲染对象中,为所述第一展示区域确定对应的待替换对象;
通过所述第一展示区域对应的第一待渲染对象替换所述待替换对象。
10.根据权利要求8所述的对象渲染方法,其特征在于,所述将所述第一待渲染对象以及所述第二待渲染对象,渲染至所述第一展示区域以及所述第二展示区域,包括:
将所述第二待渲染对象渲染至所述第二展示区域;
从渲染后的所述第二展示区域中确定所述第一展示区域,并将所述第一待渲染对象渲染至所述第一展示区域。
11.一种对象渲染装置,其特征在于,包括:
区域确定模块,被配置为基于目标对象在目标地图中的当前位置信息,确定所述目标对象在所述目标地图中对应的第一展示区域和第二展示区域;
对象确定模块,被配置为所述第一展示区域确定第一待渲染对象,以及为所述第二展示区域确定第二待渲染对象,其中,所述第一待渲染对象的对象精度大于所述第二待渲染对象;
渲染模块,被配置为通过图像处理模块将所述第一待渲染对象以及所述第二待渲染对象,渲染至所述第一展示区域以及所述第二展示区域。
12.一种计算设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令实现权利要求1至10任意一项所述对象渲染方法的步骤。
13.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1至10任意一项所述对象渲染方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210384841.1A CN114984576A (zh) | 2022-04-13 | 2022-04-13 | 对象渲染方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210384841.1A CN114984576A (zh) | 2022-04-13 | 2022-04-13 | 对象渲染方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114984576A true CN114984576A (zh) | 2022-09-02 |
Family
ID=83023568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210384841.1A Pending CN114984576A (zh) | 2022-04-13 | 2022-04-13 | 对象渲染方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114984576A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116030040A (zh) * | 2023-02-23 | 2023-04-28 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及介质 |
-
2022
- 2022-04-13 CN CN202210384841.1A patent/CN114984576A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116030040A (zh) * | 2023-02-23 | 2023-04-28 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423445B (zh) | 一种地图数据处理方法、装置及存储介质 | |
US8570322B2 (en) | Method, system, and computer program product for efficient ray tracing of micropolygon geometry | |
WO2010043969A1 (en) | System and method for hybrid solid and surface modeling for computer-aided design environments | |
CN105261066A (zh) | 一种三维地理信息系统实时绘制多线程分配与控制方法 | |
CN109118588B (zh) | 一种基于块分解的彩色lod模型自动生成方法 | |
JP5320334B2 (ja) | 画像処理装置及びプログラム | |
KR20080018404A (ko) | 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체 | |
CN116127115B (zh) | 面向时序更新的倾斜摄影三维模型瓦片集可视化方法 | |
CN110070616A (zh) | 存储器、基于gis平台的统计数据呈现方法、装置和设备 | |
KR100959349B1 (ko) | 그래픽스 처리 유닛을 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법 | |
CN114984576A (zh) | 对象渲染方法及装置 | |
CN111784817A (zh) | 阴影的展示方法和装置、存储介质、电子装置 | |
Chen et al. | An improved texture-related vertex clustering algorithm for model simplification | |
Zhang et al. | A geometry and texture coupled flexible generalization of urban building models | |
CN108010126A (zh) | 基于体素构建大规模复杂地形的方法及系统 | |
Dong et al. | A time-critical adaptive approach for visualizing natural scenes on different devices | |
CN115601486A (zh) | 虚拟河流生成方法及装置 | |
Li et al. | A fast fusion method for multi-videos with three-dimensional GIS scenes | |
CN111275806A (zh) | 一种基于点的并行化实时渲染系统及方法 | |
CN117953181B (zh) | 一种面向web3d的顶点分层与增量式lod方法及系统 | |
Li | Real-world large-scale terrain model reconstruction and real-time rendering | |
CN109754360A (zh) | 一种海量三维地理信息调度方法 | |
CN111729303B (zh) | 一种大地图烘焙切割方法及恢复方法 | |
CN115330974B (zh) | 一种三维字体实时建模渲染方法、系统、设备和介质 | |
CN111738903B (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 |