CN112233217A - 一种虚拟场景的渲染方法和装置 - Google Patents

一种虚拟场景的渲染方法和装置 Download PDF

Info

Publication number
CN112233217A
CN112233217A CN202011501111.2A CN202011501111A CN112233217A CN 112233217 A CN112233217 A CN 112233217A CN 202011501111 A CN202011501111 A CN 202011501111A CN 112233217 A CN112233217 A CN 112233217A
Authority
CN
China
Prior art keywords
rendering
target
virtual scene
sub
stage
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.)
Granted
Application number
CN202011501111.2A
Other languages
English (en)
Other versions
CN112233217B (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.)
Perfect World Beijing Software Technology Development Co Ltd
Original Assignee
Perfect World Beijing Software Technology Development 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 Perfect World Beijing Software Technology Development Co Ltd filed Critical Perfect World Beijing Software Technology Development Co Ltd
Priority to CN202011501111.2A priority Critical patent/CN112233217B/zh
Publication of CN112233217A publication Critical patent/CN112233217A/zh
Application granted granted Critical
Publication of CN112233217B publication Critical patent/CN112233217B/zh
Priority to PCT/CN2021/121484 priority patent/WO2022127278A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Abstract

本申请涉及一种虚拟场景的渲染方法和装置,其中,该方法包括:在渲染虚拟场景时,获取虚拟场景对应的渲染框架图,其中,渲染框架图中记录了虚拟场景对应的渲染流程信息和渲染资源信息,渲染流程信息用于指示渲染虚拟场景所划分的渲染阶段和每个渲染阶段所划分的渲染子阶段,渲染资源信息用于指示允许每个渲染子阶段使用图形处理器的片上分片缓存所对应的渲染资源的资源状态;按照渲染框架图创建虚拟场景对应的目标渲染流程,其中,目标渲染流程中所使用的目标渲染资源满足渲染资源信息所指示的资源状态;按照目标渲染流程渲染虚拟场景。本申请解决了虚拟场景的渲染效率较低的技术问题。

Description

