Lecture13_光線追蹤1(Whitted-Style Ray Tracing)_GAMES101 課堂筆記


引入光線追蹤目的:

  1. 因為光柵化不能很好地處理全局效果,例如:
    • 軟陰影:光柵化需要經過兩個過程才能形成軟陰影;
    • Glossy 反射:既有反射,又有本身材質的粗糙性影響;
    • 間接反射:光線在空間中會反射很多次,很難渲染。
  2. 光柵化速度快,但是質量並不好,表現得是相似的東西;光線追蹤很精確,效果很真實,不過速度很慢。(光柵化可以達到實時,但是光線追蹤需要離線。)

第一部分:光線追蹤算法基礎

一、光線定義:

  1. 光線沿着直線傳播。(本課程不考慮光的波動性)
  2. 光線之間如果交叉不會互相碰撞。(假設)
  3. 光線從光源發出可以到達人眼。(但是物理上認為光線在路徑你轉不變—— Reciprocity(光可逆性))

二、光線投射(Ray Casting)

(一)定義

  1. 通過將光源逐像素投射生成一張圖片。
  2. 通過投射光線檢查陰影。

(二)生成過程

下圖例子是照射一個透明物體,會分別產生 ② 折射光線和 ④反射光線,在分別照射出去為③、投射到物體上。最后將照射在物體上的幾個黑點連接到點光源(light source),如果未被遮擋,則疊加計算到從eye point(camera point)中投射出來的像素中。使用着色模型(例如:Blin Phong模型)進行着色。

觀察上圖,可知四根shadow rays,其中長方形投射的光線被三角形擋住,因此該像素點為其他那根光線的累加值。

(三)光線等式

光線通過原點(O點)和方向(\(\overrightarrow d\))決定。公式如下:

(四)光線和球面角點


光線:\(r\left(t\right) = o +td,0 \leq t < \infty\)
球面:$ p:(p-c)^2 - R^2 = 0$
交點P: 交點P必須同時滿足射線方程和球面方程。
求解交點:\((o+td-c)^2 - R^2 = 0\)
求解交點P過程

(五)光線和三角形網格交點


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM