你可能認為直接模擬這個過程是個制作圖像的好辦法,你基本上是對的。但,直接模擬有個問題,那就是他繪制圖像所需要的時間,考慮每個光源每秒可能產生數以兆計(Millions)個光子的情況,其中,每個光子都以略微不同的震動頻率朝著略微不同的方向前進。其中的許多光子撞擊對象你甚至都無法間接看到。其他的正好跑出場景的,比如沖出窗戶的。如果我們想要嘗試去以參照真實追蹤從光源出來的光子的方式來繪制一個圖像,那將會花費數年的時間來得到那個蠢圖。
本質問題不是前向光線追蹤不好,而是從光源來的大部分光子對想要繪制的圖像都沒有幫助。從占用計算資源的角度來說,跟隨無用的光子的代價太過于昂貴了。
對于計算效率的關鍵理解是反轉問題,通過用逆向光線追蹤來代替前向光線追蹤。這開始于我們的反問"哪些光子對繪圖是有貢獻的?",符合條件的光子是那些撞擊了圖像平面并反射進眼睛的那些光子.所有的這些光子在撞擊屏幕前都行進了一段路程;也許有一些直接來自于光源,但是更多的也許在進入眼睛前在周圍反彈。
讓我們考慮一個圖像平面上的特殊點。我們可以輕易地跟著依次撞擊屏幕和眼睛的光子找到路徑:那是一條從屏幕到眼睛的線,如圖6所示。
因此,如果一下光子確實對視距內的圖片上的某點有貢獻,那么它就代表一條進入眼睛和膠卷的光線。但是等等,這個光子來自哪里呢?如果我們把光線延伸入世界,我們可以沿著光線的路徑尋找尋找最近的物體,光線必定來自這個物體。
思考圖7,一個光線射入眼睛撞擊球體,穿過圖像平面。那就是光子可能的路徑;即使任何光子穿過了那個路徑,我們也無從得知。但是如果任何光線撞擊了屏幕中的那部分射入眼睛,那么它必須沿著從球到眼睛的這條線行進。因此,我們的新計劃著重討論是否有任何光子通過了那條路。
以這個途徑,我們以從對象到光源的逆向光線追蹤手段來進行光線追蹤。這是種重要規定,它可以允許我們去限制我們對于光線的注意,從而讓我們知道真正對圖片有用的,進入了眼睛的那些光線。
現在,我們找到了吸引我們眼球的光子了。我們必須找出來那些真的通過了那條路徑的光子,及其顏色,我們將會在下面的話題中解決這些問題。
因為正向光線追蹤是如此的昂貴,現今的圖形學中的光線追蹤大部分都只逆向光線追蹤。很不幸的是一些逆向追蹤的符號產生了一些令人困惑的符號。回想我們逆向追蹤來找出光子的起點,雖然我們經常在逆向追蹤中完成這些研究。想象我們乘坐在光子在路徑上行進,尋找我們路徑上的第一個對象;這是光線的起點,因此我們經常說的"光線第一個撞擊的對象"或者"路徑上的第一個對象"。即我們通常指的對象就是這樣一個穿過這個光線的光子,這樣一個逆向點在光線追蹤文章和算法中很流行。因此他是用來思考現在的問題再好不過,而且之后也不會迷惑。總結起來就是"光線撞擊的第一個對象"意味著"某個發射了這個光線的對象"。
-
光線
+關注
關注
0文章
72瀏覽量
10599
原文標題:光線追蹤(3)前向光線追蹤和逆向光線追蹤
文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
基于光線追蹤實現反射折射效果

基于光線追蹤的渲染算法實現

光線追蹤算法概覽

光線追蹤的工作原理

冷光線驅動器可以用什么代替
如何遠離網絡追蹤

AMD光線追蹤專家加盟高通,共筑Adreno GPU性能新高度
MediaTek攜手望塵科技通過移動端光線追蹤技術打造沉浸體育游戲體驗
MediaTek攜手望塵科技共同推進移動端光線追蹤技術在手游中的應用落地

邊緣光線理論基礎

評論