一种虚拟场景的渲染方法和装置
技术领域
本申请涉及计算机领域,尤其涉及一种虚拟场景的渲染方法和装置。
背景技术
目前渲染虚拟场景的过程通常是先抽象出引擎的渲染器接口,然后根据不同类型的渲染接口实现渲染器。这种实现是把特殊转换至通用化,使用一套通用的代码去实现通用的渲染流程,由于这种实现方式需要兼容渲染接口比较低的版本,而支持比较低版本的渲染接口会造成系统运行的累赘,无法针对硬件的特点发挥系统硬件的最大性能,导致虚拟场景的渲染效率较低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种虚拟场景的渲染方法和装置,以至少解决相关技术中虚拟场景的渲染效率较低的技术问题。
根据本申请实施例的一个方面,提供了一种虚拟场景的渲染方法,包括:
在渲染虚拟场景时,获取所述虚拟场景对应的渲染框架图,其中,所述渲染框架图中记录了所述虚拟场景对应的渲染流程信息和渲染资源信息,所述渲染流程信息用于指示渲染所述虚拟场景所划分的渲染阶段和每个所述渲染阶段所划分的渲染子阶段,所述渲染资源信息用于指示允许每个渲染子阶段使用图形处理器的片上分片缓存所对应的渲染资源的资源状态;
按照所述渲染框架图创建所述虚拟场景对应的目标渲染流程,其中,所述目标渲染流程中所使用的目标渲染资源满足所述渲染资源信息所指示的资源状态;
按照所述目标渲染流程渲染所述虚拟场景。
可选地,按照所述渲染框架图创建所述虚拟场景对应的目标渲染流程包括:
按照所述渲染资源信息为每个渲染子阶段创建满足所述资源状态的所述目标渲染资源;
按照所述渲染流程信息创建所述目标渲染资源之间的所述目标渲染流程。
可选地,按照所述渲染资源信息为每个渲染子阶段创建满足所述资源状态的所述目标渲染资源包括:
构建满足所述渲染资源信息所指示的渲染目标尺寸和渲染目标格式的第一渲染目标;
将所述第一渲染目标的加载状态和存储状态配置为所述渲染资源信息所指示的目标加载状态和目标存储状态,得到第二渲染目标;
将所述第二渲染目标的图形处理器存储状态标记为所述渲染资源信息所指示的分片缓存状态,得到所述目标渲染资源。
可选地,获取所述虚拟场景对应的渲染框架图包括:
获取所述虚拟场景的场景信息;
从多个场景条件中获取所述场景信息所满足的目标场景条件,其中,所述多个场景条件与多个渲染框架图一一对应;
将所述目标场景条件所对应的渲染框架图确定为所述虚拟场景对应的渲染框架图。
可选地,在获取所述虚拟场景对应的渲染框架图之前,所述方法还包括:
将所述虚拟场景的渲染流程划分为渲染阶段和渲染子阶段,得到所述渲染流程信息;
配置每个渲染子阶段所包括的渲染目标和渲染目标信息,得到所述渲染资源信息,其中,所述渲染目标信息包括渲染目标尺寸,渲染目标格式,加载状态,存储状态和临时使用状态,所述临时使用状态用于指示允许所述每个渲染子阶段使用图形处理器的片上分片缓存;
使用所述渲染流程信息和所述渲染资源信息创建所述渲染框架图。
可选地,配置每个渲染子阶段所包括的渲染目标和渲染目标信息包括:
构建每个渲染子阶段所包括的渲染目标;
将所述渲染目标的渲染目标尺寸和渲染目标格式配置为允许使用所述图形处理器的片上分片缓存的渲染目标尺寸和渲染目标格式;
将所述渲染目标的加载状态和存储状态配置为满足所述虚拟场景要求的加载状态和存储状态;
将所述渲染目标的图形处理器的片上存储状态标记为分片缓存。
可选地,将所述虚拟场景的渲染流程划分为渲染阶段和渲染子阶段包括:
将所述虚拟场景的渲染流程中的几何渲染阶段配置为几何渲染子阶段,将光照渲染阶段配置为光照渲染子阶段;
将所述几何渲染子阶段和所述光照渲染子阶段合并为渲染阶段。
可选地,配置每个渲染子阶段所包括的渲染目标和渲染目标信息包括:
配置所述几何渲染子阶段的渲染目标包括位置渲染目标,法线渲染目标,反射率渲染目标和深度渲染目标,所述光照渲染子阶段的渲染目标包括光照渲染目标;
将所述位置渲染目标,所述法线渲染目标,所述反射率渲染目标,所述深度渲染目标和所述光照渲染目标的渲染目标尺寸标记为预设尺寸,渲染目标格式标记为预设格式;
将所述位置渲染目标,法线渲染目标,反射率渲染目标和深度渲染目标的加载状态标记为清除上一次内容,存储状态标记为不关心之后内容,并将所述光照渲染目标的加载状态标记为不关心之后内容,存储状态标记为存储内容;
将所述位置渲染目标,所述法线渲染目标,所述反射率渲染目标,所述深度渲染目标和所述光照渲染目标的图形处理器的片上存储状态标记为分片缓存。
根据本申请实施例的另一方面,还提供了一种虚拟场景的渲染装置,包括:
获取模块,用于在渲染虚拟场景时,获取所述虚拟场景对应的渲染框架图,其中,所述渲染框架图中记录了所述虚拟场景对应的渲染流程信息和渲染资源信息,所述渲染流程信息用于指示渲染所述虚拟场景所划分的渲染阶段和每个所述渲染阶段所划分的渲染子阶段,所述渲染资源信息用于指示允许每个渲染子阶段使用图形处理器的片上分片缓存所对应的渲染资源的资源状态;
第一创建模块,用于按照所述渲染框架图创建所述虚拟场景对应的目标渲染流程,其中,所述目标渲染流程中所使用的目标渲染资源满足所述渲染资源信息所指示的资源状态;
渲染模块,用于按照所述目标渲染流程渲染所述虚拟场景。
可选地,所述第一创建模块包括:
第一创建单元,用于按照所述渲染资源信息为每个渲染子阶段创建满足所述资源状态的所述目标渲染资源;
第二创建单元,用于按照所述渲染流程信息创建所述目标渲染资源之间的所述目标渲染流程。
可选地,所述第一创建单元用于:
构建满足所述渲染资源信息所指示的渲染目标尺寸和渲染目标格式的第一渲染目标;
将所述第一渲染目标的加载状态和存储状态配置为所述渲染资源信息所指示的目标加载状态和目标存储状态,得到第二渲染目标;
将所述第二渲染目标的图形处理器存储状态标记为所述渲染资源信息所指示的分片缓存状态,得到所述目标渲染资源。
可选地,所述获取模块包括:
第一获取单元,用于获取所述虚拟场景的场景信息;
第二获取单元,用于从多个场景条件中获取所述场景信息所满足的目标场景条件,其中,所述多个场景条件与多个渲染框架图一一对应;
确定单元,用于将所述目标场景条件所对应的渲染框架图确定为所述虚拟场景对应的渲染框架图。
可选地,所述装置还包括:
划分模块,用于在获取所述虚拟场景对应的渲染框架图之前,将所述虚拟场景的渲染流程划分为渲染阶段和渲染子阶段,得到所述渲染流程信息;
配置模块,用于配置每个渲染子阶段所包括的渲染目标和渲染目标信息,得到所述渲染资源信息,其中,所述渲染目标信息包括渲染目标尺寸,渲染目标格式,加载状态,存储状态和临时使用状态,所述临时使用状态用于指示允许所述每个渲染子阶段使用图形处理器的片上分片缓存;
第二创建模块,用于使用所述渲染流程信息和所述渲染资源信息创建所述渲染框架图。
可选地,所述配置模块包括:
构建单元,用于构建每个渲染子阶段所包括的渲染目标;
第一配置单元,用于将所述渲染目标的渲染目标尺寸和渲染目标格式配置为允许使用所述图形处理器的片上分片缓存的渲染目标尺寸和渲染目标格式;
第二配置单元,用于将所述渲染目标的加载状态和存储状态配置为满足所述虚拟场景要求的加载状态和存储状态;
第一标记单元,用于将所述渲染目标的图形处理器的片上存储状态标记为分片缓存。
可选地,所述划分模块用于:
将所述虚拟场景的渲染流程中的几何渲染阶段配置为几何渲染子阶段,将光照渲染阶段配置为光照渲染子阶段;
将所述几何渲染子阶段和所述光照渲染子阶段合并为渲染阶段。
可选地,所述配置模块包括:
第三配置单元,用于配置所述几何渲染子阶段的渲染目标包括位置渲染目标,法线渲染目标,反射率渲染目标和深度渲染目标,所述光照渲染子阶段的渲染目标包括光照渲染目标;
第四配置单元,用于将所述位置渲染目标,所述法线渲染目标,所述反射率渲染目标,所述深度渲染目标和所述光照渲染目标的渲染目标尺寸标记为预设尺寸,渲染目标格式标记为预设格式;
第二标记单元,用于将所述位置渲染目标,法线渲染目标,反射率渲染目标和深度渲染目标的加载状态标记为清除上一次内容,存储状态标记为不关心之后内容,并将所述光照渲染目标的加载状态标记为不关心之后内容,存储状态标记为存储内容;
第三标记单元,用于将所述位置渲染目标,所述法线渲染目标,所述反射率渲染目标,所述深度渲染目标和所述光照渲染目标的图形处理器的片上存储状态标记为分片缓存。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本申请实施例中,采用在渲染虚拟场景时,获取虚拟场景对应的渲染框架图,其中,渲染框架图中记录了虚拟场景对应的渲染流程信息和渲染资源信息,渲染流程信息用于指示渲染虚拟场景所划分的渲染阶段和每个渲染阶段所划分的渲染子阶段,渲染资源信息用于指示允许每个渲染子阶段使用图形处理器的片上分片缓存所对应的渲染资源的资源状态;按照渲染框架图创建虚拟场景对应的目标渲染流程,其中,目标渲染流程中所使用的目标渲染资源满足渲染资源信息所指示的资源状态;按照目标渲染流程渲染虚拟场景的方式,渲染框架图中记录了使用图形处理器(GPU)片上分片缓存所需满足的资源状态以及划分的渲染阶段和子阶段,在渲染虚拟场景时根据该渲染框架图创建渲染流程进行场景渲染能够确保渲染过程发挥硬件的最优性能,达到了提高虚拟场景的渲染效率的技术效果,进而解决了虚拟场景的渲染效率较低的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的虚拟场景的渲染方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的虚拟场景的渲染方法的流程图;
图3是根据本申请可选的实施方式的一种虚拟场景的渲染过程的示意图;
图4是根据本申请实施例的一种构建渲染框架图的示意图;
图5是根据本申请可选实施例的一种基于Vulkan构建渲染框架图的过程的示意图;
图6是根据本申请实施例的一种可选的虚拟场景的渲染装置的示意图;
图7是根据本申请实施例的一种电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一方面,提供了一种虚拟场景的渲染的方法实施例。
可选地,在本实施例中,上述虚拟场景的渲染方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等。本申请实施例的虚拟场景的渲染方法可以由服务器103来执行,也可以由终端101来执行,还可以是由服务器103和终端101共同执行。其中,终端101执行本申请实施例的虚拟场景的渲染方法也可以是由安装在其上的客户端来执行。
图2是根据本申请实施例的一种可选的虚拟场景的渲染方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,在渲染虚拟场景时,获取所述虚拟场景对应的渲染框架图,其中,所述渲染框架图中记录了所述虚拟场景对应的渲染流程信息和渲染资源信息,所述渲染流程信息用于指示渲染所述虚拟场景所划分的渲染阶段和每个所述渲染阶段所划分的渲染子阶段,所述渲染资源信息用于指示允许每个渲染子阶段使用图形处理器的片上分片缓存所对应的渲染资源的资源状态;
步骤S204,按照所述渲染框架图创建所述虚拟场景对应的目标渲染流程,其中,所述目标渲染流程中所使用的目标渲染资源满足所述渲染资源信息所指示的资源状态;
步骤S206,按照所述目标渲染流程渲染所述虚拟场景。
通过上述步骤S202至步骤S206,渲染框架图中记录了使用图形处理器(GPU)片上分片缓存所需满足的资源状态以及划分的渲染阶段和子阶段,在渲染虚拟场景时根据该渲染框架图创建渲染流程进行场景渲染能够确保渲染过程发挥硬件的最优性能,达到了提高虚拟场景的渲染效率的技术效果,进而解决了虚拟场景的渲染效率较低的技术问题。
在步骤S202提供的技术方案中,上述虚拟场景可以但不限于包括:游戏场景,虚拟现实(VR)场景,动画场景,模拟器场景等等。比如:在手机安卓(Android)系统中渲染游戏场景,在PC计算机的安卓(Android)系统中渲染动画场景等等。
可选地,在本实施例中,上述渲染框架图(frame graph)中记录了虚拟场景对应的渲染流程信息和渲染资源信息,渲染流程信息用于指示渲染虚拟场景所划分的渲染阶段(render pass)和每个渲染阶段所划分的渲染子阶段(sub render pass),渲染资源信息用于指示允许每个渲染子阶段使用图形处理器(Graphics Processing Unit,GPU)的片上分片缓存(Tile Buffer)所对应的渲染资源的资源状态。在渲染资源信息中标记了使用GPU的片上分片缓存所需要的渲染资源的资源状态,从而使得创建的渲染流程能够调用GPU的片上分片缓存,充分发挥GPU的渲染性能,提高渲染效率。
可选地,在本实施例中,渲染框架图中记录的渲染流程信息指示了渲染虚拟场景所划分的渲染阶段和每个渲染阶段所划分的渲染子阶段,每个渲染子阶段(sub renderpass)在传统的划分方式中可能是一个渲染阶段(render pass),比如:一个传统的渲染流程可能包括两个render pass:Geometry render pass和Lighting render pass,在上述渲染框架图(frame graph)中,则将这两个render pass记为两个sub render pass:Geometrysub render pass和Lighting sub render pass,这两个sub render pass组成framegraph中的一个render pass。
可选地,在本实施例中,渲染流程信息所指示的渲染虚拟场景所划分的渲染阶段和每个渲染阶段所划分的渲染子阶段可以但不限于是根据允许每个渲染子阶段使用图形处理器的片上分片缓存所对应的渲染资源的资源状态所划分的,可以将原有渲染过程中满足使用图形处理器的片上分片缓存所对应的渲染资源的资源状态要求的渲染阶段作为渲染子阶段合并为新的渲染阶段。比如:由于上述Geometry render pass和Lighting renderpass能够满足使用图形处理器的片上分片缓存所对应的渲染资源的资源状态要求,因此可以将上述Geometry render pass和Lighting render pass分别作为Geometry sub renderpass和Lighting sub render pass合并为一个render pass。
可选地,在本实施例中,允许使用图形处理器的片上分片缓存所对应的渲染资源的资源状态可以但不限于包括:渲染目标尺寸,渲染目标格式,加载状态(load action),存储状态(store action)和临时使用状态等等。加载状态(load action)可以但不限于包括:load(加载),clear(清除上一次内容)和don’t care(不关心之前内容)等等。存储状态(store action)可以但不限于包括store(存储内容),clear(清除上一次内容)和don’tcare(不关心之前内容)等等。临时使用状态可以但不限于包括分片缓存(tile buffer)。
在步骤S204提供的技术方案中,按照渲染框架图所创建的该虚拟场景对应的目标渲染流程中所使用的目标渲染资源满足渲染资源信息所指示的资源状态,从而使得目标渲染流程能够充分发挥硬件所具有的性能优势,提高渲染速度和渲染效率。
在步骤S206提供的技术方案中,按照目标渲染流程渲染虚拟场景即按照划分的渲染阶段和渲染子阶段使用创建好的渲染资源渲染虚拟场景,在渲染过程中,能够使用到GPU的分片缓存,从而提高渲染效率。
作为一种可选的实施例,按照所述渲染框架图创建所述虚拟场景对应的目标渲染流程包括:
S11,按照所述渲染资源信息为每个渲染子阶段创建满足所述资源状态的所述目标渲染资源;
S12,按照所述渲染流程信息创建所述目标渲染资源之间的所述目标渲染流程。
可选地,在本实施例中,首先创建每个渲染子阶段的目标渲染资源,再将各个渲染子阶段的目标渲染资源之间连接起来得到目标渲染流程。
可选地,在本实施例中,为每个渲染子阶段创建的目标渲染资源需要满足渲染资源信息所指示的资源状态才能够保证其在执行渲染流程的过程中使用到GPU的分片缓存。
在一个可选的实施方式中,提供了一个针对手机Vulkan渲染器系统使用GPU的Tile Buffer渲染虚拟场景的过程。图3是根据本申请可选的实施方式的一种虚拟场景的渲染过程的示意图,如图3所示,首先根据项目需求配置不同渲染系统的渲染框架图(FrameGraph),比如:项目是在手机Vulkan渲染器系统下的手机游戏,则配置在手机Vulkan渲染器系统下使用手机GPU片上分片缓存的渲染框架图。然后根据配置的渲染框架图创建图形处理器(GPU)资源及配置资源状态使得创建的资源能够满足使用手机GPU片上分片缓存的要求,再根据配置的渲染框架图创建一帧的渲染流程,根据创建的渲染流程渲染虚拟场景,从而实现游戏画面的呈现。
作为一种可选的实施例,按照所述渲染资源信息为每个渲染子阶段创建满足所述资源状态的所述目标渲染资源包括:
S21,构建满足所述渲染资源信息所指示的渲染目标尺寸和渲染目标格式的第一渲染目标;
S22,将所述第一渲染目标的加载状态和存储状态配置为所述渲染资源信息所指示的目标加载状态和目标存储状态,得到第二渲染目标;
S23,将所述第二渲染目标的图形处理器存储状态标记为所述渲染资源信息所指示的分片缓存状态,得到所述目标渲染资源。
可选地,在本实施例中,构建的渲染资源可以但不限于包括满足要求的渲染目标(Render Target),渲染目标需满足的要求可以但不限于包括渲染目标尺寸,渲染目标格式和图形处理器存储状态的要求,即如果需要使用GPU的分片缓存,首先需要把渲染流程划分为渲染子阶段,其次需要配置Render Target的尺寸,格式和GPU存储状态满足调用GPU的分片缓存的要求。渲染目标的加载状态和存储状态可以根据渲染过程中的实际需求来配置。
可选地,在本实施例中,通过上述过程创建的渲染资源能够使得渲染流程的硬件环境达到最优,即硬件会尽最大可能使用片上(On-Chip)缓存(Tile Buffer),即最小化Tile Buffer至内存(显存),内存(显存)至Tile Buffer的读写操作。因为硬件Tile Buffer与内存(显存)之间操作是有延时的。尽最大可能使用片上缓存能够降低这种延时,提高渲染效率。
作为一种可选的实施例,获取所述虚拟场景对应的渲染框架图包括:
S31,获取所述虚拟场景的场景信息;
S32,从多个场景条件中获取所述场景信息所满足的目标场景条件,其中,所述多个场景条件与多个渲染框架图一一对应;
S33,将所述目标场景条件所对应的渲染框架图确定为所述虚拟场景对应的渲染框架图。
可选地,在本实施例中,可以为不同类型的场景配置不同的渲染框架图,将当前的虚拟场景所满足的场景条件对应的渲染框架图作为渲染当前场景的渲染框架图。
比如:图4是根据本申请实施例的一种构建渲染框架图的示意图,如图4所示,预先创建了多个渲染框架图Frame Graph,其中的一个渲染框架图Frame Graph 1包括三个渲染目标(Render Target 11,Render Target 12和Render Target 13),从Render Target 11到Render Target 12被划分为一个渲染子阶段Sub render pass 11,从Render Target 12到Render Target 13被划分为另一个渲染子阶段Sub render pass 12。另一个渲染框架图Frame Graph 2包括五个渲染目标(Render Target 21,Render Target 22,Render Target23,Render Target 24和Render Target 25),从Render Target 21分别到Render Target22,Render Target 23和Render Target 24被划分为一个渲染子阶段Sub render pass21,分别从Render Target 22,Render Target 23和Render Target 24到Render Target25被划分为另一个渲染子阶段Sub render pass 22。每一个渲染框架图对应了一种场景条件,符合该场景条件的虚拟场景可以使用对应的渲染框架图进行渲染。比如:Frame Graph1对应的场景条件为不需要渲染光照效果,Frame Graph 2对应的场景条件为需要渲染光照效果,那么如果待渲染的虚拟场景需要渲染光照效果则可以使用Frame Graph 2进行渲染,如果待渲染的虚拟场景不需要渲染光照效果则可以使用Frame Graph 1进行渲染。
作为一种可选的实施例,在获取所述虚拟场景对应的渲染框架图之前,还包括:
S41,将所述虚拟场景的渲染流程划分为渲染阶段和渲染子阶段,得到所述渲染流程信息;
S42,配置每个渲染子阶段所包括的渲染目标和渲染目标信息,得到所述渲染资源信息,其中,所述渲染目标信息包括渲染目标尺寸,渲染目标格式,加载状态,存储状态和临时使用状态,所述临时使用状态用于指示允许所述每个渲染子阶段使用图形处理器的片上分片缓存;
S43,使用所述渲染流程信息和所述渲染资源信息创建所述渲染框架图。
可选地,在本实施例中,在渲染虚拟场景之前,可以但不限于先根据项目需求创建能够发挥硬件最优性能的渲染框架图。
可选地,在本实施例中,渲染阶段和渲染子阶段的划分过程可以但不限于是根据能够达到最优硬件环境的需求将原渲染流程中的渲染阶段配置为渲染子阶段,再将配置的渲染子阶段组成渲染阶段。
可选地,在本实施例中,渲染目标即Render Target,渲染目标信息包括:能够达到最优硬件环境所需要的渲染目标的渲染目标尺寸,渲染目标格式和临时使用状态,其中,该临时使用状态用于指示允许每个渲染子阶段使用图形处理器的片上分片缓存,以及根据项目需求配置的渲染目标的加载状态和存储状态。
作为一种可选的实施例,配置每个渲染子阶段所包括的渲染目标和渲染目标信息包括:
S51,构建每个渲染子阶段所包括的渲染目标;
S52,将所述渲染目标的渲染目标尺寸和渲染目标格式配置为允许使用所述图形处理器的片上分片缓存的渲染目标尺寸和渲染目标格式;
S53,将所述渲染目标的加载状态和存储状态配置为满足所述虚拟场景要求的加载状态和存储状态;
S54,将所述渲染目标的图形处理器的片上存储状态标记为分片缓存。
可选地,在本实施例中,渲染目标尺寸和渲染目标格式配置为允许使用图形处理器的片上分片缓存的渲染目标尺寸和渲染目标格式。也就是说,使用图形处理器的片上分片缓存需要渲染目标满足一定的尺寸和格式要求。
可选地,在本实施例中,渲染目标的加载状态和存储状态可以但不限于由虚拟场景要求来确定。
可选地,在本实施例中,将渲染目标的图形处理器的片上存储状态标记为分片缓存的方式可以但不限于包括在为VulkanMobileRenderTarget分配显存时,指定分配显存方式加上VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT这一位,如此便能使用Android片上缓存,达到降低带宽的效果。
作为一种可选的实施例,将所述虚拟场景的渲染流程划分为渲染阶段和渲染子阶段包括:
S61,将所述虚拟场景的渲染流程中的几何渲染阶段配置为几何渲染子阶段,将光照渲染阶段配置为光照渲染子阶段;
S62,将所述几何渲染子阶段和所述光照渲染子阶段合并为渲染阶段。
可选地,在本实施例中,首先原渲染流程中能够配置为渲染子阶段的渲染阶段配置为渲染子阶段,再将配置的渲染子阶段合并为渲染阶段。
比如:将几何渲染阶段(Geometry Pass)配置为几何渲染子阶段(GeometrySubPass),将光照渲染阶段(Lighting Pass)配置为光照渲染子阶段(Lighting SubPass),再将几何渲染子阶段(Geometry SubPass)和光照渲染子阶段(Lighting SubPass)合并为渲染阶段。
作为一种可选的实施例,配置每个渲染子阶段所包括的渲染目标和渲染目标信息包括:
S71,配置所述几何渲染子阶段的渲染目标包括位置渲染目标,法线渲染目标,反射率渲染目标和深度渲染目标,所述光照渲染子阶段的渲染目标包括光照渲染目标;
S72,将所述位置渲染目标,所述法线渲染目标,所述反射率渲染目标,所述深度渲染目标和所述光照渲染目标的渲染目标尺寸标记为预设尺寸,渲染目标格式标记为预设格式;
S73,将所述位置渲染目标,法线渲染目标,反射率渲染目标和深度渲染目标的加载状态标记为清除上一次内容,存储状态标记为不关心之后内容,并将所述光照渲染目标的加载状态标记为不关心之后内容,存储状态标记为存储内容;
S74,将所述位置渲染目标,所述法线渲染目标,所述反射率渲染目标,所述深度渲染目标和所述光照渲染目标的图形处理器的片上存储状态标记为分片缓存。
可选地,在本实施例中,几何渲染子阶段的渲染目标包括位置渲染目标(position),法线渲染目标(normal),反射率渲染目标(albedo)和深度渲染目标(depth),光照渲染子阶段的渲染目标包括光照渲染目标(Lighting)。
可选地,在本实施例中,上述预设尺寸和预设格式是使用GPU片上分片缓存所要求的渲染目标的尺寸和渲染目标的格式。
可选地,在本实施例中,加载状态和存储状态可以根据虚拟场景的需求进行配置,比如:将位置渲染目标(position),法线渲染目标(normal),反射率渲染目标(albedo)和深度渲染目标(depth)的加载状态(load action)标记为清除上一次内容(clear),存储状态(store action)标记为不关心之后内容(don’t care),并将光照渲染目标(Lighting)的加载状态(load action)标记为不关心之后内容(don’t care),存储状态(store action)标记为存储内容(store)。
可选地,在本实施例中,渲染目标的图形处理器的片上存储状态标记为分片缓存能够使得渲染过程充分使用到GPU的分片缓存。比如:将位置渲染目标(position),法线渲染目标(normal),反射率渲染目标(albedo),深度渲染目标(depth)和光照渲染目标(Lighting)的图形处理器的片上存储状态(GPU 存储状态)标记为分片缓存(tilebuffer)。
本申请还提供了一种可选实施例,该可选实施例提供了一种使用Vulkan构建渲染框架图的过程。图5是根据本申请可选实施例的一种基于Vulkan构建渲染框架图的过程的示意图,如图5所示,在本可选实施例中,构建的渲染框架图为能够渲染出延迟光照(deferred lighting)效果的渲染框架图,首先原渲染流程构建的原渲染框架图中Geometry RenderPass分别渲染场景到position, normal,albedo,depth的Render Target上,再经过Lighting RenderPass进行光照计算到lighting的Render Target上。其配置了两个Render Pass(Geometry,Lighting),使用了五个GPU Render Target。
在本可选实施例中,将Geometry与Lighting合为一个Render Pass,其分别成为Sub Render Pass(即Geometry Sub Pass和Lighting Sub Pass),并且对上述五个rendertarget的状态进行设置使得渲染过程能够高效地使用GPU的Tile Buffer。将position、normal、albedo、depth的加载状态(load action)配置为clear(清除上一次内容)、存储状态(store action)配置为don’t care(不关心之后内容),将Lighting的加载状态(loadaction)配置为don’t care(不关心之前内容),存储状态(store action)配置为store(存储内容)。并且将position、normal、albedo、depth和Lighting的GPU 存储状态标记为tilebuffer,这样便能充分发挥GPU的硬件性能,从而得到目标渲染框架图。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述虚拟场景的渲染方法的虚拟场景的渲染装置。图6是根据本申请实施例的一种可选的虚拟场景的渲染装置的示意图,如图6所示,该装置可以包括:
获取模块62,用于在渲染虚拟场景时,获取所述虚拟场景对应的渲染框架图,其中,所述渲染框架图中记录了所述虚拟场景对应的渲染流程信息和渲染资源信息,所述渲染流程信息用于指示渲染所述虚拟场景所划分的渲染阶段和每个所述渲染阶段所划分的渲染子阶段,所述渲染资源信息用于指示允许每个渲染子阶段使用图形处理器的片上分片缓存所对应的渲染资源的资源状态;
第一创建模块64,用于按照所述渲染框架图创建所述虚拟场景对应的目标渲染流程,其中,所述目标渲染流程中所使用的目标渲染资源满足所述渲染资源信息所指示的资源状态;
渲染模块66,用于按照所述目标渲染流程渲染所述虚拟场景。
需要说明的是,该实施例中的获取模块62可以用于执行本申请实施例中的步骤S202,该实施例中的第一创建模块64可以用于执行本申请实施例中的步骤S204,该实施例中的渲染模块66可以用于执行本申请实施例中的步骤S206。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,渲染框架图中记录了使用图形处理器(GPU)片上分片缓存所需满足的资源状态以及划分的渲染阶段和子阶段,在渲染虚拟场景时根据该渲染框架图创建渲染流程进行场景渲染能够确保渲染过程发挥硬件的最优性能,达到了提高虚拟场景的渲染效率的技术效果,进而解决了虚拟场景的渲染效率较低的技术问题。
作为一种可选的实施例,所述第一创建模块包括:
第一创建单元,用于按照所述渲染资源信息为每个渲染子阶段创建满足所述资源状态的所述目标渲染资源;
第二创建单元,用于按照所述渲染流程信息创建所述目标渲染资源之间的所述目标渲染流程。
作为一种可选的实施例,所述第一创建单元用于:
构建满足所述渲染资源信息所指示的渲染目标尺寸和渲染目标格式的第一渲染目标;
将所述第一渲染目标的加载状态和存储状态配置为所述渲染资源信息所指示的目标加载状态和目标存储状态,得到第二渲染目标;
将所述第二渲染目标的图形处理器存储状态标记为所述渲染资源信息所指示的分片缓存状态,得到所述目标渲染资源。
作为一种可选的实施例,所述获取模块包括:
第一获取单元,用于获取所述虚拟场景的场景信息;
第二获取单元,用于从多个场景条件中获取所述场景信息所满足的目标场景条件,其中,所述多个场景条件与多个渲染框架图一一对应;
确定单元,用于将所述目标场景条件所对应的渲染框架图确定为所述虚拟场景对应的渲染框架图。
作为一种可选的实施例,所述装置还包括:
划分模块,用于在获取所述虚拟场景对应的渲染框架图之前,将所述虚拟场景的渲染流程划分为渲染阶段和渲染子阶段,得到所述渲染流程信息;
配置模块,用于配置每个渲染子阶段所包括的渲染目标和渲染目标信息,得到所述渲染资源信息,其中,所述渲染目标信息包括渲染目标尺寸,渲染目标格式,加载状态,存储状态和临时使用状态,所述临时使用状态用于指示允许所述每个渲染子阶段使用图形处理器的片上分片缓存;
第二创建模块,用于使用所述渲染流程信息和所述渲染资源信息创建所述渲染框架图。
作为一种可选的实施例,所述配置模块包括:
构建单元,用于构建每个渲染子阶段所包括的渲染目标;
第一配置单元,用于将所述渲染目标的渲染目标尺寸和渲染目标格式配置为允许使用所述图形处理器的片上分片缓存的渲染目标尺寸和渲染目标格式;
第二配置单元,用于将所述渲染目标的加载状态和存储状态配置为满足所述虚拟场景要求的加载状态和存储状态;
第一标记单元,用于将所述渲染目标的图形处理器的片上存储状态标记为分片缓存。
作为一种可选的实施例,所述划分模块用于:
将所述虚拟场景的渲染流程中的几何渲染阶段配置为几何渲染子阶段,将光照渲染阶段配置为光照渲染子阶段;
将所述几何渲染子阶段和所述光照渲染子阶段合并为渲染阶段。
作为一种可选的实施例,所述配置模块包括:
第三配置单元,用于配置所述几何渲染子阶段的渲染目标包括位置渲染目标,法线渲染目标,反射率渲染目标和深度渲染目标,所述光照渲染子阶段的渲染目标包括光照渲染目标;
第四配置单元,用于将所述位置渲染目标,所述法线渲染目标,所述反射率渲染目标,所述深度渲染目标和所述光照渲染目标的渲染目标尺寸标记为预设尺寸,渲染目标格式标记为预设格式;
第二标记单元,用于将所述位置渲染目标,法线渲染目标,反射率渲染目标和深度渲染目标的加载状态标记为清除上一次内容,存储状态标记为不关心之后内容,并将所述光照渲染目标的加载状态标记为不关心之后内容,存储状态标记为存储内容;
第三标记单元,用于将所述位置渲染目标,所述法线渲染目标,所述反射率渲染目标,所述深度渲染目标和所述光照渲染目标的图形处理器的片上存储状态标记为分片缓存。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述虚拟场景的渲染方法的电子装置。
图7是根据本申请实施例的一种电子装置的结构框图,如图7所示,该电子装置可以包括:一个或多个(图中仅示出一个)处理器701、存储器703、以及传输装置705,如图7所示,该电子装置还可以包括输入输出设备707。
其中,存储器703可用于存储软件程序以及模块,如本申请实施例中的虚拟场景的渲染方法和装置对应的程序指令/模块,处理器701通过运行存储在存储器703内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的虚拟场景的渲染方法。存储器703可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器703可进一步包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至电子装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置705用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置705包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置705为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器703用于存储应用程序。
处理器701可以通过传输装置705调用存储器703存储的应用程序,以执行下述步骤:
在渲染虚拟场景时,获取所述虚拟场景对应的渲染框架图,其中,所述渲染框架图中记录了所述虚拟场景对应的渲染流程信息和渲染资源信息,所述渲染流程信息用于指示渲染所述虚拟场景所划分的渲染阶段和每个所述渲染阶段所划分的渲染子阶段,所述渲染资源信息用于指示允许每个渲染子阶段使用图形处理器的片上分片缓存所对应的渲染资源的资源状态;
按照所述渲染框架图创建所述虚拟场景对应的目标渲染流程,其中,所述目标渲染流程中所使用的目标渲染资源满足所述渲染资源信息所指示的资源状态;
按照所述目标渲染流程渲染所述虚拟场景。
采用本申请实施例,提供了一种虚拟场景的渲染的方案。渲染框架图中记录了使用图形处理器(GPU)片上分片缓存所需满足的资源状态以及划分的渲染阶段和子阶段,在渲染虚拟场景时根据该渲染框架图创建渲染流程进行场景渲染能够确保渲染过程发挥硬件的最优性能,达到了提高虚拟场景的渲染效率的技术效果,进而解决了虚拟场景的渲染效率较低的技术问题。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图7所示的结构仅为示意,电子装置可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等设备。图7其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令电子装置相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行虚拟场景的渲染方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
在渲染虚拟场景时,获取所述虚拟场景对应的渲染框架图,其中,所述渲染框架图中记录了所述虚拟场景对应的渲染流程信息和渲染资源信息,所述渲染流程信息用于指示渲染所述虚拟场景所划分的渲染阶段和每个所述渲染阶段所划分的渲染子阶段,所述渲染资源信息用于指示允许每个渲染子阶段使用图形处理器的片上分片缓存所对应的渲染资源的资源状态;
按照所述渲染框架图创建所述虚拟场景对应的目标渲染流程,其中,所述目标渲染流程中所使用的目标渲染资源满足所述渲染资源信息所指示的资源状态;
按照所述目标渲染流程渲染所述虚拟场景。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (11)

