乙個週末搞懂光線追蹤 理論 實踐

2021-09-25 09:54:10 字數 838 閱讀 7284

提供基本的向量運算操作

p(t) = a + t * b

射線追蹤的核心

使用的

朝向螢幕的是z軸負方向,朝向螢幕外的是z軸正方向

從螢幕左下角掃瞄螢幕,使用2個偏移向量來移動射線終點來穿過螢幕

沒有讓射線是單位向量,為了**保持簡單輕快

流程

遍歷每乙個畫素,把畫素座標轉換成到0,1),計算指向每乙個畫素的射線,計算這個射線的顏色

展開等式並且左移後得:t*t*dot(b,b)+2*t*dot(a-c,a-c)+dot(c,c)-r*r=0

著色時如果射線抵達的是球體表面顯示法線顏色

增加了乙個hitable類,用來計算給定射線和tmin, tmax,射線射中了**

計算射中球體表面時增加了選擇的策略

建立多個球體用來顯示,更新了球體的類和main函式

建立反射射線

獲得射線 s - hit point,求這條射線的顏色 color

最終顏色 = 吸收率 * color

伽馬矯正:(0,1)的值在被儲存為byte前需要被轉換

「gamma 2」

物體和材質需要互相引用,出現迴圈引用

反射策略

lambertian材質,擁有反照率引數

越大的球體其反射越顯得模糊

關心的位置

處理旋轉

和僅有fov的情況以前相比,現在可以控制相機的位置和朝向

虛擬相機有完美的感知器並且不需要更多光線,所有我們只需要光圈

模擬感知、透鏡、光圈,指出從**發射射線,翻轉

具體到**

乙個普通的週末

每個星期天都是讓人開心的日子,睡到自然醒,穿著拖鞋不緊不慢的溜達去吃個早餐,手上就差個鳥籠了.回來後看 顫慄航班 著實被震撼了一把,記得當年911的時候還覺得有點幸災樂禍,嘿嘿,你美國也有今天。直到今天,通過我那可憐小驢汗流浹背辛苦拉了乙個通宵的盜版拷貝,終於,我在這件事情上昇華了,嘿嘿。我發自內心...

乙個光線跟蹤的簡單例項

零 一些效果圖 如下所示 一 光線跟蹤的基本原理 引用 如上圖所示,聯結觀察點和螢幕上的乙個象素,即形成一根視線。因此,視線的數目等於象素的數目。對於每一根視線作如下處理 計算視線v與各平面的交點。以距離最小的交點為可見交點p0。視線v在p0處產生反射和透射,所產生的反射線和透視線作為新的視線與各平...

又是乙個忙碌的週末

又度過了乙個繁忙的週末,幾乎每個週末都要因為實習的筆試跑一趟廣州 先說說銀行業從業考試,說實在的最開始報名也並沒有想好為什麼要考,只是為了在投相關公司的時候能說明自己專業不相關但是對於業務有了解吧 我並沒有把考試的輔導書看完 沒買,圖書館借的 然後就是做題 在考試大 上的免費模擬試題 但是實際考試的...