读书人

Spherical Harmonic Lighting(球谐日照

发布时间: 2013-03-21 10:08:17 作者: rapoo

Spherical Harmonic Lighting(球谐光照)

球谐光照

?

1.简介?

球谐光照是实时渲染技术中的一种,属于Precompute Radiance Transfer(PRT)的范畴。经过预处理并存储相应的信息之后,它可以产生高质量的渲染及阴影效果。球谐光照需要使用新的光照方程来代替通常的光照方程,并将该方程中的相关信息使用球谐基函数来投影到频度空间,并用系数进行表示(该变换与信号处理中的Fourier变换同样的道理)以一定的方式存储。在渲染的过程中就结合球谐变换的特性以及这些预先存储的系数信息来对原始的光照方程进行还原并对场景进行着色。这个过程是对无限积分进行有限近似的过程,但是通常却可以得到较为理想的效果。当然,球谐函数也具有很多神奇的特性(比如旋转不变性,rotation invariant),这些特性就为其在渲染以及其它领域中的应用又带来很多优势。之前关注的三维模型检索以及特征值的提取就同样可以借助于球谐变换来对3D模型进行基于内容的特征分析与变换(3D model & Spherical Harmonic & moments),效果也非常好。一般来说使用球谐变换的特性可以得到一定程度上动态的光照渲染效果,比如场景或环境光的旋转等。但是场景中的相对物体却不能实现动态的变化,这是由于对整个场景的预处理是与其在空间场景中的位置相关的。当然,近年来的一些研究也都已经把这些个问题作为相应的研究方向,比如对光照方程进行更为多样、合理的分解等。

综合说来球谐光照的基本框架如下所述:
连续的光照方程?->?离散的光照方程??->? 分解后的光照方程??->? 球谐变换得到球谐系数?->? 利用球谐系数还原光照方程

2. 光照方程

球谐光照分析与变换中常用的光照模型通常如下式所示:
Spherical Harmonic Lighting(球谐日照)

该光照方程较为复杂但却典型,经常出现在各种基于物理渲染染的文章中(可以研究下Physcially based Rendering中相关章节的内容深入理解下)。作为球谐变换光照的基本切入点,需要对这一光照方法进行简单的解析,其中的积分下标表述了对应的积分空间,在实际中即为当前点的法线方向所对应到的一个半球空间。其余各项:
?Spherical Harmonic Lighting(球谐日照)?为点x处在w方向上的光密度;
?Spherical Harmonic Lighting(球谐日照)?为物体自身在点x处发出的光线;
Spherical Harmonic Lighting(球谐日照)为表面上x处的BRDF,它将从wi方向上进入到该点的光反射并变换到wo方向上;
?Spherical Harmonic Lighting(球谐日照)为从其它物体上的点x'处沿wi方向到达的光线;
?Spherical Harmonic Lighting(球谐日照)?为两x,x'间(分别属于不同的物体)的几何关系;
Spherical Harmonic Lighting(球谐日照)?为两点x,x'间的可见性关系,取值为0或1。

有了光照方程之后如何对其求解就成为渲染的关键。很显然,为了效率不能对这样的一个积分方程进行直接求解,因而这里就需要用到基于随机化算法的蒙特卡洛积分方法。

3. 蒙特卡洛积分

随机化方法是各个科研领域中经常用到的一种方法,毕竟神奇的自然界中充满了不确定的随机情况,对此我们只能用随机理论进行分析。计算机算法中的随机化方法同样以随机化的分析作为理论基础,由此看来学校里的随机过程还是很有用的一门课,但就是太抽象了,如果能与具体的应用相互结合来授课的话肯定事半功倍。蒙特卡洛积分就是利用随机理论来对无限积分进行近似的模拟,最常见的一种应用就是随机投点来计算\pi的值。
首先,需要在原始连续的积分空间上采样一定数量足够随机的离散采样点替代原始的连续空间,这个过程对于不同类型的积分空间有不同的方法,其中涉及到不少概率函数和概率密度的知识。
对于球面空间的积分区域即需要在整个球面上采样分布离散的点,其方法可以通过某种策略首先采样得到的2D点,然后将其映射到球面空间上:
Spherical Harmonic Lighting(球谐日照)

注意采样点在2D中的分布规律,两边多中间少,而正是这样的才能保证将采样点映射到球面坐标系统之后可能保证条样点的均匀且随机。

Spherical Harmonic Lighting(球谐日照)

有了离散的采样点之后即可在这些点组成的新的空间上对原始积分方程进行近似即可。
Spherical Harmonic Lighting(球谐日照)

其中N为采样点的数量,权重函数w(xi)是由采样点i所对应的出现概率来决定,它可以表示为1 /?p(xi)。这里得到的每个球面采样点的概率是相同的,因而w(xi)就退化为一常数因子,其取决于单位球的表面积,因而代入之后我们就得到上式中的离散积分表达式。

?

4. 球谐函数

4.1 勒让德多项式

信号处理中很常用的一种方法就是傅立叶级数分解,这其实是用相互正交的Sin和Cos函数来近似表述其它的周期函数。其中的Sin和Cos之间的正交性是该变换的关键,一般称其为正交基函数。当前,有多种实用的正交基函数,其用途各不相同。在球谐变换中使用的基函数就是球谐基函数,其与勒让德多项式(Legendre polynomials)密切相关。勒让德多项式主要有以下三个属性:

读书人网 >编程

热点推荐