掌桥专利:专业的专利平台
掌桥专利
首页

基于光源聚类的自适应多重重要性采样

文献发布时间:2024-04-18 19:58:26


基于光源聚类的自适应多重重要性采样

技术领域

本发明属于光源渲染技术领域,具体涉及到一种基于光源聚类的自适应多重重要性采样。

背景技术

在影视制作或室内设计领域,为了达到照片级真实感渲染效果,对复杂的室内场景进行渲染时需要基于场景中的全局光照进行计算,在考虑直接光照的同时,兼顾间接光照。路径追踪算法是一种考虑到全局光照的渲染算法,因其高质量无偏的渲染效果被广泛应用。但是,随着设计师对场景中光照条件的需求越来越多,室内场景中的光源数量也不断攀升,随着场景中光源数量的增多,渲染计算过程中,每个着色点的光照计算量也大幅增加,这就直接导致渲染效率的降低。在对多光源场景进行渲染时,选择对最终的渲染结果贡献较大的光线路径显得尤为重要,目前在渲染算法中普遍采用重要性采样方法提高渲染效率。

基于重要性的采样方法主要有如下三类:基于光源的采样方法,这种方法旨在增加在光源方向的立体角上的采样数,因为这些样本比其它方向的样本对最终的渲染结果图有更重要的价值;基于双向反射分布函数(Bidirectional Reflectance DistributionFunction,BRDF)的采样方法,这种采样方法旨在根据BRDF函数选择能量分配更多的出射光线的方向;多重重要性采样方法,这种采样方法旨在结合多个单重重要性的采样方法,进一步提高采样质量。鉴于单重重要性采样只涉及对单个因素的考量,具有局限性,多重重要性采样的思想是融合多种采样策略,能够在各种三维场景的渲染计算中高质量采样,因此,基于多种重要性思想的采样策略得到广泛应用。

传统的重要性采样方法在多光源场景中,计算某一着色点的直接光照贡献存在的问题主要是:第一,在渲染计算过程中计算某一着色点的直接光照贡献时,需要遍历每个光源,这极大的增加了计算量,但是并非所有光源对于此着色点可见,且只有少数光源对当前着色点的着色计算具有较大贡献;第二,光源重要性采样更适用于光源较小并且物体表面较粗糙的情况,因为光源越小可采样的方向越少,而物体越粗糙基于光源采样的方向就更易在物体着色点处的BRDF lobe范围内,BRDF重要性采样适用于光源较大并且物体表面光滑的情况,因为物体表面越光滑,基于BRDF采样的方向可选范围也就越小,而大光源使得基于BRDF采样的方向更易击中光源;传统的多重重要性采样方法主要是融合了基于光源的重要性采样和基于BRDF的重要性采样这两种采样方法,但是在渲染多光源室内场景时,这两种方法均不易采样到一个能够击中光源并且BRDF值较大的光线方向。

发明内容

针对上述问题,本发明的主要目的在于设计一种基于光源聚类的自适应多重重要性采样,将面向BRDF的光源重要性采样方法引入到传统的多重重要性采样方法中,并自适应调整不同采样策略的采样数目,解决渲染图像的质量和渲染效率的技术问题。

为了实现上述目的本发明采用如下技术方案:

基于光源聚类的自适应多重重要性采样方法,该方法将场景中的光源采用光源树的形式进行组织管理,并依据渲染需要进行调用,具体包括如下步骤:

步骤1:构建基于层次包围盒的光源树;

步骤2:遍历光源树,构建面向着色点的光源割;

步骤3:对光源方向进行自适应多重重要性采样。

作为本发明进一步的描述,步骤1中,所述的光源树为二叉树,其构建的方式包括:

步骤1.1:定义所述光源树中的结点;

所述光源树的每个结点中,均存储一个包围盒、一个表示光源朝向的方向锥、所有被包含光源的辐射功率、所有光源的起始位置、指向左子树的指针以及指向右子树的指针;

步骤1.2:基于对光源树中结点的定义,分割光源树中结点并构建得到光源树。

作为本发明进一步的描述,步骤1.1中,所述的包围盒表示沿坐标轴方向能够包围所有光源的最小长方体;

