CN112884876A - 支持昼夜交替的全局光照方法及计算机可读存储介质 - Google Patents

支持昼夜交替的全局光照方法及计算机可读存储介质 Download PDF

Info

Publication number
CN112884876A
CN112884876A CN202110232392.4A CN202110232392A CN112884876A CN 112884876 A CN112884876 A CN 112884876A CN 202110232392 A CN202110232392 A CN 202110232392A CN 112884876 A CN112884876 A CN 112884876A
Authority
CN
China
Prior art keywords
transmission
static
illumination
transmission matrix
spherical harmonic
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
CN202110232392.4A
Other languages
English (en)
Other versions
CN112884876B (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.)
Zhenjiang Lingtong Interactive Information Technology Co ltd
Original Assignee
Zhenjiang Lingtong Interactive Information Technology 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 Zhenjiang Lingtong Interactive Information Technology Co ltd filed Critical Zhenjiang Lingtong Interactive Information Technology Co ltd
Priority to CN202110232392.4A priority Critical patent/CN112884876B/zh
Publication of CN112884876A publication Critical patent/CN112884876A/zh
Application granted granted Critical
Publication of CN112884876B publication Critical patent/CN112884876B/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/06Ray-tracing
    • 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
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/08Gnomonic or central projection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本发明公开了支持昼夜交替的全局光照方法及计算机可读存储介质,获取静态场景的静态部分的传输向量;基于获取的静态场景的静态部分的传输向量获取动态部分的传输矩阵;将动态部分的传输矩阵中各元素插值并保存到设定数量的3D贴图中;动态生成一个天空球,将生成的天空球投影到球谐函数上,利用球谐函数对设定数量的3D贴图中静态场景中的动态部分的传输矩阵进行再光照获得再光照结果,对再光照结果统一处理得到一张代表场景中天光直接和间接再光照后的3D贴图;采样再光照后的3D贴图,得到相应的光照信息作为环境光贡献。本发明实现在特定区域上,静态场景能够对动态物体产生间接光照贡献,即实现类似颜色扩散效果。

Description