1.一种虚拟场景的渲染方法,其特征在于,包括:
在渲染虚拟场景时,获取所述虚拟场景对应的渲染框架图,其中,所述渲染框架图中记录了所述虚拟场景对应的渲染流程信息和渲染资源信息,所述渲染流程信息用于指示渲染所述虚拟场景所划分的渲染阶段和每个所述渲染阶段所划分的渲染子阶段,所述渲染资源信息用于指示允许每个渲染子阶段使用图形处理器的片上分片缓存所对应的渲染资源的资源状态;
按照所述渲染框架图创建所述虚拟场景对应的目标渲染流程,其中,所述目标渲染流程中所使用的目标渲染资源满足所述渲染资源信息所指示的资源状态;
按照所述目标渲染流程渲染所述虚拟场景。
2.根据权利要求1所述的方法,其特征在于,按照所述渲染框架图创建所述虚拟场景对应的目标渲染流程包括:
按照所述渲染资源信息为每个渲染子阶段创建满足所述资源状态的所述目标渲染资源;
按照所述渲染流程信息创建所述目标渲染资源之间的所述目标渲染流程。
3.根据权利要求2所述的方法,其特征在于,按照所述渲染资源信息为每个渲染子阶段创建满足所述资源状态的所述目标渲染资源包括:
构建满足所述渲染资源信息所指示的渲染目标尺寸和渲染目标格式的第一渲染目标;
将所述第一渲染目标的加载状态和存储状态配置为所述渲染资源信息所指示的目标加载状态和目标存储状态,得到第二渲染目标;
将所述第二渲染目标的图形处理器存储状态标记为所述渲染资源信息所指示的分片缓存状态,得到所述目标渲染资源。
4.根据权利要求1所述的方法,其特征在于,获取所述虚拟场景对应的渲染框架图包括:
获取所述虚拟场景的场景信息;
从多个场景条件中获取所述场景信息所满足的目标场景条件,其中,所述多个场景条件与多个渲染框架图一一对应;
将所述目标场景条件所对应的渲染框架图确定为所述虚拟场景对应的渲染框架图。
5.根据权利要求1所述的方法,其特征在于,在获取所述虚拟场景对应的渲染框架图之前,所述方法还包括:
将所述虚拟场景的渲染流程划分为渲染阶段和渲染子阶段,得到所述渲染流程信息;
配置每个渲染子阶段所包括的渲染目标和渲染目标信息,得到所述渲染资源信息,其中,所述渲染目标信息包括渲染目标尺寸,渲染目标格式,加载状态,存储状态和临时使用状态,所述临时使用状态用于指示允许所述每个渲染子阶段使用图形处理器的片上分片缓存;
使用所述渲染流程信息和所述渲染资源信息创建所述渲染框架图。
6.根据权利要求5所述的方法,其特征在于,配置每个渲染子阶段所包括的渲染目标和渲染目标信息包括:
构建每个渲染子阶段所包括的渲染目标;
将所述渲染目标的渲染目标尺寸和渲染目标格式配置为允许使用所述图形处理器的片上分片缓存的渲染目标尺寸和渲染目标格式;
将所述渲染目标的加载状态和存储状态配置为满足所述虚拟场景要求的加载状态和存储状态;
将所述渲染目标的图形处理器的片上存储状态标记为分片缓存。
7.根据权利要求5所述的方法,其特征在于,将所述虚拟场景的渲染流程划分为渲染阶段和渲染子阶段包括:
将所述虚拟场景的渲染流程中的几何渲染阶段配置为几何渲染子阶段,将光照渲染阶段配置为光照渲染子阶段;
将所述几何渲染子阶段和所述光照渲染子阶段合并为渲染阶段。
8.根据权利要求7所述的方法,其特征在于,配置每个渲染子阶段所包括的渲染目标和渲染目标信息包括:
配置所述几何渲染子阶段的渲染目标包括位置渲染目标,法线渲染目标,反射率渲染目标和深度渲染目标,所述光照渲染子阶段的渲染目标包括光照渲染目标;
将所述位置渲染目标,所述法线渲染目标,所述反射率渲染目标,所述深度渲染目标和所述光照渲染目标的渲染目标尺寸标记为预设尺寸,渲染目标格式标记为预设格式;
将所述位置渲染目标,法线渲染目标,反射率渲染目标和深度渲染目标的加载状态标记为清除上一次内容,存储状态标记为不关心之后内容,并将所述光照渲染目标的加载状态标记为不关心之后内容,存储状态标记为存储内容;
将所述位置渲染目标,所述法线渲染目标,所述反射率渲染目标,所述深度渲染目标和所述光照渲染目标的图形处理器的片上存储状态标记为分片缓存。
9.一种虚拟场景的渲染装置,其特征在于,包括:
获取模块,用于在渲染虚拟场景时,获取所述虚拟场景对应的渲染框架图,其中,所述渲染框架图中记录了所述虚拟场景对应的渲染流程信息和渲染资源信息,所述渲染流程信息用于指示渲染所述虚拟场景所划分的渲染阶段和每个所述渲染阶段所划分的渲染子阶段,所述渲染资源信息用于指示允许每个渲染子阶段使用图形处理器的片上分片缓存所对应的渲染资源的资源状态;
第一创建模块,用于按照所述渲染框架图创建所述虚拟场景对应的目标渲染流程,其中,所述目标渲染流程中所使用的目标渲染资源满足所述渲染资源信息所指示的资源状态;
渲染模块,用于按照所述目标渲染流程渲染所述虚拟场景。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至8任一项中所述的方法。
11.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至8任一项中所述的方法。
CN202011501111.2A 2020-12-18 2020-12-18 一种虚拟场景的渲染方法和装置 Active CN112233217B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011501111.2A CN112233217B (zh) 2020-12-18 2020-12-18 一种虚拟场景的渲染方法和装置
PCT/CN2021/121484 WO2022127278A1 (zh) 2020-12-18 2021-09-28 一种虚拟场景的渲染方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011501111.2A CN112233217B (zh) 2020-12-18 2020-12-18 一种虚拟场景的渲染方法和装置