所述的方向锥表示光源的辐射范围,所述方向锥的结构体中包含三个属性,分别为中心轴、光源簇内光源的法线范围、光源簇内光源的辐射范围。

作为本发明进一步的描述,步骤1.2中,采用表面积朝向启发式算法分割光源树中结点,具体为:

S1:计算不同分割位置的代价;

S2:选择代价最小的分割位置,并形成左子树和右子树;

S3:直到步骤1.1的结点中只包含一个光源或者分割后的代价与不分割的代价相等,则分割完毕得到光源树。

作为本发明进一步的描述,步骤2中,所述的光源割为遍历光源树过程中,所触及的最深层的一系列光源簇;

构建面向着色点的光源割为自顶向下遍历光源树。

作为本发明进一步的描述,步骤3中,所述的自适应多重重要性采样包括如下步骤:

步骤3.1:自适应调整光源重要性采样、BRDF重要性采样以及面向BRDF的光源重要性三种采样策略的采样数目;

步骤3.2:采用多重重要性采样中的幂自适应法计算不同采样策略的权值,平衡步骤3.1中不同采样策略的辐射度计算结果;

步骤3.3:针对不同采样策略的辐射度计算结果乘以对应的权值,并进行加和运算,进而得到最终的着色点辐射度。

一种基于光源聚类的自适应多重重要性采样系统,包括:

处理器,其被配置为:获取多光源场景中的光源,并构建光源树,以存储场景中不同深度的光源。

更进一步的,所述的处理器,还被配置为:通过遍历光源树并构建面向着色点的光源割,依据当前着色点重要性更高的光源进行自适应多重重要性采样,以满足多光源场景的渲染。

一种计算机可读存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时,使所述一个或多个计算机执行包括下述的操作:

接收场景的数据,其中,所述的场景包括一个或多个光源;

接收用于使用了多种采样技术的多重重要性采样方法渲染所述场景的图像的请求,其中,每种采样策略都使用幂自适应法来计算其权值;

通过每种采样策略的渲染结果乘以对应的权重,并进行加和运算得到最终的渲染结果。

更进一步的,计算机可读存储介质,还包括在分割光源树中结点的过程中,计算不同分割位置时,兼顾光源的辐射功率、包围盒的表面积以及方向锥的表面积。

相对于现有技术,本发明的技术效果为:

本发明提供了一种基于光源聚类的自适应多重重要性采样,将场景中的大量光源采用光源树进行组织管理,在光源树中不同深度的结点会存储不同数量大小的光源,在渲染过程中通过遍历光源树选择对当前着色点重要性更高的光源,减少渲染过程中光源的个数,从而提高渲染的效率;此外,通过多重重要性采样方法的配合,全面考虑光源与BRDF对当前着色点的重要性并更加高效的选择对着色点贡献更大的光线路径,提高采样的光线路径的质量,保证了渲染的质量。

附图说明

图1为本发明采样方法的总体流程示意图;

图2为本发明中方向锥的结构示意图;

图3为本发明中光源树的结构示意图;

图4为本发明中基于一个光源树构建的不同光源割的示意图。

实施方式

下面结合附图对本发明进行详细描述:

在本发明的一种实施例中,公开一种基于光源聚类的自适应多重重要性采样方法,参考图1-4所示,该方法将场景中的光源采用光源树的形式进行组织管理,并依据渲染需要进行调用,具体包括如下步骤:

步骤1:构建基于层次包围盒( Bounding Volume Hierarchies ,BVH)的光源树;

步骤2:遍历光源树,构建面向着色点的光源割;

步骤3:对光源方向进行自适应多重重要性采样。

具体的,本实施例,针对上述的步骤进行具体分析,内容公开如下:

1.在步骤1中,光源树的本质为二叉树,其构建的方式包括:

步骤1.1:定义光源树中的结点;

光源树的每个结点中,均存储一个包围盒、一个表示光源朝向的方向锥(它是所有被包含的光源的表面法线的角包围锥)、所有被包含光源的辐射功率、包含所有光源的起始位置、指向左子树的指针以及指向右子树的指针。

