微表面分佈函數(Microfacet Distribution Function)確切含義

 

《Physically-Based Shading Models in Film and Game Production》中說:「D()的值不侷限於0到1,能夠任意大」,這句話使我比較好奇D()的確切含義。blog

如下引自《Physically-Based Shading Models in Film and Game Production》:io

(http://renderwonk.com/publications/s2010-shading-course/hoffman/s2010_physically_based_shading_hoffman_a_notes.pdf)pdf

而後在pbrt中找到了關於D的一些描述:sed

 

如下摘自pbrt p537~538:im

 

根據call

能夠領會出D的確切含義。統計

能夠把D看做是一個畫在半球上的分佈表,它是這樣製做作出來的:db

取單位面積宏表面,統計其上的微表面面積分布狀況,img

將單位半球面分割成無限多個面積無限小的球面元,di

設中心方向爲w的球面元爲s(w),其面積爲ds,

s(w)覆蓋包含w在內的一簇方向,

設以這簇方向爲法向的全部微表面面積之和爲A(w),

則A(w)在s(w)上的密度爲A(w)/ds。

將此密度值填寫到球面元s(w)上,半球面表格D就製做成功了。

普通表格都是畫在平面紙上,而此表格畫面半球面上。

根據上面表格D的製做過程,即可很清楚地看出分佈D的確切含義:

D(w)表示:單位宏表面上,法線落在方向爲w的微分立體角dw內的微表面總面積與dw的商。

所以D(w)*dw表示單位宏表面上法線落在微分立體角dw內的微表面總面積。

設theta爲w與宏表面法線的夾角,根據幾何關係易知法向爲w的微表面與宏表面之間的夾角也爲theta。

因而D(w)*dw*cos(theta)表示:單位宏表面上法線落在微分立體角dw內的微表面總面積在宏表面上的投影。

因爲各方向的微表面在宏表面上投影總和剛好覆蓋宏表面,因此

D(w)*dw*cos(theta)在半球上的積分應等於宏表面的面積,因爲這裏咱們取的是單位宏表面,因此面積爲1,即:

相關文章
相關標籤/搜索