2013-04-21 71 views
0

我想找到一個詳細的描述,最好使用OpenGL的漸進細化輻射度算法的例子,但不能。更確切地說,你如何計算你應該更新收集者四邊形的無線電能力的值,以及他們的父射手四邊形的未知能力。我試着讀GPU寶石(http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter39.html),我想我在尋找的部分是漸進細化光能傳遞算法

DE = r * FF * E 
    add DE to residual texture 
    add DE to radiosity texture 

但我不知道。

回答

2

你說得對,這是從源四分配到其他四邊形的能量的部分。 FF是一個介於0和1之間的形狀因子。

形狀因子考慮了四邊形的距離和方向,以確定接收到多少光線。因此,例如兩個非常接近,相對的四邊形將獲得接近1的形狀因子,並且兩個四邊形之間具有它們的法線之間的小角度,非常遠或兩者都將獲得接近0的值。

r將是源四元組與收集四元組之間的差異區域。如果聚四邊形區域比源四倍大,我認爲r是4。如果你的四邊形尺寸一致(這將只是1),你不需要這個。

E是源四射的能量。這是一個存儲值,當四元組是來源時不計算。只有在四方收集時纔會更新。

DE是單個收集四元組收到的E的量。

這兩篇文章都是在我看來更好:

http://www.flipcode.com/archives/Radiosity_In_English-The_Basics.shtml http://www.flipcode.com/archives/Radiosity_In_English-Form_Factor_Calculation.shtml