其中,上述的包围盒表示沿坐标轴方向能够包围所有光源的最小长方体,该包围盒类似于加速结构BVH中的包围盒,不同之处为BVH中的包围盒计算的是三维场景中一组位置相近的物体的包围盒,而本实施例,光源树中的包围盒计算的是一组位置相近的光源的包围盒。

上述的方向锥如图2所示,方向锥的结构体中包含三个属性,分别为中心轴axis和两个角度θo、θe;其中,θo表示光源簇内光源的法线范围,θe表示光源簇内光源的辐射范围。

步骤1.2:基于对光源树中结点的定义,分割光源树中结点并构建得到光源树;具体为:采用表面积朝向启发式算法(Surface Area Orientation Heuristic ,SAOH)分割光源树中结点,包括如下步骤:

S1:计算不同分割位置的代价;

S2:选择代价最小的分割位置,并形成左子树和右子树;

S3:直到步骤1.1的结点中只包含一个光源或者分割后的代价与不分割的代价相等,则分割完毕得到光源树。

具体的,代价函数的公式为:

其中,L表示左子树,R表示右子树,E表示光源的辐射功率、

2.在步骤2中,光源割为遍历光源树过程中,所触及的最深层的一系列光源簇,如图4所示;

遍历光源树进而构建面向着色点的光源割,构建光源割时需要自顶向下遍历光源树,针对每个结点依据两个原则决定是否停止遍历此结点,若不需要停止遍历,则继续遍历其子结点。

具体的,本实施例,上述每个结点是否停止遍历的两个原则为:第一,着色点位于结点的包围盒内,则继续遍历两个子结点,否则,停止遍历;第二,计算当前结点的余弦加权的BRDF在当前着色点立体角范围内的积分,若结果值大于阈值,则继续遍历两个子结点,否则,停止遍历;本实施例将阈值设置为0.5。

3.在步骤3中,自适应多重重要性采样包括如下步骤:

步骤3.1:自适应调整光源重要性采样、BRDF重要性采样以及面向BRDF的光源重要性三种采样策略的采样数目。

本实施例,通过设置两个变量numHit、numNoHit来分别记录使用BRDF重要性采样时击中、未击中光源的光线数量,因此BRDF重要性采样的光线无法击中光源的概率为numNoHit与numHit、numNoHit两者之和的比值,故设定不使用BRDF重要性采样的概率P,即:

鉴于即使BRDF重要性采样优于面向BRDF的光源重要性采样时,BRDF重要性采样的光线也常常无法击中光源,因此,上述公式中设置系数m=8来弥补此缺陷。本实施例的此算法中会首先设定三种采样策略的采样总数SampleNum,采用BRDF重要性采样的概率为(1-p),光源重要性采样和面向BRDF的光源重要性采样的采样概率相等。

步骤3.2:采用多重重要性采样中的幂自适应法计算不同采样策略的权值,通过对不同采样策略分配不同的权重,平衡步骤3.1中不同采样策略的计算结果,此处的计算结果为每种采样策略所得的当前着色点的辐射度。

上述着色点的辐射度指的是通过当前采样策略得到的光线路径带入渲染方程,得到的着色点的辐射度结果。

本实施例,将幂自适应法中的幂设置为2,以光源重要性采样的权值计算为例,则其权值如公式为:

其中,nL和Lpdf分别表示光源重要性采样的采样数和其对应的pdf,nBRDF和BRDFpdf分别表示BRDF重要性采样的采样数和对应的pdf,nLBRDF和LBRDFpdf分别表示面向BRDF的光源重要性采样的采样数和对应的pdf。

还需要说明的是,针对其它重要性采样的权值计算,只需将上述公式中的分子进行相应替换。

步骤3.3:针对三种不同采样策略的辐射度计算结果乘以对应的权值Weight,并进行加和运算,进而得到最终的着色点辐射度,即图像渲染结果。

