我想找到详细的描述,最好是使用OpenGL的示例,该示例使用渐进细化光能传递算法的OpenGL,但不能。更准确地说,如何计算应该用来更新收集器四边形的辐射度以及其父级射击四边形的未射击能力的值。

我尝试阅读GPU gems,我认为我要搜索的部分是

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


但是我不确定。

最佳答案

没错,那是将能量从源四极分布到其他四极的部分。 FF是形状系数,其值在0到1之间。

形状因数考虑了四边形的距离和方向,以确定接收到多少光。因此,例如,两个非常接近,相对的四边形将具有接近1的形状因子,而两个法线之间的法线之间的夹角很小,或者相距很远或两者都将具有接近0的值。

r将是源四边形和聚集四边形之间的差异区域。我认为,如果聚集四边形区域比源四边形大4倍,则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

09-25 20:43