Publications (2)

Publication Number Publication Date
CN112233217A true CN112233217A (zh) 2021-01-15
CN112233217B CN112233217B (zh) 2021-04-02

Family

ID=74124908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011501111.2A Active CN112233217B (zh) 2020-12-18 2020-12-18 一种虚拟场景的渲染方法和装置

Country Status (2)

Country Link
CN (1) CN112233217B (zh)
WO (1) WO2022127278A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113032095A (zh) * 2021-03-15 2021-06-25 深圳市瑞驰信息技术有限公司 一种在arm架构上实现安卓容器运算的系统及方法
CN113034656A (zh) * 2021-03-30 2021-06-25 完美世界(北京)软件科技发展有限公司 游戏场景中光照信息的渲染方法、装置及设备
CN113313802A (zh) * 2021-05-25 2021-08-27 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置、设备及存储介质
CN113318444A (zh) * 2021-06-08 2021-08-31 天津亚克互动科技有限公司 角色的渲染方法和装置、电子设备和存储介质
CN113485698A (zh) * 2021-06-23 2021-10-08 北京奇岱松科技有限公司 渲染代码转换生成方法、装置、计算设备及存储介质
WO2022127278A1 (zh) * 2020-12-18 2022-06-23 完美世界(北京)软件科技发展有限公司 一种虚拟场景的渲染方法和装置
CN115439586A (zh) * 2022-10-27 2022-12-06 腾讯科技(深圳)有限公司 数据处理方法、设备、存储介质及计算机程序产品
WO2023273117A1 (zh) * 2021-06-30 2023-01-05 完美世界(北京)软件科技发展有限公司 地形的渲染方法和装置、计算机设备和存储介质
WO2023241210A1 (zh) * 2022-06-17 2023-12-21 腾讯科技(深圳)有限公司 虚拟场景的渲染方法、装置、设备及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115063565B (zh) * 2022-08-08 2023-01-24 荣耀终端有限公司 一种可穿戴物品的试戴方法、装置及电子设备
CN116832434B (zh) * 2023-06-19 2024-04-12 广州怪力视效网络科技有限公司 一种游戏场景中虚拟天空的渲染方法及装置
CN116863058B (zh) * 2023-09-05 2023-11-14 湖南马栏山视频先进技术研究院有限公司 一种基于gpu的视频数据处理系统
CN117611472B (zh) * 2024-01-24 2024-04-09 四川物通科技有限公司 一种用于元宇宙空间与云渲染的融合方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100231599A1 (en) * 2009-03-16 2010-09-16 Microsoft Corporation Frame Buffer Management
CN102157008A (zh) * 2011-04-12 2011-08-17 电子科技大学 一种大规模虚拟人群实时绘制方法
CN102651142A (zh) * 2012-04-16 2012-08-29 深圳超多维光电子有限公司 图像渲染方法和装置
CN110784775A (zh) * 2019-11-25 2020-02-11 金明晔 一种视频分片缓存方法、装置及视频点播系统
CN111383316A (zh) * 2018-12-28 2020-07-07 英特尔公司 用于加速数据结构修整的装置和方法
CN111694601A (zh) * 2019-03-15 2020-09-22 英特尔公司 使用细粒度依赖性检查加速同步并基于可用共享存储器空间调度优化的图形系统和方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104392479B (zh) * 2014-10-24 2017-05-10 无锡梵天信息技术股份有限公司 一种利用灯光索引号对像素进行光照着色的方法
CN107423445B (zh) * 2017-08-10 2018-10-30 腾讯科技(深圳)有限公司 一种地图数据处理方法、装置及存储介质
CN108932742B (zh) * 2018-07-10 2022-09-09 北京航空航天大学 一种基于遥感图像分类的大规模红外地形场景实时渲染方法
CN110599574B (zh) * 2019-09-17 2023-09-15 网易(杭州)网络有限公司 游戏场景的渲染方法、装置及电子设备
CN112016019A (zh) * 2020-08-25 2020-12-01 北京优锘科技有限公司 一种场景渲染调试方法及装置
CN112233217B (zh) * 2020-12-18 2021-04-02 完美世界(北京)软件科技发展有限公司 一种虚拟场景的渲染方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100231599A1 (en) * 2009-03-16 2010-09-16 Microsoft Corporation Frame Buffer Management
CN102157008A (zh) * 2011-04-12 2011-08-17 电子科技大学 一种大规模虚拟人群实时绘制方法
CN102651142A (zh) * 2012-04-16 2012-08-29 深圳超多维光电子有限公司 图像渲染方法和装置
CN111383316A (zh) * 2018-12-28 2020-07-07 英特尔公司 用于加速数据结构修整的装置和方法
CN111694601A (zh) * 2019-03-15 2020-09-22 英特尔公司 使用细粒度依赖性检查加速同步并基于可用共享存储器空间调度优化的图形系统和方法
CN110784775A (zh) * 2019-11-25 2020-02-11 金明晔 一种视频分片缓存方法、装置及视频点播系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022127278A1 (zh) * 2020-12-18 2022-06-23 完美世界(北京)软件科技发展有限公司 一种虚拟场景的渲染方法和装置
CN113032095A (zh) * 2021-03-15 2021-06-25 深圳市瑞驰信息技术有限公司 一种在arm架构上实现安卓容器运算的系统及方法
CN113034656A (zh) * 2021-03-30 2021-06-25 完美世界(北京)软件科技发展有限公司 游戏场景中光照信息的渲染方法、装置及设备
CN113313802A (zh) * 2021-05-25 2021-08-27 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置、设备及存储介质
CN113313802B (zh) * 2021-05-25 2022-03-11 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置、设备及存储介质
CN113318444A (zh) * 2021-06-08 2021-08-31 天津亚克互动科技有限公司 角色的渲染方法和装置、电子设备和存储介质
CN113318444B (zh) * 2021-06-08 2023-01-10 天津亚克互动科技有限公司 角色的渲染方法和装置、电子设备和存储介质
CN113485698A (zh) * 2021-06-23 2021-10-08 北京奇岱松科技有限公司 渲染代码转换生成方法、装置、计算设备及存储介质
WO2023273117A1 (zh) * 2021-06-30 2023-01-05 完美世界(北京)软件科技发展有限公司 地形的渲染方法和装置、计算机设备和存储介质
WO2023241210A1 (zh) * 2022-06-17 2023-12-21 腾讯科技(深圳)有限公司 虚拟场景的渲染方法、装置、设备及存储介质
CN115439586A (zh) * 2022-10-27 2022-12-06 腾讯科技(深圳)有限公司 数据处理方法、设备、存储介质及计算机程序产品
WO2024087941A1 (zh) * 2022-10-27 2024-05-02 腾讯科技(深圳)有限公司 一种基于渲染资源的数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品

