Spherical Harmonics Lighting

來源:互聯網
上載者:User

    Spherical Harmonics 在圖形學中的用處發展的越來越多,只需要計算很少量的係數而在運行時不用處理大量的資料。用Spherical Harmonical可以類比RTGI。一、球面調和函數

        球面調和函數Spherical Harmonics SH是定義在球面座標系的一組函數,構成球面上的一組標準正交基,是作用於頻率空間的,通常情況下,SH的定義是在複數域,在做光照計算時主要是用實數域。

        球座標:(x,y,z)=(rsincos,rsinsin,rcos)

 

      球面調和函數的定義:

    其中-l<= m <=l, l>0, l一般去2-3個Bands 所有一般有l(l+1)項

    P是m階l次伴隨勒讓德多項式,伴隨勒讓德多項式的計算通常是由三個規則來計算出來的

 

   

  K是一個標準化的縮放因子:

 

 

根據以上幾個公式可以推算出球諧基係數投影到笛卡爾座標繫上:

 

         

        索引化:取i = l ( l + 1 ) + m 可有

         之所以選擇球諧基函數來還原原始函數,是因為球諧基函數式正交的,有了正交,在進行卷積運算的時候可以得到一個常數0或1, 如果能得到原始函數用基函數表示的對應係數,便可以還原原始函數。

         球面S上的任意一個函數f的SH係數為:(運用卷積)  《SH係數公式》

           通過這些SH係數可以把原始函數f還原:

      我們需要計算SH的係數的那個積分,這裡可以用蒙特卡洛積分來把積分轉換成乘法和加法:

           

          現在把上面求SH係數的積分用球座標表示:

 

          在採用蒙特卡洛積分時,對於一個球體表面,每個點的均勻採樣機率為:

        所以《SH係數公式》可以寫成:

 

      現在可以計算n階的近似原始函數f丿,注意要計算出n階的原始函數。需要計算出n*n 個球諧基SH係數,《近視原始Function Compute公式》

二、球諧函數的特性:

       球諧函數的旋轉不變性:使用球諧函數時,當情境變化,移動燈光或者旋轉物體,能夠保證light的Intensity不會受到影響。

       另外一個是計算兩個球諧函數的乘積的積分時,能夠用其SH係數的乘積之和表示:

以上一、二部分是球諧基函數的理論部分,其中參考了網上的大量資料,當時參考的比較多,放的比較亂就不一一列出,比如PBRT等等。

三、TR-Rendering

        球諧光照用新的光照方程來替代通常所說的光照方程,把方程中的資訊使用球諧基函數Projectd到頻域空間中,在渲染的時候可以使用SH係數來對原始光照方程還原渲染情境,

        球諧光照是一種把情境中光的分布從時域轉換到頻域的過程,和傅裡葉變換道理是一樣的:

     

   把 environment light irradiance 一個2D的函數L(s),把這個函數project到球座標上,即表示在頻率空間上,其中參數有球諧基函數yi和相應的參數Ci,當給定一個環境映射,   可以離線的預計算Ci,然後在渲染的時候計算上面說的《近視原始Function Compute公式》f丿來渲染情境中物體表面上的點的輻射照度 irradiance。我們使用2階(0,1,2)的球諧基就已經足夠能類比出漫反射輻射照度,因為漫反射輻射照度是一個低頻率的函數,需要3*3=9個SH係數。在計算SH係數時,每一個SH函數分離到3個通道RGB三通道來計算輸出,最後要有27個參數

Irradiance :

其中n是每個點的法向,w是光照方向,L(w)是整個的envirment map.

  

   採樣:

   Simle randon sampling(單純隨即採樣)

   Systematic sampling(系統採樣)隨即採樣、等距採樣,先將總體的觀察單位按某一順序號分成N個部分,再從第一部分抽取第K號觀察單位,依次使用相等間距,從每一部分各抽取一個觀察單位組成樣本。           

  Cluster sampling(整群抽樣)總體分群,在隨機抽取幾個群組組成樣本,群內全部調查。

  Stratified sampling(分層採樣)先對觀察指標樣本影響比較大的某種特徵,將總體分為若干個類別,再從每一層內隨即抽取一定數量的觀察單位,合起來組成樣本

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.