Real-Time Global Illumination

實時全局光照:爲了簡單和快速,實時全局光照是在直接光照的基礎上再加一次間接光照。

 

直接光照加間接光照的效果,圖中小太陽的地方是直接光照,然後小太陽的光線會照射到p點

 實時全局光照的主要思路是:分爲兩個問題,第一步先確定直接光照點,這個可以用shadow map來解決,第二部是確定那些直接光照點(次級光源)對p點的貢獻。

先確定次級光源,通過shadow map可以知道被光線直接照射的點,光線通過shadow map上的像素照射到物體表面,這些點其實是一片很小的區域,把他們對p點的作用加起來就是最後看到的渲染結果,但每一個次級光源都有自己的光線反射,爲了能夠快速運算,假設次級光源點的反射都是漫反射,但p點的反射是正常的反射,有Glossy和diffuse。

 

 次級光源對着色點p的貢獻如何計算,因爲次級光源是一個很小的面光源,可以用path trace的思路來做,也就是對次級光源採樣的方法來算

 

 也是從渲染方程來計算,其中的Li是次級光源發出的radiance,在次級光源q上,它是漫反射,所以BRDF是常數,BRDF乘以入射的radiance就是出射的radiance,入射的radiance等於光源強度除以接受面積,然後會發現入射的radiance的式子分母dA和積分最後面的dA消掉了,這樣就可以計算積分內的式子直接得到結果。但這裏的visibility項很難算,因爲要考慮每一個着色點和每一個次級光源的光線能否到達的情況,所以就忽略visibility,也就是光線能夠直接到達,不會被擋住。

 

 從渲染方程上看,q到p的距離上還加了平方,所以在實際計算次級光源對p點的着色時,如果次級光源離着色點比較遠,就可以忽略改次級光源,那麼怎麼樣確定次級光源和着色點在三維空間下的距離,一種思路是把着色點投影到shadow map上的像素上,然後取改像素附近的像素對應的次級光源,也可以對像素附近採樣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章