支持昼夜交替的全局光照方法及计算机可读存储介质
技术领域
本发明涉及一种支持昼夜交替的全局光照方法及计算机可读存储介质,属于计算机图形技术领域。
背景技术
随着移动端GPU的不断发展,利用全局光照算法提升手机游戏画面的可行性逐渐提升,特别是随着开放世界类游戏逐渐登上移动平台,利用全局光照算法对昼夜交替时的光照变化进行真实地模拟变得越发的必要。
利用光线追踪等相关技术在主机、PC平台上实现完全动态的实时光照计算已经有了许多可行的实践方案,然而对于移动端上性能不足,无法实现类似颜色扩散(ColorBleeding)效果,因此无法进行应用。
发明内容
本发明针对现有技术全局光照方法对于移动端上性能不足,无法实现类似颜色扩散(Color Bleeding)效果的技术问题,提供支持昼夜交替的全局光照方法及计算机可读存储介质。
本发明采用以下技术方案。
提供一种支持昼夜交替的全局光照方法,包括:获取静态场景的静态部分的传输向量tp
基于获取的静态场景的静态部分的传输向量tp获取动态部分的传输矩阵Tp
将动态部分的传输矩阵Tp中各元素插值并保存到设定数量的3D贴图中;
动态生成一个天空球,将生成的天空球投影到球谐函数上,利用球谐函数对设定数量的3D贴图中静态场景中的动态部分的传输矩阵进行再光照获得再光照结果,对再光照结果统一处理得到一张代表场景中天光直接和间接再光照后的3D贴图;
采样再光照后的3D贴图,得到相应的光照信息作为环境光贡献。
进一步地,获取静态场景的静态部分的传输向量tp的方法包括:
对静态场景中的每个静态物体的三角形网格,以设定精度作为参数进行uv展开得到一张贴图,将贴图的纹素作为静态物体的采样点;
对于每个静态物体的采样点,计算静态部分的直接光照传输向量tp,0
以设定的光照弹射次数B为参数进行迭代,每一次迭代计算第b次弹射静态物体的间接光照传输向量tp,b
将直接光照传输向量tp,0和每次迭代得到的间接光照传输向量tp,b累加,得到静态部分的传输向量tp,其中静态部分的传输向量中第i个元素
Figure BDA0002956907310000021
表示如下:
Figure BDA0002956907310000022
Figure BDA0002956907310000023
代表第b次光照弹射得到的间接光传输向量中的第i个元素,b取值范围从0到B;
Figure BDA0002956907310000024
代表第一次光照弹射,也就是直接光传输向量中的第i个元素。
进一步地,基于获取的静态场景的静态部分的传输向量tp获取动态部分的传输矩阵Tp的方法包括:
步骤1:将静态场景均匀划分设定个数的区域,对于划分得到的各区域的中心点放置一个动态采样点;
步骤2:对于每个采样点,计算动态部分的直接光照部分的传输矩阵,具体方法为:
Figure BDA0002956907310000031
计算动态部分的间接光照部分的传输矩阵时,具体方法为:
Figure BDA0002956907310000032
其中
Figure BDA0002956907310000033
表示求交点的传输向量中的元素;
最后累加得到总的传输矩阵,其具体方法为:
Tp=Tp,0+Tp,1+
其中
Figure BDA0002956907310000034
代表可视函数,表示p点在
Figure BDA0002956907310000035
方向的射线是否会与其他物体相交;
Figure BDA0002956907310000036
为球谐函数的第i个基函数在
Figure BDA0002956907310000037
方向的值;Tp,1+表示间接光传输矩阵;Tp,0表示动态部分的直接光传输矩阵,
Figure BDA0002956907310000038
表示动态部分的直接光传输矩阵Tp,0的第i行j列的元素;
Figure BDA0002956907310000039
表示动态部分的间接光传输矩阵Tp,1+的第i行j列的元素,Ω表示积分区域。
进一步地,将静态场景均匀划分设定个数的区域之后还包括:
评估每个采样点与相邻采样点的传输矩阵的差异,对与相邻采样点差异大于等于阈值的采样点对应的区域进行再细分,即重复步骤1和步骤2直到差异小于阈值;其中评估每个采样点与相邻采样点的传输矩阵的差异的表达式如下:
Figure BDA00029569073100000310
其中p代表当前评估的采样点,q代表其相邻采样点,
Figure BDA00029569073100000311
为当前评估的采样点p的动态部分的传输矩阵的第i行第j列的元素,
Figure BDA00029569073100000312
为当前评估的采样点q的动态部分的传输矩阵的第i行第j列的元素,N为传输矩阵的行列数,即球谐函数基函数个数。
进一步地,将传输矩阵各元素插值并保存到设定数量的3D贴图中的具体方法为:
以场景细分的最小粒度作为划分标准,对于场景进行均匀划分;
对于划分后的每个采样点中在设定的影响半径内且没有被物体遮挡的采样点,利用其相邻采样点的传输矩阵的系数进行插值:
Figure BDA0002956907310000041
其中R为用户设定的影响半径,M为累加的传输矩阵总数,dist(pk,s)为采样点s与每个动态采样点pk的欧式距离,
Figure BDA0002956907310000042
表示划分后的每个采样点中在设定的影响半径内且没有被物体遮挡的采样点的传输矩阵;Ts表示即将存储到3D贴图中纹素对应采样点的传输矩阵。
进一步地,将生成的天空球投影到球谐函数上具体方法为:
Figure BDA0002956907310000043
利用蒙特卡洛方法进行均匀采样得到天光球谐系数,其具体方法如下:
Figure BDA0002956907310000044
其中:
Figure BDA0002956907310000045
表示
Figure BDA0002956907310000046
方向的单通道辐射率;
Figure BDA0002956907310000047
表示半球上的一个均匀采样方向;
Figure BDA0002956907310000048
为球谐函数的第i个基函数在
Figure BDA0002956907310000049
方向的值,li表示采样得到的第i个基函数采样得到的天光球谐系数,N为球谐函数基函数个数,S表示采样方向
Figure BDA00029569073100000410
的集合。
进一步地,利用球谐函数对设定数量的3D贴图中静态场景中的动态部分的传输矩阵进行再光照具体方法为:
Figure BDA0002956907310000051
其中,l表示采样得到的天光球谐系数;Tp表示3D贴图中的采样得到的传输矩阵;lp代表当前采样点的入射辐射率球谐系数;
Figure BDA0002956907310000052
表示在p点
Figure BDA0002956907310000053
方向进行再光照得到的入射辐射率球谐系数。
进一步地,采样再光照后的3D贴图,得到相应的光照信息作为环境光贡献包括:将辐射率变换为辐照度,其具体方法为:
Figure BDA0002956907310000054
其中:
Figure BDA0002956907310000055
表示点以
Figure BDA0002956907310000056
方向为假想曲面法线朝向的辐照度;
Figure BDA0002956907310000057
表示余弦函数权值投影到球谐后得到第i个基函数的球谐系数;
Figure BDA0002956907310000058
表示第i个基函数相对于p点的入射辐射率,就是得到的再光照结果;N为球谐函数阶数的平方,即球谐函数基函数个数;
Figure BDA0002956907310000059
为球谐函数的第i个基函数在
Figure BDA00029569073100000510
方向的值;
进一步地,利用片元着色器采样再光照后的3D贴图。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如以上技术方案任意一种可能的实施例所提供的所述昼夜交替的全局光照方法的步骤。
本发明所取得的有益技术效果:本发明提供的昼夜交替的全局光照方法,在离线烘焙时得到静态部分的传输向量并基于静态部分的传输向量获取动态部分的传输向量,将动态部分的传输矩阵中各元素插值并保存到设定数量的3D贴图中;利用球谐函数对设定数量的3D贴图中静态场景中的动态部分的传输矩阵进行再光照获得再光照结果,对再光照结果统一处理得到一张代表场景中天光直接和间接再光照后的3D贴图;采样再光照后的3D贴图,得到相应的光照信息作为环境光贡献。本发明实现在特定区域上,静态场景能够对动态物体产生间接光照贡献,即实现类似颜色扩散(Color Bleeding)效果,能够实现在移动端平台上的昼夜交替效果。
本发明中将静态场景以三角形网格的形式导入、进行光栅化得到三角形上的均匀采样点、对于每个采样点计算传输向量并累加,得到静态部分的传输向量tp、将场景均匀划分为多个区域,对于划分得到的中心点计算传输矩阵作为动态部分的传输函数Tp、评估其与相邻采样点的传输函数的差异,对变化剧烈的部分进行再细分、将传输矩阵系数
Figure BDA0002956907310000061
插值保存到多张3D贴图中、每帧或每几帧动态生成一个天空球并投影到球谐函数上作为变化天光、利用变化天光的球谐对场景中的传输函数进行再光照、在物体渲染的片元着色器中采样再光照后的3D贴图得到相应的光照信息作为环境光贡献。本发明方法明确,算法高效,结果鲁棒,且该方法经过一定优化,可以用于移动端游戏中。
附图说明
图1为具体实施例提供的昼夜交替的全局光照方法的流程示意图。
具体实施方式
以下结合说明书附图和具体实施例对本发明做进一步说明。
实施例1:一种昼夜交替的全局光照方法,如图1所示,包括以下步骤:(1)离线烘焙时,用户将静态场景以三角形网格的形式导入;这部分场景物体将作为静态物体,对场景中的其他静态、动态物体进行间接光照的贡献。首先获取静态场景的静态部分的传输向量,包括以下步骤:
对场景中的每个物体的三角形网格,以设定的精度(具体实施例中可以为用户设定的精度)作为参数进行uv展开得到一张贴图,将贴图的纹素作为静态物体的采样点;
对于每个采样点,计算静态部分的直接光照部分传输向量tp,0
利用蒙特卡洛方法对半球积分进行计算,其具体过程如下:
Figure BDA0002956907310000071
其中:
Figure BDA0002956907310000072
表示半球上的一个均匀采样方向;
Figure BDA0002956907310000073
表示p点的Lambert BRDF(Bidirectional Reflectance Distribution Function,双向反射分布函数),代表该点的材质漫反射部分的反射率;
Figure BDA0002956907310000074
代表可视函数,表示p点在
Figure BDA0002956907310000075
方向的射线是否会与其他物体相交,相交为1,否则为0;
Figure BDA0002956907310000076
代表p点的法线。
对于每个均匀采样点,参考其法线进行一个半球积分,利用蒙特卡洛方法进行半球上的均匀采样。对于每个采样方向,发射一条射线于场景中的静态物体进行求交。如果与场景中的物体没有相交,累加来自天光直接光照的贡献;如果有相交,则不累加贡献。最后将tp,0保存到一棵八叉树中。该求交过程一般使用RTX进行加速。该过程以及步骤4,都可以利用照度缓存算法(Irradiance Caching)进行加速。该传输向量是从天光球谐系数到局部直接光照后反射向任意方向辐射率的一个线性变换。
以用户输入的光照弹射次数B为参数迭代多次,计算静态物体的间接光照传输向量tp,b
利用蒙特卡洛方法对半球积分进行计算,其具体方法如下:
Figure BDA0002956907310000081
其中:
Figure BDA0002956907310000082
表示半球上的一个均匀采样方向;
Figure BDA0002956907310000083
表示p点的Lambert BRDF,代表该点的材质漫反射部分的反射率;
Figure BDA0002956907310000084
代表可视函数,表示p点在
Figure BDA0002956907310000085
方向的射线是否会与其他物体相交,相交为1,否则为0;
Figure BDA0002956907310000086
代表p点的法线;
对于每个均匀采样点,参考其法线进行一个半球积分,利用蒙特卡洛方法进行半球上的均匀采样。对于每个采样方向,发射一条射线于场景中的静态物体进行求交。如果与场景中的物体有相交,累加来自物体间接光照的贡献,其贡献
tp,b-1由上一棵八叉树插值得到;如果没有相交,则不累加贡献。最后将tp,b保存到一棵八叉树中。传输向量
Figure BDA0002956907310000087
是从天光球谐系数到光线第b次弹射到物体表面上后漫反射部分的出射辐射率的一个线性变换。
将B个传输向量累加,得到静态部分的传输向量tp;其具体方法如下:
Figure BDA0002956907310000088
其中
Figure BDA0002956907310000089
为光线第b次弹射,在静态采样点p上传输向量的第i个系数;由于传输向量的线性性质,可以累加每次弹射得到的贡献得到总的传输向量,代表天光在场景经过B次弹射后,静态场景中总的传输向量的分布。
(2)基于获取的静态场景的静态部分的传输向量tp获取动态部分的传输矩阵Tp。具体包括:将场景均匀划分为S个区域(具体实施例例中可以均匀划分为8个区域),对于划分得到的区域中心点P,放置一个动态采样点;其具体方法如下:
计算场景的AABB包围盒以及其中心点,按照中心点对包围盒进行划分,并取细分后的区域中心点作为动态部分的采样点。利用这个采样点采样的全局光照信息,即传输矩阵,可以用来对与此区域相交的物体的全局光照信息进行近似。
对于动态部分的每个采样点,计算传输矩阵作为动态部分的传输矩阵Tp;其具体原理如下:对于场景中的每个动态采样点进行一个完整的球面积分,利用蒙特卡洛方法进行数值近似。对于每个采样方向发射一条光线,如果光线与静态物体相交,插值出相交点的传输向量,
Figure BDA0002956907310000096
累加其对对传输矩阵的间接光照贡献;如果光线不相交,则累加直接光照部分的贡献。
对于直接光照部分的传输矩阵Tp,0
Figure BDA0002956907310000091
对于间接光照部分的传输矩阵Tp,1+
Figure BDA0002956907310000092
最后累加得到动态部分的传输矩阵:
Tp=Tp,0+Tp,1+
该传输矩阵代表的是天光球谐到局部入射辐射率的一个线性变换,即一个矩阵。
其中
Figure BDA0002956907310000093
表示动态部分的直接光传输矩阵i行j列的元素;
Figure BDA0002956907310000094
表示动态部分的间接光传输矩阵i行j列的元素;
Figure BDA0002956907310000095
代表可视函数,表示p点在
Figure BDA0002956907310000101
方向的射线是否会与其他物体相交,相交为1,否则为0;
Figure BDA0002956907310000102
为球谐函数的第i个基函数在
Figure BDA0002956907310000103
方向的值;Tp,1+表示动态部分的间接光传输矩阵;Tp,0表示动态部分的直接光传输矩阵,yi为球谐函数的第i个基函数。
评估其与相邻采样点的传输函数的差异,对变化剧烈的部分进行细分,然后重复本步骤中的以上步骤直到差异足够小;其具体方法如下:
Figure BDA0002956907310000104
其中p代表当前评估的采样点,q代表其相邻采样点。若D(p,q)<∈,其中∈为用户设定的阈值,则不对该子分区做处理;否则,对该子分区做再一次细分,即将子分区再均匀划分为一定数量的分区,即将场景均匀划分为S个区域(具体实施例例中可以均匀划分为8个区域),对于划分得到的区域中心点P,放置一个动态采样点;之后再用以上方法对于动态部分的每个采样点,计算动态部分的传输矩阵Tp从而计算新分区中动态采样点的传输矩阵Tp。该步骤是为了能够适应性地在场景内分布动态采样点,即在光照变化剧烈的区域分布更多采样点以记录更多细节,而在光照变换较小的部分分布较少的采样点以加快离线烘焙速度。
至此,计算得到了可以代表场景中某一点光照信息的传输矩阵。
(3)将传输矩阵系数插值,保存到多张3D贴图中,即将动态部分的传输矩阵Tp中各元素插值并保存到设定数量的3D贴图中;其具体方法如下:
Figure BDA0002956907310000111
R为用户设定的影响半径,M为累加的传输矩阵总数。
生成3D贴图时,以场景细分的最小粒度作为划分标准,在场景中均匀分布贴图采样点,每个贴图采样点对应最终生成的3D贴图的一个纹素。对于采样点s,与每个动态采样点pi计算欧式距离dist(pk,s),并且利用光线投射判断pi和s之间是否有别的物体遮挡,如果没有遮挡且dist(pk,s)<R,其中R为用户设定的影响半径,则累加该采样点的传输矩阵。
以上3D贴图的数量取决于所用于在光照的球谐阶数n,3D贴图数目为n*n,亦可以根据硬件特性自行选择贴图数目,但需要对3D贴图进行合并。
至此离线烘焙部分的流程结束,最终得到的是多张记录了传输矩阵的3D贴图。采用3D贴图形式进行保存是因为后续实时渲染中可以利用GPU的三线性插值来快速采样相应位置的传输矩阵。
(4)实时渲染时,利用大气散射相关方法(如瑞利散射),每帧或每几帧动态生成一个天空球,将生成的天空球投影到球谐函数上,作为变化天光的输入;
其具体方法如下:
Figure BDA0002956907310000112
利用蒙特卡洛方法进行均匀采样得到天光球谐系数,其具体方法如下:
Figure BDA0002956907310000113
在Compute Shader或者CPU上,利用变化天光的球谐对场景中的传输函数进行再光照,统一处理得到一张代表场景中天光直接、间接光照的3D贴图;其具体方法如下:
Figure BDA0002956907310000121
其中:l表示采样得到的天光球谐系数;Tp表示3D贴图中的采样得到的传输矩阵;lp代表当前采样点的入射辐射率球谐系数;
Figure BDA0002956907310000122
表示在p点
Figure BDA0002956907310000123
方向进行再光照得到的入射辐射率球谐系数。
该步骤是利用离线烘焙过程中烘焙的传输矩阵,应用到实时生成的变化天光上,以重建出物体局部的光照信息,这些信息以2、3阶球谐函数的形式保存在3D光照贴图中。
(12)为了进行漫反射环境光照的计算,将辐射率变换为辐照度。在物体渲染的片元着色器中,采样再光照后的张3D贴图,得到相应的光照信息作为环境光贡献;其具体方法如下:
Figure BDA0002956907310000124
其中
Figure BDA0002956907310000125
表示p点以
Figure BDA0002956907310000126
方向为假想曲面法线朝向的辐照度;
Figure BDA0002956907310000127
表示余弦函数权值投影到球谐后得到第i个基函数的球谐系数;
Figure BDA0002956907310000128
表示表示入射辐射率投影到球谐上后的第i个基函数,是得到的再光照的结果;N球谐函数基函数个数;
Figure BDA0002956907310000129
为球谐函数的第i个基函数在
Figure BDA00029569073100001210
方向的值。
本步骤在物体进行光照计算的Pixel Shader中,采样再光照后的3D光照贴图,得到相应的光照信息作为环境光贡献。
至此整个流程结束,最终得到了实时变化天光对于场景的直接、间接光照贡献。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (10)