本实施例,通过采用光源重要性采样、BRDF重要性采样以及面向BRDF的光源重要性三种采样策略来采样光线路径以及步骤3.1所述的方法自适应调整不同采样策略的采样数目,最后通过将各个采样策略下得到的光线路径带入路径积分形式的渲染方程计算得到着色点的辐射度。三种采样策略对应得到的着色点的辐射度分别为L1、L2、L3,依据步骤3.2可知三种采样策略对应的权值分别为W1、W2、W3,故最终着色点的辐射度计算结果即为L=L1*W1+L2*W2+L3*W3。

在本发明的另一个实施例中,公开一种基于光源聚类的自适应多重重要性采样系统,包括:处理器,其被配置为:获取多光源场景中的光源,并构建光源树,以存储场景中不同深度的光源。

同时,上述的处理器,还被配置为:通过遍历光源树并构建面向着色点的光源割,依据当前着色点重要性更高的光源进行自适应多重重要性采样,以满足多光源场景的渲染。

具体的,本实施例,上述处理器可以包括中央处理器(CPU),或者特定集成电路,或者可以被配置成本实施例的一个或多个集成电路;上述的存储器可以包括用于数据或指令的大容量存储器,针对该存储器,包括但不限于硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合;在适当的情况下,存储器可包括可移除或不可移除(或固定)的介质;在特定实施例中,存储器是非易失性固态存储器。在特定实施例中,存储器包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。

上述处理器通过读取并执行存储器中存储的计算机程序指令,实现本发明上述公开的多重重要性采样方法。

还需要说明的是,本实施例的多重重要性采样系统还可以包括通信接口和通信总线。其中,处理器、存储器、通信接口通过通信总线连接并完成相互间的通信。通信接口,主要用于实现本发明实施例中各单元、各模块、装置或设备之间的通信。

上述的通信总线包括硬件、软件或者软硬件两者的结合,将在线数据流量设备的部件彼此耦接在一起。在适当的情况下,通信总线可以包括一个或多个总线。

另外,结合上述实施例中多重重要性采样方法,在本发明的另一个实施例中,还包括一种计算机可读存储介质,存储介质中存储有计算机程序,其中,计算机程序被处理器执行时,使所述一个或多个计算机执行包括下述的操作:

接收场景的数据,其中,所述的场景包括一个或多个光源;

接收用于使用了多种采样技术的多重重要性采样方法渲染所述场景的图像的请求,其中,每种采样策略都使用幂自适应法来计算其权值;

通过每种采样策略的渲染结果乘以对应的权重,并进行加和运算得到最终的渲染结果。

另外,本实施例的计算机可读存储介质,还包括在分割光源树中结点的过程中,计算不同分割位置时,兼顾光源的辐射功率、包围盒的表面积以及方向锥的表面积。

需要明确的是,本发明并不限于上述公开的方法、系统、介质,还包括本领域技术人员基于本发明的思路后作出的各种改变、修改和添加,或者改变步骤之间的顺序。

本发明当以硬件的方式实现时,其可以是电子电路、专用集成电路,适当的固件、插件、功能卡等;当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段,程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传,“机器可读介质”可以包括能够存储或传输信息的任何介质,例如:电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、光盘、硬盘、光纤介质、射频链路等待。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

本发明公开的技术方案相对于现有技术具有以下优势:

1.传统的多重重要性采样方法主要是融合了基于光源的重要性采样和基于BRDF的重要性采样采样这两种采样方法,但是在渲染多光源场景时,这两种方法均不易采样到一个能够击中光源并且BRDF值较大的光线方向;本发明将面向BRDF的光源重要性采样方法集成到传统的多重重要性采样方法中,有助于提高对渲染结果贡献高的光线方向的采样路径,进而提高了采样的光线路径的质量,保证了多光源场景的渲染质量;

2.本发明将场景中的大量光源采用光源树进行组织管理,在光源树中不同深度的结点会存储不同数量大小的光源,这样就可以在渲染过程中通过遍历光源树选择对当前着色点重要性更高的光源,减少渲染过程中光源的个数,从而可以提高渲染的效率。

以上实施例仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其他修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

相关技术
  • 基于改进的自适应重要性采样算法的SRAM良率评估方法
  • 基于改进的自适应重要性采样算法的SRAM良率评估方法
技术分类

06120116488012