光線跟蹤

     

在我們的場景中,有一個點光源L,兩個透明的物體Q1與Q2,一個不透明的物體Q3。首先,從視點出發經過一個像素點的視線E傳播到達球體Q1,與其交點爲P1.從P1向光源L作一條陰影測試線S1,發現其間沒有遮擋的物體,那麼就用局部光照模型計算光源對P1在其視線E的方向上的光強,作爲該點的局部光強。同時還要跟蹤該點處反射光線R1和折射光線T1,他們也對P1點的光強也有貢獻。在反射光線R1方向上,沒有再與其他物體相交,那麼就設該方向的光強爲零,並結束該光線方向的跟蹤。然後對折射光線T1方向進行跟蹤,計算該光線的光強貢獻。折射光線T1在物體Q1內部傳播,與Q1相交與點P2,由於該店在物體內部,我們假設他的局部光強爲零,同時產生了反射光線R2和赭色光線T2,在反射光線R2方向,可以繼續遞歸跟蹤下去計算他的光強,在這裏就不在繼續下去了。我們將繼續對折射光線T2進行跟蹤。T2與物體Q3交於點P3,做P3與光源Ld 陰影測試線S3,沒有物體遮擋,那麼計算該處的局部光強,由於該物體是非透明的,那麼可以繼續跟蹤反射光線R3方向的光強結合局部光強來得到P3處的光強。反射光線R3的跟蹤與前面的過程類似,算法可以遞歸地進行下去。重複上面的過程,直到光線滿足跟蹤終止條件。這樣就可以得到視屏上的一個像素點的光強,也就是他相應的顏色值。可以有以下的終止條件:

該光線未碰到任何物體。

該光線碰到了背景。

光線在經過許多次反射和折射以後,就會產生衰減,光線對於視點的光照強度貢獻很小(小於某個設定值)

光線反射成折射次數即跟蹤深度大於一定值。

發佈了19 篇原創文章 · 獲贊 0 · 訪問量 3098
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章