1.一种支持昼夜交替的全局光照方法,其特征在于,包括以下步骤:获取静态场景的静态部分的传输向量;基于获取的静态场景的静态部分的传输向量获取动态部分的传输矩阵;将动态部分的传输矩阵中各元素插值并保存到设定数量的3D贴图中;
动态生成一个天空球,将生成的天空球投影到球谐函数上,利用球谐函数对设定数量的3D贴图中静态场景中的动态部分的传输矩阵进行再光照获得再光照结果,对再光照结果统一处理得到一张代表场景中天光直接和间接再光照后的3D贴图;
采样再光照后的3D贴图,得到相应的光照信息作为环境光贡献。
2.根据权利要求1所述的一种支持昼夜交替的全局光照方法,其特征在于,获取静态场景的静态部分的传输向量tp的方法包括:
对静态场景中的每个静态物体的三角形网格,以设定精度作为参数进行uv展开得到一张贴图,将贴图的纹素作为静态物体的采样点;
对于每个静态物体的采样点,计算静态部分的直接光照传输向量tp,0
以设定的光照弹射次数B为参数进行迭代,每一次迭代计算第b次弹射静态物体的间接光照传输向量tp,b
将直接光照传输向量tp,0和每次迭代得到的间接光照传输向量tp,b累加,得到静态部分的传输向量tp,其中静态部分的传输向量中第i个元素
Figure FDA0002956907300000011
表示如下:
Figure FDA0002956907300000012
Figure FDA0002956907300000013
代表第b次光照弹射得到的间接光传输向量中的第i个元素,b取值范围从0到B;
Figure FDA0002956907300000021
代表直接光传输向量中的第i个元素。
3.根据权利要求1所述的一种支持昼夜交替的全局光照方法,其特征在于,基于获取的静态场景的静态部分的传输向量tp获取动态部分的传输矩阵TP的方法包括:
步骤1:将静态场景均匀划分设定个数的区域,对于划分得到的各区域的中心点放置一个动态采样点;
步骤2:对于每个动态采样点,计算动态部分的直接光照部分的传输矩阵,具体方法为:
Figure FDA0002956907300000022
计算动态部分的间接光照部分的传输矩阵时,具体方法为:
Figure FDA0002956907300000023
其中tj q表示求交点的传输向量中的元素;
最后累加得到总的传输矩阵TP,其具体方法为:
Tp=Tp,0+Tp,1+
其中
Figure FDA0002956907300000024
代表可视函数,表示p点在
Figure FDA0002956907300000029
方向的射线是否会与其他物体相交;
Figure FDA0002956907300000025
为球谐函数的第i个基函数在
Figure FDA0002956907300000026
方向的值;Tp,1+表示间接光传输矩阵;Tp,0表示动态部分的直接光传输矩阵,
Figure FDA0002956907300000027
表示动态部分的直接光传输矩阵Tp,0的第i行j列的元素;
Figure FDA0002956907300000028
表示动态部分的间接光传输矩阵Tp,1+的第i行j列的元素,Ω表示积分区域。
4.根据权利要求3所述的一种支持昼夜交替的全局光照方法,其特征在于,将静态场景均匀划分设定个数的区域之后还包括:
评估每个采样点与相邻采样点的传输矩阵的差异,对与相邻采样点差异大于等于阈值的采样点重复步骤1和步骤2直到差异小于阈值;其中评估每个采样点与相邻采样点的传输矩阵的差异的表达式如下:
Figure FDA0002956907300000031
其中p代表当前评估的采样点,q代表其相邻采样点,
Figure FDA0002956907300000032
为当前评估的采样点p的动态部分的传输矩阵的第i行第j列的元素,
Figure FDA0002956907300000033
为当前评估的采样点q的动态部分的传输矩阵的第i行第j列的元素,N为球谐函数基函数个数。
5.如权利要求1所述的昼夜交替全局光照方法,其特征在于,将传输矩阵各元素插值并保存到设定数量的3D贴图中的具体方法为:
以场景细分的最小粒度作为划分标准,对于场景进行均匀划分;
对于划分后的每个采样点中在设定的影响半径内且没有被物体遮挡的采样点,利用其相邻采样点的传输矩阵的系数进行插值:
Figure FDA0002956907300000034
其中R为用户设定的影响半径,M为累加的传输矩阵总数,dist(pk,s)为采样点s与每个动态采样点pk的欧式距离,
Figure FDA0002956907300000035
表示划分后的每个采样点中在设定的影响半径内且没有被物体遮挡的采样点的动态部分的传输矩阵;Ts表示即将存储到3D贴图中纹素对应采样点的传输矩阵。
6.如权利要求1所述的昼夜交替全局光照方法,其特征在于,将生成的天空球投影到球谐函数上具体方法为:
Figure FDA0002956907300000036
利用蒙特卡洛方法进行均匀采样得到天光球谐系数,其具体方法如下:
Figure FDA0002956907300000041
其中:
Figure FDA0002956907300000042
表示
Figure FDA0002956907300000043
方向的单通道辐射率;
Figure FDA0002956907300000044
表示半球上的一个均匀采样方向;
Figure FDA0002956907300000045
为球谐函数的第i个基函数在
Figure FDA0002956907300000046
方向的值,li表示采样得到的第i个基函数采样得到的天光球谐系数,N为球谐函数基函数个数,S表示采样方向
Figure FDA0002956907300000047
的集合。
7.如权利要求1所述的昼夜交替全局光照方法,其特征在于,利用球谐函数对设定数量的3D贴图中静态场景中的动态部分的传输矩阵进行再光照具体方法为:
Figure FDA0002956907300000048
其中,l表示采样得到的天光球谐系数;Tp表示3D贴图中的采样得到的传输矩阵;lp代表当前采样点的入射辐射率球谐系数;
Figure FDA0002956907300000049
表示在p点
Figure FDA00029569073000000410
方向进行再光照得到的入射辐射率球谐系数。
8.如权利要求1所述的昼夜交替全局光照方法,其特征在于,
采样再光照后的3D贴图,得到相应的光照信息作为环境光贡献包括:将辐射率变换为辐照度,其具体方法为:
Figure FDA00029569073000000411
其中:
Figure FDA00029569073000000412
表示点以
Figure FDA00029569073000000413
方向为假想曲面法线朝向的辐照度;
Figure FDA00029569073000000414
表示余弦函数权值投影到球谐后得到第i个基函数的球谐系数;
Figure FDA00029569073000000415
表示入射辐射率投影到球谐上后的第i个基函数,得到再光照的结果;N为球谐函数基函数个数;
Figure FDA00029569073000000416
为球谐函数的第i个基函数在
Figure FDA00029569073000000417
方向的值。
9.根据权利要求1所述的一种支持昼夜交替的全局光照方法,其特征在于,利用片元着色器采样再光照后的3D贴图。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~9任意一项权利要求所述方法的步骤。
CN202110232392.4A 2021-03-01 2021-03-01 支持昼夜交替的全局光照方法及计算机可读存储介质 Active CN112884876B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110232392.4A CN112884876B (zh) 2021-03-01 2021-03-01 支持昼夜交替的全局光照方法及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110232392.4A CN112884876B (zh) 2021-03-01 2021-03-01 支持昼夜交替的全局光照方法及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN112884876A true CN112884876A (zh) 2021-06-01
CN112884876B CN112884876B (zh) 2024-07-02

