CN116758208A - 全局光照渲染方法、装置、存储介质及电子设备 - Google Patents
全局光照渲染方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116758208A CN116758208A CN202310652713.5A CN202310652713A CN116758208A CN 116758208 A CN116758208 A CN 116758208A CN 202310652713 A CN202310652713 A CN 202310652713A CN 116758208 A CN116758208 A CN 116758208A
- Authority
- CN
- China
- Prior art keywords
- sampling
- reflection
- rendering
- image
- preset
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 139
- 238000005286 illumination Methods 0.000 title claims abstract description 124
- 238000000034 method Methods 0.000 title claims abstract description 53
- 239000000523 sample Substances 0.000 claims abstract description 117
- 238000005070 sampling Methods 0.000 claims description 158
- 230000007613 environmental effect Effects 0.000 claims description 28
- 238000004040 coloring Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 29
- 238000004364 calculation method Methods 0.000 abstract description 16
- 238000012545 processing Methods 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 8
- 230000003068 static effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 230000009975 flexible effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002310 reflectometry Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B20/00—Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
- Y02B20/40—Control techniques providing energy savings, e.g. smart controller or presence detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本公开提供一种全局光照渲染方法、装置、存储介质及电子设备,涉及图像处理技术领域,通过反射探针可以简单高效地捕捉场景的反射光信息,用以模拟全局光照,兼顾渲染效果的同时提高渲染效率,解决了在移动端等算力有限的设备上难以实时计算的问题。该全局光照渲染方法包括:确定目标场景中的反射探针;确定所述反射探针对应的预设区域范围中的环境光照信息,并根据所述环境光照信息,生成对应的环境立方体贴图;根据所述环境立方体贴图,得到所述目标场景中目标对象的全局光照渲染结果。
Description
技术领域
本公开涉及图像处理技术领域,具体地,涉及一种全局光照渲染方法、装置、存储介质及电子设备。
背景技术
在游戏、影视、AR(Augmented Reality,增强现实技术)和VR(Virtual Reality,虚拟现实技术)等应用场景中,通常会使用全局光照以生成具有真实感的图像和动画。全局光照是用于模拟光在物体表面的反射、折射和散射等光学现象,以实现真实感和逼真感的图像渲染。
相关技术中一般是用光线追踪来模拟全局光照效果。然而用光线追踪来计算光线在场景中的反射,要求对场景中每条光线进行逐个的追踪和计算。这项技术通常需要大量的计算资源和内存来支持,在移动端等算力有限的设备上难以实时支持。
发明内容
为克服相关技术中存在的问题,本公开提供一种全局光照渲染方法、装置、存储介质及电子设备。
根据本公开实施例的第一方面,提供一种全局光照渲染方法,包括:
确定目标场景中的反射探针;
确定所述反射探针对应的预设区域范围中的环境光照信息,并根据所述环境光照信息,生成对应的环境立方体贴图;
根据所述环境立方体贴图,得到所述目标场景中目标对象的全局光照渲染结果。
可选地,所述根据所述环境立方体贴图,得到所述目标场景中目标对象的全局光照渲染结果,包括:
按照不同的第一预设采样方式,对所述环境立方体贴图进行采样,得到漫反射采样数据和镜面反射采样数据;
根据所述漫反射采样数据计算漫反射方程,得到漫反射辐照度图;
根据所述镜面反射采样数据计算镜面反射方程,得到镜面反射图;
将所述漫反射辐照度图和所述镜面反射图输入基于物理的渲染模块中,对所述漫反射辐照度图和所述镜面反射图进行采样,得到目标采样数据,并根据所述目标采样数据,对所述目标场景中的所述目标对象进行着色,得到所述目标对象的全局光照渲染结果。
可选地,所述根据所述环境立方体贴图,得到所述目标场景中目标对象的全局光照渲染结果,还包括:
确定渲染模式,所述渲染模式包括每帧更新渲染模式、第一帧更新渲染模式和预烘焙渲染模式中的任一者;
所述将所述漫反射辐照度图和所述镜面反射图输入基于物理的渲染模块中,对所述漫反射辐照度图和所述镜面反射图进行采样,得到目标采样数据,并根据所述目标采样数据,对所述目标场景中的所述目标对象进行着色,得到所述目标对象的全局光照渲染结果,包括:
将所述漫反射辐照度图和所述镜面反射图输入基于物理的渲染模块中,按照所述渲染模式,对所述漫反射辐照度图和所述镜面反射图进行采样,得到目标采样数据,并根据所述目标采样数据,对所述目标场景中的所述目标对象进行着色,得到所述目标对象的全局光照渲染结果。
可选地,所述对所述环境立方体贴图进行采样,包括:
根据第二预设采样方式对环境立方体贴图进行采样,所述第二预设采样方式包括基于方向向量的采样方式和基于盒体投影的采样方式;
其中,所述基于方向向量的采样方式用于确定预设的方向向量,根据所述方向向量得到所述方向向量与所述环境立方体贴图的第一交点,并对所述第一交点处的像素进行采样;
所述基于盒体投影的采样方式用于确定所述反射探针对应的一盒体,并根据所述盒体,得到所述环境立方体贴图上任一像素的反射光线与所述盒体的第二交点,根据所述第二交点和所述盒体中心得到盒体采样向量,根据所述盒体采样向量进行采样。
可选地,所述确定所述反射探针对应的预设区域范围中的环境光照信息,包括:
确定所述环境立方体贴图的预设图像分辨率;
根据所述预设图像分辨率,确定所述反射探针对应的预设区域范围中的环境光照信息。
可选地,所述反射探针为多个,且所述反射探针对应的所述预设区域范围之间存在重叠部分,所述确定所述反射探针对应的预设区域范围中的环境光照信息,包括:
针对所述反射探针对与其他反射探针的重叠区域,根据预设混合方式,将所述反射探针和所述其他反射探针在所述重叠区域内的所述环境光照信息进行混合,其中,所述重叠区域为所述反射探针对应的预设区域范围与所述其他反射探针对应的预设区域范围之间重叠的区域;
针对所述反射探针与所述其他反射探针的非重叠区域,确定所述反射探针在所述非重叠区域的所述环境光照信息,其中所述非重叠区域为所述反射探针对应的预设区域范围中除所述重叠区域外的区域。
根据本公开实施例的第二方面,提供一种全局光照渲染装置,包括:
光照信息确定模块,用于确定目标场景中的反射探针,以及确定所述反射探针对应的预设区域范围中的环境光照信息;
立方体贴图生成模块,用于根据所述环境光照信息,生成对应的环境立方体贴图;
光照渲染模块,用于根据所述环境立方体贴图,得到所述目标场景中目标对象的全局光照渲染结果。
可选地,所述光照渲染模块用于:
按照不同的预设采样值,对所述环境立方体贴图进行采样,得到漫反射采样数据和镜面反射采样数据;
根据所述漫反射采样数据计算漫反射方程,得到漫反射辐照度图;
根据所述镜面反射采样数据计算镜面反射方程,得到镜面反射图;
根据所述漫反射辐照度图和所述镜面反射图,得到所述目标场景中目标对象的全局光照渲染结果。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的全局光照渲染方法的步骤。
根据本公开实施例的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所提供的全局光照渲染方法的步骤。
本公开的实施例提供的技术方案可以有以下有益效果:通过反射探针可以简单高效地捕捉场景的反射光信息,用以模拟全局光照,兼顾渲染效果的同时可以提高渲染效率,可以在移动端等算力有限的设备上实时计算。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种全局光照渲染方法的流程图;
图2是根据一示例性实施例示出的一种全局光照渲染装置的框图;
图3是根据一示例性实施例示出的一种用于全局光照渲染的装置的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
在游戏制作、电影特效、AR和VR等应用场景中,通常会使用全局光照以生成具有真实感的图像和动画。全局光照是用于模拟光在物体表面的反射、折射和散射等光学现象,以实现真实感和逼真感的图像渲染。
相关技术中一般是用光线追踪或光栅化技术来模拟全局光照效果。光线追踪能够达到的视觉真实感会高于传统的光栅化技术,但计算复杂度也更大,所以通常用于离线渲染。用光线追踪来计算光线在场景中的反射,要求对场景中每条光线进行逐个的追踪和计算。这项技术通常需要大量的计算资源和内存来支持,在移动端等算力有限的设备上难以实时支持。
移动端等算力有限的设备难以实时支持光线追踪有以下几个原因:1)计算资源有限:相对于台式机或笔记本等大型计算机的处理能力较弱,难以同时处理大量复杂的光线追踪计算。2)内存限制:光线追踪需要存储大量的中间变量和临时数据,导致内存消耗较高,而普通设备的内存一般比较有限,可能无法满足光线追踪的需求。3)算法复杂度高:光线追踪中的计算需要使用多个复杂的算法和公式,这导致了运行速度较慢,而在普通设备上,由于计算资源的限制,很难实现实时渲染。4)芯片技术限制:普通设备的芯片技术较落后,集成的图形处理器相对于高端显卡存在一定的劣势,这也会限制光线追踪在普通设备上的实时支持。
有鉴于此,本公开提供一种图全局光照渲染方法、装置、存储介质及电子设备,通过反射探针可以简单高效地捕捉场景的反射光信息,用以模拟全局光照,兼顾渲染效果的同时可以提高渲染效率,解决了在移动端等算力有限的设备上难以实时计算的问题。
下面对本公开提供的全局光照渲染方法进行说明。
图1是根据一示例性实施例示出的一种全局光照渲染方法的流程图,如图1所示,该全局光照渲染方法包括以下步骤:
在步骤S101中,确定目标场景中的反射探针。
在步骤S102中,确定反射探针对应的预设区域范围中的环境光照信息,并根据环境光照信息,生成对应的环境立方体贴图。
在步骤S103中,根据环境立方体贴图,得到目标场景中目标对象的全局光照渲染结果。
应当理解的是,目标场景一般为计算机模拟的虚拟3D场景。反射探针是用来捕捉场景中环境光照信息的一种技术,它通过采集静态或动态的环境光数据,来计算环境光反射效果。反射探针通常由一个球形或立方体状的探头和一个虚拟相机组成,探头用于采集环境光数据,虚拟相机则用于对采集到的数据进行处理。上述的反射效果是指环境反射到探头的光照效果,探头可以自动采集或指定特定的区域,并记录下该区域在不同位置和角度下的环境光照强度、颜色和反射率等信息。
用户可以根据需要调整反射探针覆盖的区域大小,区域越小最终渲染成像的效果越好,从而实现灵活的效果控制。反射探针会以各自的位置作为基准,采集环境光照信息,并这些信息输出到环境立方体贴图中,以便后续计算漫反射辐照度和计算镜面反射IBL(Image-based Lighting,基于图像的照明)的过程使用。
上述输出过程一般包括:1)创建空的立方体贴图:首先需要在内存或者显存上分配一块空间,用于保存将要输出的环境立方体贴图。通常这个空间的大小和分辨率会根据实际需求进行设置。其中,立方体贴图是一个6面的立方体纹理,每个面分别对应立方体的一个面(前、后、左、右、上和下)。2)采样:反射探针会在它所覆盖的区域内采样,记录下每个方向上的环境光照强度和颜色信息。3)更新:根据采样得到的信息,更新立方体贴图中对应方向的像素值。通常这个过程会通过插值等方法将多个采样点的数据融合在一起,以避免因采样精度等原因造成的锯齿和失真等问题。4)重复:反射探针通常会周期性地执行采样和更新操作,并根据需要更新环境贴图。这样可以确保立方体贴图始终反映出场景中的实时光照条件,提供更加真实的渲染效果。
另外应当理解的是,全局光照是直接光照和间接光照的叠加。其中直接光照为光源直接照射到物体上,经过一次弹射后被反射进视线的光照;间接光照为光经过多次弹射(至少大于等于两次)后进入视线的光照。一般来说,直接光的模拟是简单的,而间接光的模拟是最复杂的。
全局光照可以更真实地模拟场景中的光照情况,因为它能够将光线在场景中反射和散射多次,并将多个反射光线的贡献相加,使得最终的渲染结果更加接近真实世界中的光照效果。本公开中的反射探针可以捕捉场景周围物体反射的环境光照信息,环境中的反射光是间接光的主要部分。
通过反射探针计算实时反射光照和间接光照,可以简单高效地捕捉场景的环境光照信息,用以模拟全局光照,兼顾渲染效果的同时可以提高渲染效率。
为了使得本领域技术人员更加理解本公开提供的全局光照渲染方式,下面对上述各步骤进行详细举例说明。
在一种可能的方式中,步骤S103可以包括:
按照不同的预设采样值,对环境立方体贴图进行采样,得到漫反射采样数据和镜面反射采样数据;
根据漫反射采样数据计算漫反射方程,得到漫反射辐照度图;
根据镜面反射采样数据计算镜面反射方程,得到镜面反射图;
将漫反射辐照度图和镜面反射图输入基于物理的渲染模块中,对漫反射辐照度图和镜面反射图进行采样,得到目标采样数据,并根据目标采样数据,对目标场景中的目标对象进行着色,得到目标对象的全局光照渲染结果。
应当理解的是,计算漫反射辐照度和计算镜面反射属于IBL技术的两个部分。IBL的工作原理是,将环境立方体贴图存储的周围环境整体作为一个大光源,将环境立方体贴图的每一像素视为小光源,在反射方程中直接使用每一像素。这种方式可以有效地捕捉环境的全局光照,使目标对象的表面具有更真实的环境反射信息。将这种IBL技术应用于PBR(Physically Based Rendering,基于物理的渲染)中,则能得到较为逼真的渲染效果。
另外应当理解的是,第一预设采样方式在计算漫反射辐照度和计算镜面反射IBL时的是不同的。其中,计算漫反射辐照度时,需要对环境立方体贴图进行均匀采样,以获取物体表面在周围环境中反射的漫反射光照。这种采样方式通常使用球面坐标系下的方向向量来进行采样,例如在一些PBR引擎中,常用的是在半球上均匀采样的方法。
另一方面,计算镜面反射IBL时,需要对环境立方体贴图进行更加精细的采样,以获取物体表面反射的镜面光照。这种采样方式需要对物体和观察的位置进行计算,然后使用球面坐标系下的反射向量来进行采样,以获取反射光照。这种采样方式通常使用重要性采样来进行,以提高采样效率和精度。
按照上述采样方式可以得到对应的采样数据,根据对应的采样数据计算反射方程。通常为了高效地计算反射方程,首先进行预处理:将反射方程分为漫反射和镜面反射两部分。上述反射方程为:
其中,p为着色点;ωo为出射方向,是着色点与相机的连线方向;Lo(p,ωo)为着色点p上,沿出射方向ωo的着色结果;kd为漫反射率;c为常数项;ωi为入射方向;Li(p,ωi)为着色点p上,沿着入射方向ωi的光源强度;n为着色点的法线方向;ks为镜面反射率,且kd+ks=1.0;D为微表面BRDF(Bidirectional Reflectance Distribution Function,双向反射分布函数)模型的法线分布函数项;F为微表面BRDF模型的菲涅耳项;G为微表面BRDF模型的几何项。
上述方程中为漫反射方程为,其中,Ld(p)为着色结果的漫反射分量;/>为镜面反射方程,其中Ls(p,ωo)为着色结果的镜面反射分量。
上述公式为理论公式,实际计算中,对于漫反射,BRDF项为常数,在公式中提到积分外部之后,光照项的积分通过预计算的方式保存到一张纹理中。对于镜面反射,通过分割求和策略,将BRDF与光照项相乘,将二者乘积的积分近似转换成积分的乘积。对于BRDF项的积分和光照项的积分分别预计算,分别保存到两张纹理图中,即漫反射辐照度图和镜面反射图。
另外应当理解的是,PBR通过模拟光线在物体表面的相互作用过程,计算出物体表面的光照和材质等特征,并将这些特征用于渲染真实感更强的图像。
使用IBL技术对环境立方体贴图进一步处理得到中间结果贴图,再将中间结果贴图输入PBR模块中进行渲染,可以对反射探针提供的立方体贴图进行进一步计算得到更真实光照效果,更充分地表现环境光照信息。
在一种可能的方式中,步骤S103还可以包括:
确定渲染模式,渲染模式包括每帧更新渲染模式、第一帧更新渲染模式和预烘焙渲染模式中的任一者;
将漫反射辐照度图和镜面反射图输入基于物理的渲染模块中,对漫反射辐照度图和镜面反射图进行采样,得到目标采样数据,并根据目标采样数据,对目标场景中的目标对象进行着色,得到目标对象的全局光照渲染结果,可以包括:
将漫反射辐照度图和镜面反射图输入基于物理的渲染模块中,按照渲染模式,对漫反射辐照度图和镜面反射图进行采样,得到目标采样数据,并根据目标采样数据,对目标场景中的目标对象进行着色,得到目标对象的全局光照渲染结果。
应当理解的是,每帧更新是指在连续的时间帧中,不断更新场景中的元素和渲染结果,以形成动态的图像或动画。每帧更新过程中,场景中的元素可能会发生变化,比如物体的位置、光源的强度、虚拟相机的角度等,需要重新计算和渲染。这种连续的帧更新过程可以形成流畅的动画效果。
第一帧更新是指渲染开始前,所有元素都未被渲染过的第一帧图像。通常第一帧更新适用于静态场景的渲染,此种场景下多为静态信息,其中目标对象不变。则在静态时间帧中,不用对每一帧都进行计算,这样可以提高渲染效率,节省算力。
预烘焙是指在渲染场景前,预先计算一些光照等环境因素,之后渲染器自动生成贴图,存储有计算的光照和着色信息,并以纹理的形式提供给后续的渲染过程使用。通常,预烘焙用于优化静态场景的渲染,并且不用再进行实时计算,可以极大提高渲染效率。
本公开提供上述三种渲染模式,可以由用户对要渲染的对象采用适应性的渲染模式,可以提高渲染效率同时保证渲染效果。
在一种可能的方式中,对环境立方体贴图进行采样可以包括以下步骤:
根据第二预设采样方式对环境立方体贴图进行采样,第二预设采样方式包括基于方向向量的采样方式和基于盒体投影的采样方式;
其中,基于方向向量的采样方式用于确定预设的方向向量,根据方向向量得到方向向量与环境立方体贴图的第一交点,并对第一交点处的像素进行采样;
基于盒体投影的采样方式用于确定反射探针对应的一盒体,并根据盒体,得到环境立方体贴图上任一像素的反射光线与盒体的第二交点,根据第二交点和盒体中心得到盒体采样向量,根据盒体采样向量进行采样。
应当理解的是,方向向量指的是空间中的一个方向,通常用三维向量表示。在采样中,方向向量通常指的是从一个指定的位置或方向开始,根据视线方向、着色点处的各种数据等信息综合计算得到的一个方向向量。例如,在渲染球体时,可以通过从球体表面的任意一点计算得到一个方向向量,以实现光线投射等效果。在本实施例中,方向向量可以为以反射探针对应的预设位置为原点,且有预设方向的射线。也即是说,基于方向向量对应的采样盒体是和对应的反射探针的预设区域重合的,其向量的起点为采样盒体的中心。一般地,用固定的方向向量去采样,虽然采样方式简单效率高,但结果有偏差。
因此在未开启盒体投影时,场景中可能会导致失真和僵硬的画面表现。所以本公开提供了基于盒体投影的采样方式,它考虑反射点位置及反射方向,采样的结果更准确,可以得到更真实的渲染效果。该盒体的位置、大小和旋转方向可以由用户设置,一般会适配方形场景边界。
本公开实施例该方法提供上述两种采样方式,用户可以根据场景的不同位置对该位置处的反射探针选择对应的采样方式。例如,在场景中较远的位置,由于远处的场景没有很分明的细节,可以选择基于方向向量的采样方式。又例如,在场景中心且具有较多细节的位置,可以选择基于盒体投影的采样方式。对于具体的一个反射探针来说,选定基于盒体投影采样和基于方向向量采样其中一者进行采样。如果有多个反射探针,可以根据用户需要,对其中一些反射探针选用基于方向向量采样,对另一些选用基于盒体投影采样。在涉及所有反射探针的渲染过程中,有选择地使用不同的采样方式,既可以增强渲染效果又可以提高渲染效率。
在一种可能的方式中,确定反射探针对应的预设区域范围中的环境光照信息,可以包括以下步骤:
确定所述环境立方体贴图的预设图像分辨率;
根据预设图像分辨率,确定反射探针对应的预设区域范围中的环境光照信息。
应当理解的是,环境立方体贴图的图像分辨率设置得越高,最终的渲染成像效果越好,但是相应地渲染效率越低,用户可以根据需要设置合适的图像分辨率,以便兼顾渲染效果与渲染效率。
在一种可能的方式中,反射探针为多个,且反射探针对应的预设区域范围之间存在重叠部分,确定反射探针对应的预设区域范围中的环境光照信息,可以包括以下步骤:
针对反射探针对与其他反射探针的重叠区域,根据预设混合方式,将反射探针和其他反射探针在重叠区域内的环境光照信息进行混合,其中,重叠区域为反射探针对应的预设区域范围与其他反射探针对应的预设区域范围之间重叠的区域;
针对反射探针与其他反射探针的非重叠区域,确定反射探针在非重叠区域的环境光照信息,其中非重叠区域为反射探针对应的预设区域范围中除重叠区域外的区域。
应当理解的是,当场景中存在多个反射探针同时影响某个被渲染的物体时,还需要对多个反射探针的重叠区域中的多个采样结果以一定的方式进行混合,将混合后的结果用于后续的漫反射计算和镜面反射计算,混合方式可由用户设置。例如,比较多个反射探针的采样结果,选择成像效果最好的反射探针的采样结果;或者对多个反射探针的采样结果进行加权平均。另外,反射探针的非重叠区域的采样结果则直接用于后续的漫反射计算和镜面反射计算。
本公开实施例提供对覆盖区域部分重叠的反射探针提供混合采样的方式,可以更加细致地捕捉和处理环境光照信息,增强最终的渲染效果。
在上述任一全局光照渲染方法中,反射探针可以实现以下有益效果:1)精度高:反射探针可以捕获周围环境光照的细节,从而实现较为真实的反射和光照效果。2)实时性强:反射探针可以在实时渲染中使用,因此可以实时响应场景变化,从而实现更加流畅的渲染效果。3)灵活性高:反射探针可以根据需要进行配置和调整,例如根据需要调整反射探针覆盖的区域大小、混合方式、目标对象的图像分辨率、采样方式等参数,从而实现灵活的效果控制。4)节省性能:使用反射探针可以避免在每个物体上独立计算反射和间接光照效果,从而节省计算资源和提高渲染效率。5)易于实现:相比光线追踪等技术,无需使用复杂的算法和公式,而使用反射探针实现实时反射和光照效果相对而言是一种较为容易的方法。
通过上述任一全局光照渲染方法,通过反射探针可以简单高效地捕捉场景的反射光信息,用以模拟全局光照,兼顾渲染效果的同时可以提高渲染效率,解决了在移动端等算力有限的设备上难以实时计算的问题。
图2是根据一示例性实施例示出的一种全局光照渲染装置框图。参照图2,该装置包括:
光照信息确定模块201,用于确定目标场景中的反射探针,以及确定反射探针对应的预设区域范围中的环境光照信息;
立方体贴图生成模块202,用于根据环境光照信息,生成对应的环境立方体贴图;
光照渲染模块203,用于根据环境立方体贴图,得到目标场景中目标对象的全局光照渲染结果。
可选地,光照渲染模块203,包括:
采样模块,用于按照不同的第一预设采样方式,分别对环境立方体贴图进行采样,得到漫反射采样数据和镜面反射采样数据;
漫反射计算模块,用于根据漫反射采样数据计算漫反射方程,得到漫反射辐照度图;
镜面反射计算模块,用于根据镜面反射采样数据计算镜面反射方程,得到镜面反射图;
渲染模块,用于将漫反射辐照度图和镜面反射图输入基于物理的渲染模块中,对漫反射辐照度图和镜面反射图进行采样,得到目标采样数据,并根据目标采样数据,对目标场景中的目标对象进行着色,得到目标对象的全局光照渲染结果。
可选地,所述全局光照渲染装置,还包括:
确定渲染模式模块,用于确定渲染模式,渲染模式包括每帧更新渲染模式、第一帧更新渲染模式和预烘焙渲染模式中的任一者;
其中,渲染模块,用于将漫反射辐照度图和镜面反射图输入基于物理的渲染模块中,按照渲染模式,对漫反射辐照度图和镜面反射图进行采样,得到目标采样数据,并根据目标采样数据,对目标场景中的目标对象进行着色,得到目标对象的全局光照渲染结果。
可选地,采样模块,用于根据第二预设采样方式对环境立方体贴图进行采样,第二预设采样方式包括基于方向向量的采样方式和基于盒体投影的采样方式;
其中,基于方向向量的采样方式用于确定预设的方向向量,根据方向向量得到方向向量与环境立方体贴图的第一交点,并对第一交点处的像素进行采样;
基于盒体投影的采样方式用于确定反射探针对应的一盒体,并根据盒体,得到环境立方体贴图上任一像素的反射光线与盒体的第二交点,根据第二交点和盒体中心得到盒体采样向量,根据盒体采样向量进行采样。
可选地,光照信息确定模块201,用于确定环境立方体贴图的预设图像分辨率;根据预设图像分辨率,确定反射探针对应的预设区域范围中的环境光照信息。
可选地,反射探针为多个,且反射探针对应的预设区域范围之间存在重叠部分,光照信息确定模块201,用于:
针对反射探针对与其他反射探针的重叠区域,根据预设混合方式,将反射探针和其他反射探针在重叠区域内的环境光照信息进行混合,其中,重叠区域为反射探针对应的预设区域范围与其他反射探针对应的预设区域范围之间重叠的区域;
针对反射探针与其他反射探针的非重叠区域,确定反射探针在非重叠区域的环境光照信息,其中非重叠区域为反射探针对应的预设区域范围中除重叠区域外的区域。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
基于同一构思,本公开还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一项全局光照渲染方法的步骤。图3是根据一示例性实施例示出的一种电子设备300的框图。如图3所示,该电子设备300可以包括:处理器301,存储器302。该电子设备300还可以包括多媒体组件303,输入/输出(I/O)接口304,以及通信组件305中的一者或多者。
其中,处理器301用于控制该电子设备300的整体操作,以完成上述的全局光照渲染方法中的全部或部分步骤。存储器302用于存储各种类型的数据以支持在该电子设备300的操作,这些数据例如可以包括用于在该电子设备300上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器302可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件303可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器302或通过通信组件305发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口304为处理器301和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件305用于该电子设备300与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件305可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备300可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的全局光照渲染方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的全局光照渲染方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器302,上述程序指令可由电子设备300的处理器301执行以完成上述的全局光照渲染方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种全局光照渲染方法,其特征在于,所述方法包括:
确定目标场景中的反射探针;
确定所述反射探针对应的预设区域范围中的环境光照信息,并根据所述环境光照信息,生成对应的环境立方体贴图;
根据所述环境立方体贴图,得到所述目标场景中目标对象的全局光照渲染结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述环境立方体贴图,得到所述目标场景中目标对象的全局光照渲染结果,包括:
按照不同的第一预设采样方式,分别对所述环境立方体贴图进行采样,得到漫反射采样数据和镜面反射采样数据;
根据所述漫反射采样数据计算漫反射方程,得到漫反射辐照度图;
根据所述镜面反射采样数据计算镜面反射方程,得到镜面反射图;
将所述漫反射辐照度图和所述镜面反射图输入基于物理的渲染模块中,对所述漫反射辐照度图和所述镜面反射图进行采样,得到目标采样数据,并根据所述目标采样数据,对所述目标场景中的所述目标对象进行着色,得到所述目标对象的全局光照渲染结果。
3.根据权利要求2所述的方法,其特征在于,还包括:
确定渲染模式,所述渲染模式包括每帧更新渲染模式、第一帧更新渲染模式和预烘焙渲染模式中的任一者;
所述将所述漫反射辐照度图和所述镜面反射图输入基于物理的渲染模块中,对所述漫反射辐照度图和所述镜面反射图进行采样,得到目标采样数据,并根据所述目标采样数据,对所述目标场景中的所述目标对象进行着色,得到所述目标对象的全局光照渲染结果,包括:
将所述漫反射辐照度图和所述镜面反射图输入基于物理的渲染模块中,按照所述渲染模式,对所述漫反射辐照度图和所述镜面反射图进行采样,得到目标采样数据,并根据所述目标采样数据,对所述目标场景中的所述目标对象进行着色,得到所述目标对象的全局光照渲染结果。
4.根据权利要求2所述的方法,其特征在于,所述对所述环境立方体贴图进行采样,包括:
根据第二预设采样方式对环境立方体贴图进行采样,所述第二预设采样方式包括基于方向向量的采样方式和基于盒体投影的采样方式;
其中,所述基于方向向量的采样方式用于确定预设的方向向量,根据所述方向向量得到所述方向向量与所述环境立方体贴图的第一交点,并对所述第一交点处的像素进行采样;
所述基于盒体投影的采样方式用于确定所述反射探针对应的一盒体,并根据所述盒体,得到所述环境立方体贴图上任一像素的反射光线与所述盒体的第二交点,根据所述第二交点和所述盒体中心得到盒体采样向量,根据所述盒体采样向量进行采样。
5.根据权利要求1-4任一所述的方法,其特征在于,所述确定所述反射探针对应的预设区域范围中的环境光照信息,包括:
确定所述环境立方体贴图的预设图像分辨率;
根据所述预设图像分辨率,确定所述反射探针对应的预设区域范围中的环境光照信息。
6.根据权利要求1-4任一所述的方法,其特征在于,所述反射探针为多个,且所述反射探针对应的所述预设区域范围之间存在重叠部分,所述确定所述反射探针对应的预设区域范围中的环境光照信息,包括:
针对所述反射探针对与其他反射探针的重叠区域,根据预设混合方式,将所述反射探针和所述其他反射探针在所述重叠区域内的所述环境光照信息进行混合,其中,所述重叠区域为所述反射探针对应的预设区域范围与所述其他反射探针对应的预设区域范围之间重叠的区域;
针对所述反射探针与所述其他反射探针的非重叠区域,确定所述反射探针在所述非重叠区域的所述环境光照信息,其中所述非重叠区域为所述反射探针对应的预设区域范围中除所述重叠区域外的区域。
7.一种全局光照渲染装置,其特征在于,所述装置包括:
光照信息确定模块,用于确定目标场景中的反射探针,以及确定所述反射探针对应的预设区域范围中的环境光照信息;
立方体贴图生成模块,用于根据所述环境光照信息,生成对应的环境立方体贴图;
光照渲染模块,用于根据所述环境立方体贴图,得到所述目标场景中目标对象的全局光照渲染结果。
8.根据权利要求7所述的装置,其特征在于,所述光照渲染模块用于:
按照不同的预设采样值,对所述环境立方体贴图进行采样,得到漫反射采样数据和镜面反射采样数据;
根据所述漫反射采样数据计算漫反射方程,得到漫反射辐照度图;
根据所述镜面反射采样数据计算镜面反射方程,得到镜面反射图;
根据所述漫反射辐照度图和所述镜面反射图,得到所述目标场景中目标对象的全局光照渲染结果。
9.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310652713.5A CN116758208A (zh) | 2023-06-02 | 2023-06-02 | 全局光照渲染方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310652713.5A CN116758208A (zh) | 2023-06-02 | 2023-06-02 | 全局光照渲染方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116758208A true CN116758208A (zh) | 2023-09-15 |
Family
ID=87952510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310652713.5A Pending CN116758208A (zh) | 2023-06-02 | 2023-06-02 | 全局光照渲染方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116758208A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117788677A (zh) * | 2023-12-29 | 2024-03-29 | 摩尔线程智能科技(上海)有限责任公司 | 全局光照确定方法、装置及存储介质 |
CN117876572A (zh) * | 2024-03-13 | 2024-04-12 | 腾讯科技(深圳)有限公司 | 光照渲染方法、装置、设备及存储介质 |
-
2023
- 2023-06-02 CN CN202310652713.5A patent/CN116758208A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117788677A (zh) * | 2023-12-29 | 2024-03-29 | 摩尔线程智能科技(上海)有限责任公司 | 全局光照确定方法、装置及存储介质 |
CN117876572A (zh) * | 2024-03-13 | 2024-04-12 | 腾讯科技(深圳)有限公司 | 光照渲染方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7212207B2 (en) | Method and apparatus for real-time global illumination incorporating stream processor based hybrid ray tracing | |
US10699468B2 (en) | Method for non-planar specular reflections in hybrid ray tracing | |
US7583264B2 (en) | Apparatus and program for image generation | |
CN116758208A (zh) | 全局光照渲染方法、装置、存储介质及电子设备 | |
US20240029338A1 (en) | Ray-tracing with irradiance caches | |
EP4080461A1 (en) | Image rendering method and apparatus | |
US8854392B2 (en) | Circular scratch shader | |
US20230230311A1 (en) | Rendering Method and Apparatus, and Device | |
CN115965727A (zh) | 图像渲染方法、装置、设备及介质 | |
CN112819941A (zh) | 渲染水体面的方法、装置、设备和计算机可读存储介质 | |
US20220309735A1 (en) | Image rendering method and apparatus | |
US11574449B1 (en) | Methods and systems for off-device image frame rendering in augmented reality applications | |
CN116740253B (zh) | 一种光线追踪方法和电子设备 | |
US20180005432A1 (en) | Shading Using Multiple Texture Maps | |
JP2007272847A (ja) | 照明シミュレーション方法及び画像合成方法 | |
US20220309740A1 (en) | Image rendering method and apparatus | |
AU2017228700A1 (en) | System and method of rendering a surface | |
CN116152420A (zh) | 一种渲染方法及装置 | |
CN115690284A (zh) | 一种渲染方法、装置及存储介质 | |
Schwandt | High-Quality Illumination of Virtual Objects Based on an Environment Estimation in Mixed Reality Applications | |
CN114245907A (zh) | 自动曝光的光线追踪 | |
US20230090732A1 (en) | System and method for real-time ray tracing in a 3d environment | |
CN116681814B (zh) | 一种图像渲染方法和电子设备 | |
WO2023197689A1 (zh) | 一种数据处理的方法、系统和设备 | |
US20240203030A1 (en) | 3d model rendering method and apparatus, electronic device, and storage medium |
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 |