虚拟场景的渲染方法技术

技术编号:39877971 阅读:7 留言:0更新日期:2023-12-30 13:00
本申请实施例公开了一种虚拟场景的渲染方法

【技术实现步骤摘要】
虚拟场景的渲染方法、装置、设备及存储介质


[0001]本申请实施例涉及渲染
,特别涉及一种虚拟场景的渲染方法

装置

设备及存储介质


技术介绍

[0002]多光源处理一直是虚拟场景渲染中的重要环节

相关技术中,移动平台的图形处理器
(Graphic Processing Unit

GPU)
大多采用分块渲染
(Tile Base Rendering

TBR)
模式进行虚拟场景的渲染

[0003]在几何渲染阶段结束之后,
GPU
需要将包含分块渲染结果的几何缓冲区
(Geometry Buffer

G

Buffer)
写入主内存中,然后在光照渲染阶段再从主内存中重新读取该几何缓冲区,以基于分块渲染结果完成光照渲染

[0004]由于渲染过程中,需要频繁与主内存进行写入和读取操作,导致需要消耗大量的带宽,进而导致渲染过程的电量消耗较高


技术实现思路

[0005]本申请实施例提供了一种虚拟场景的渲染方法

装置

设备及存储介质,能够减少虚拟场景渲染过程中的带宽消耗

所述技术方案如下:
[0006]一方面,本申请实施例提供了一种虚拟场景的渲染方法,所述方法包括:
[0007]在几何渲染阶段,对虚拟场景进行几何渲染,得到几何渲染结果;
[0008]将所述几何渲染结果写入片上内存,所述片上内存为设置在
GPU
中的内存,且所述几何渲染结果不写入主内存;
[0009]在光照渲染阶段,基于帧缓冲获取扩展特性,从所述片上内存中读取所述几何渲染结果,所述帧缓冲获取扩展特性用于扩展
GPU
从所述片上内存中读取数据的方式;
[0010]基于光源信息以及所述几何渲染结果进行光照渲染,得到光照渲染结果;
[0011]将所述光照渲染结果写入所述片上内存

[0012]另一方面,本申请实施例提供了一种虚拟场景的渲染装置,所述装置包括:
[0013]几何渲染模块,用于在几何渲染阶段,对虚拟场景进行几何渲染,得到几何渲染结果;将所述几何渲染结果写入片上内存,所述片上内存为设置在
GPU
中的内存,且所述几何渲染结果不写入主内存;
[0014]光照渲染模块,用于在光照渲染阶段,基于帧缓冲获取扩展特性,从所述片上内存中读取所述几何渲染结果,所述帧缓冲获取扩展特性用于扩展
GPU
从所述片上内存中读取数据的方式;基于光源信息以及所述几何渲染结果进行光照渲染,得到光照渲染结果;将所述光照渲染结果写入所述片上内存

[0015]另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的虚拟场景的渲染方法

[0016]另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如上述方面所述的虚拟场景的渲染方法

[0017]另一方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中

计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的虚拟场景的渲染方法

[0018]本申请实施例中,
GPU
将在几何渲染阶段得到的几何渲染结果写入片上内存,而不写入主内存,其中,该片上内存为设置在
GPU
中的内存,并在光照渲染阶段,基于帧缓冲获取扩展特性从片上内存中读取几何渲染结果,从而结合光源信息进行光照渲染,并将光照渲染结果写入片上内存

采用本申请实施例提供的方案,
GPU
能够利用帧缓冲获取扩展特性在光照渲染阶段直接从片上内存中读取该几何渲染结果,免去了将几何渲染结果写入主内存,再从主内存中读取的环节,减少了虚拟环境渲染过程中的带宽消耗

附图说明
[0019]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图

[0020]图1示出了相关技术中渲染过程的示意图;
[0021]图2示出了本申请一个示例性实施例提供的虚拟场景的渲染方法的流程图;
[0022]图3是本申请一个示例性实施例示出的虚拟场景渲染过程的实施示意图;
[0023]图4示出了本申请另一个示例性实施例提供的虚拟场景的渲染方法的流程图;
[0024]图5是本申请一个示例性实施例示出的虚拟场景渲染过程的实施示意图;
[0025]图6是本申请一个示例性实施例示出的另一个虚拟场景渲染过程的实施示意图;
[0026]图7示出了本申请另一个示例性实施例提供的虚拟场景的渲染方法的流程图;
[0027]图8是本申请另一个示例性实施例示出的虚拟场景渲染过程的实施示意图;
[0028]图9是本申请另一个示例性实施例示出的另一个虚拟场景渲染过程的实施示意图;
[0029]图
10
是本申请一个示例性实施例提供的基于帧缓冲获取扩展特性实现多光源渲染的流程图;
[0030]图
11
是本申请一个示例性实施例提供的虚拟场景的渲染装置的结构框图;
[0031]图
12
示出了本申请一个示例性实施例提供的计算机设备的结构示意图