Family

ID=76055265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110232392.4A Active CN112884876B (zh) 2021-03-01 2021-03-01 支持昼夜交替的全局光照方法及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112884876B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120019533A1 (en) * 2010-07-23 2012-01-26 Pacific Data Images Llc Optimal point density using camera proximity for point-based global illumination
WO2016034421A2 (en) * 2014-09-05 2016-03-10 Thomson Licensing Device and process for improving efficiency of image rendering
US20170263043A1 (en) * 2016-03-11 2017-09-14 Imagination Technologies Limited Importance sampling for determining a light map
CN109448098A (zh) * 2018-09-29 2019-03-08 北京航空航天大学 一种基于建筑物单张夜景图像重建虚拟场景光源的方法
CN110728748A (zh) * 2019-09-30 2020-01-24 中国科学院国家天文台南京天文光学技术研究所 基于半球正交函数的渲染方法
CN110930497A (zh) * 2020-02-11 2020-03-27 南京芯瞳半导体技术有限公司 一种全局光照相交加速方法、装置及计算机存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120019533A1 (en) * 2010-07-23 2012-01-26 Pacific Data Images Llc Optimal point density using camera proximity for point-based global illumination
WO2016034421A2 (en) * 2014-09-05 2016-03-10 Thomson Licensing Device and process for improving efficiency of image rendering
US20170263043A1 (en) * 2016-03-11 2017-09-14 Imagination Technologies Limited Importance sampling for determining a light map
CN109448098A (zh) * 2018-09-29 2019-03-08 北京航空航天大学 一种基于建筑物单张夜景图像重建虚拟场景光源的方法
CN110728748A (zh) * 2019-09-30 2020-01-24 中国科学院国家天文台南京天文光学技术研究所 基于半球正交函数的渲染方法
CN110930497A (zh) * 2020-02-11 2020-03-27 南京芯瞳半导体技术有限公司 一种全局光照相交加速方法、装置及计算机存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
LIFAN WU等: "Analytic Spherical Harmonic Gradients for Real-Time Rendering with Many Polygonal Area Lights", ACM TRANS. GRAPH., vol. 39, no. 4, pages 1 - 14, XP058683527, DOI: 10.1145/3386569.3392373 *
张丽: "真实感光照技术的研究与实现", 中国优秀硕士学位论文全文数据库 信息科技辑, pages 138 - 914 *
赵福恺;刘新国;: "GPU单散射并行绘制算法", 计算机辅助设计与图形学学报, no. 01, pages 32 - 39 *
鲍虎军, 金小刚, 彭群生: "一个新的线光源照明模型", 计算机辅助设计与图形学学报, no. 06, pages 481 - 487 *

