Irradiance Environment Map(也叫Irradiance Map或Diffuse Environment Map),屬于Image Based Lighting技術(shù)中的一種。

Irradiance Map的詳細(xì)定義可參考GPU Gems 2  Chapter 10.“Real-Time Computation of Dynamic Irradiance Environment Maps”。簡(jiǎn)單說(shuō)來(lái)就是一種用于近似Environment  Diffuse Lighting的方法。想象一個(gè)場(chǎng)景中有k個(gè)方向光,方向分別為d1…dk,光照強(qiáng)度為i1…ik,對(duì)于一個(gè)法線和Diffuse Color分別為n和c的Lambert表面,其光照強(qiáng)度為:

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

對(duì)于Environment Lighting,我們可以用一個(gè)Cube Map來(lái)表示,Cube Map里的每一個(gè)texel就是一個(gè)方向光,光強(qiáng)度為texel的值,方向?yàn)閠exel的location。這樣就能通過(guò)一個(gè)Cube Map來(lái)表示任意的Environment Lighting。一般把這個(gè)Cube Map叫做Light Probe。

對(duì)于Lambert表面,其光照強(qiáng)度只和法線n和光照方向l相關(guān),所以給定一個(gè)Light Probe,可以計(jì)算出所有可能的法線方向的光照,然后存儲(chǔ)到一個(gè)Cube Map里,渲染時(shí),只需要使用法線n去這個(gè)Cube Map里索引就能得到Environment Lighting,這個(gè)存儲(chǔ)著光照的Cube Map就叫Irradiance Map。計(jì)算的偽代碼如下:

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

網(wǎng)友評(píng)論