Also Published As

Publication number Publication date
WO2022127278A1 (zh) 2022-06-23
CN112233217B (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
CN112233217B (zh) 一种虚拟场景的渲染方法和装置
US20210211471A1 (en) Highly scalable four-dimensional web-rendering geospatial data system for simulated worlds
CN107223264B (zh) 一种渲染方法及装置
CN105763602A (zh) 一种数据请求处理的方法、服务器及系统
CN106453572B (zh) 基于云服务器同步图像的方法及系统
CN105678680A (zh) 一种图像处理的方法和装置
CN108492338B (zh) 动画文件的压缩方法、装置、存储介质和电子装置
CN112288841B (zh) 一种渲染框架图的创建方法和装置
JP6882992B2 (ja) 動画像をプレビューする方法及びデバイス、並びに表現パッケージを表示する方法及びデバイス
CN104599315A (zh) 一种三维场景的构建方法及系统
CN104461698A (zh) 虚拟磁盘动态挂载的方法、管理装置及分布式存储系统
CN112860944A (zh) 视频渲染方法、装置、设备、存储介质及计算机程序产品
CN105653209A (zh) 一种对象存储数据传输方法及装置
CN112307403A (zh) 页面渲染方法、装置、存储介质以及终端
US20160092206A1 (en) Managing executable files
CN113034658B (zh) 一种模型贴图的生成方法和装置
CN110298896A (zh) 图片转码方法、装置及电子设备
CN112882826B (zh) 一种资源协同调度方法以及装置
CN114503438A (zh) 用于视频编解码的半解耦分区
CN105727556A (zh) 一种图像绘制的方法、相关设备及系统
CN104125198A (zh) 网页播放器插件重定向方法、服务器和客户端
CN116569153A (zh) 用于虚拟gpu-cpu存储器编排的系统和方法
CN108153564A (zh) 界面管理方法、设备及系统
CN112073505A (zh) 在云服务器上进行卸载的方法、控制装置、存储介质
CN114157917B (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
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20210115

Assignee: Beijing Xuanguang Technology Co.,Ltd.

Assignor: Perfect world (Beijing) software technology development Co.,Ltd.

Contract record no.: X2022990000254

Denomination of invention: A rendering method and device for virtual scene

Granted publication date: 20210402

License type: Exclusive License

Record date: 20220610