Also Published As

Publication number Publication date
CN112884876B (zh) 2024-07-02

Similar Documents

Publication Publication Date Title
US8223148B1 (en) Method and apparatus for computing indirect lighting for global illumination rendering in 3-D computer graphics
TWI526983B (zh) 用以執行路徑空間過濾之系統、方法及電腦程式產品
US7864177B2 (en) System and methods for real-time rendering with global and specular illumination
US20080143720A1 (en) Method for rendering global illumination on a graphics processing unit
US20160155261A1 (en) Rendering and Lightmap Calculation Methods
US20100091018A1 (en) Rendering Detailed Animated Three Dimensional Characters with Coarse Mesh Instancing and Determining Tesselation Levels for Varying Character Crowd Density
US9082230B2 (en) Method for estimation of the quantity of light received at a point of a virtual environment
Simon et al. Rich‐VPLs for improving the versatility of many‐light methods
US8314797B1 (en) Method and apparatus for irradiance computation in 3-D computer graphics
US20140267357A1 (en) Adaptive importance sampling for point-based global illumination
US10891783B2 (en) Improving area light shadows in computer generated scenes
CN112884876B (zh) 支持昼夜交替的全局光照方法及计算机可读存储介质
Scheel et al. Grid based final gather for radiosity on complex clustered scenes
CN114022599A (zh) 一种线性变换球面分布的实时间接光泽反射渲染方法
Boulanger Real-time realistic rendering of nature scenes with dynamic lighting
CN109934900A (zh) 基于vr硬件架构的实时全局光照解决方法
US11961188B2 (en) Neural networks to generate appearance-responsive material map sets in digital graphical environments
CN110832549A (zh) 现实世界环境中虚拟对象的经过光线追踪的反射的快速产生方法
Amara et al. A GPU framework for the visualization and on-the-fly amplification of real terrains
Di Koa et al. Interactive rendering of translucent materials under area lights using voxels and Poisson disk samples
US7733349B1 (en) Device, method, and system for generating per-pixel light values using texture parameters
Shihan et al. Adaptive volumetric light and atmospheric scattering
Im et al. Efficient Rain Simulation based on Constrained View Frustum
CN118096985A (zh) 虚拟森林场景实时渲染方法及装置
Favorskaya et al. Large scene rendering

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