具体实施方式
[0032]为使本申请的目的

技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述

[0033]在本文中提及的“多个”是指两个或两个以上
。“和
/
或”,描述关联对象的关联关系,表示可以存在三种关系,例如,
A

/

B
,可以表示:单独存在
A
,同时存在
A

B
,单独存在
B
这三种情况

字符“/”一般表示前后关联对象是一种“或”的关系

[0034]基于移动平台带宽有限的特点,在移动平台进行延迟渲染
(Deferred rende本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种虚拟场景的渲染方法,其特征在于,所述方法包括:在几何渲染阶段,对虚拟场景进行几何渲染,得到几何渲染结果;将所述几何渲染结果写入片上内存,所述片上内存为设置在
GPU
中的内存,且所述几何渲染结果不写入主内存;在光照渲染阶段,基于帧缓冲获取扩展特性,从所述片上内存中读取所述几何渲染结果,所述帧缓冲获取扩展特性用于扩展
GPU
从所述片上内存中读取数据的方式;基于光源信息以及所述几何渲染结果进行光照渲染,得到光照渲染结果;将所述光照渲染结果写入所述片上内存
。2.
根据权利要求1所述的方法,其特征在于,所述将所述几何渲染结果写入片上内存,包括:将所述几何渲染结果写入创建的渲染纹理,所述渲染纹理位于所述片上内存的几何缓冲区;所述基于帧缓冲获取扩展特性,从所述片上内存中读取所述几何渲染结果,包括:基于第一帧缓冲获取扩展特性,从所述渲染纹理中读取所述几何渲染结果,所述第一帧缓冲获取扩展特性用于扩展
GPU
从所述片上内存的所述几何缓冲区中读取数据的方式;所述将所述光照渲染结果写入所述片上内存,包括:将所述光照渲染结果写入所述渲染纹理
。3.
根据权利要求2所述的方法,其特征在于,所述方法还包括:在几何渲染阶段,创建
n
张渲染纹理,不同渲染纹理用于存储不同类型的渲染结果;所述将所述几何渲染结果写入创建的渲染纹理,包括:将所述几何渲染结果写入第1至第
n
‑1张渲染纹理;所述将所述光照渲染结果写入所述渲染纹理,包括:将所述光照渲染结果写入第
n
张渲染纹理
。4.
根据权利要求1所述的方法,其特征在于,所述将所述几何渲染结果写入片上内存,包括:将所述几何渲染结果中的第一渲染结果写入创建的渲染纹理,所述渲染纹理位于所述片上内存的几何缓冲区;将所述几何渲染结果中的第二渲染结果写入所述片上内存中所述渲染纹理以外的区域;所述基于帧缓冲获取扩展特性,从所述片上内存中读取所述几何渲染结果,包括:基于所述帧缓冲获取扩展特性,从所述渲染纹理中读取所述第一渲染结果,以及从所述片上内存中读取所述第二渲染结果;所述将所述光照渲染结果写入所述片上内存,包括:将所述光照渲染结果写入所述渲染纹理
。5.
根据权利要求4所述的方法,其特征在于,所述第二渲染结果包括深度信息,所述第一渲染结果包括除所述深度信息以外的渲染信息
。6.
根据权利要求5所述的方法,其特征在于,所述基于所述帧缓冲获取扩展特性,从所述渲染纹理中读取所述第一渲染结果,以及从所述片上内存中读取所述第二渲染结果,包括:
基于第一帧缓冲获取扩展特性,从所述渲染纹理中读取所述第一渲染结果,所述第一帧缓冲获取扩展特性用于扩展
GPU
从所述片上内存的所述几何缓冲区中读取数据的方式;基于第二帧缓冲获取扩展特性,从所述片上内存中读取所述第二渲染结果,所述第二帧缓冲获取扩展特性用于扩展
GPU
从所述片上内存中读取所述深度信息的方式
。7.
根据权利要求4所述的方法,其特征在于,所述方法还包括:在几何渲染阶段,创建
...

【专利技术属性】
技术研发人员:朱梦哲
申请(专利权)人:腾讯科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1