GAMES101-現代計算機圖形學入門-閆令琪 - lecture15 光線追蹤3 - 輻射度量學、渲染方程(Ray Tracing 3) - 課後筆記

光線追蹤3 - 輻射度量學、渲染方程和全局光照

內容:

  • 輻射度量學
  • 光線傳輸(Light transport)
    • 反射方程(The reflection equation)
    • 渲染方程(The rendering equation)
  • 全局光照(Global illumination)

輻射度量學

Radiant energy:輻射能量,單位位焦耳J,在圖形學中幾乎不用

Radiant flux(power):單位時間內輻射出的能量
在這裏插入圖片描述
Radiant Intensity:在單位時間內,往每個立體角(Solid Angle)上輻射出的能量
在這裏插入圖片描述
立體角(Solid Angle):球體上對應面積與半徑的平方的比值
在這裏插入圖片描述
單位立體角(Differential Solid Angles):單位面積對應的立體角的大小,dA表示單位面積,dw表示單位立體角
在這裏插入圖片描述

Irradiance

定義:在單位時間內,每個單位面積上接受到的光照的能量,Radiant Intensity的微分/面積的微分。注:這個單位面積必須要和光線垂直,如果不垂直的話要把面積投影到垂直的方向上,類似之前的Biling - Phong裏的內容。
在這裏插入圖片描述

Lambert’s Cosine Law

在這裏插入圖片描述

  • 左圖:單位面積和光線垂直,所以直接用Irradiance的計算式即可
  • 中圖:面積與光線不垂直,其投影只能接受到三根、一半的光線,所以要×1/2
  • 右圖:更普遍的情況,當單位面積與光線不垂直時,要×cos將其投影到垂直的方向上去。

爲什麼地球會出現四季的變換?

上面的Lambert’s餘弦定理就解釋了地球爲什麼會出現四季變換。
在這裏插入圖片描述
當北半球是夏天時,太陽光直射北半球,北半球接收到的光的能量更多,也就更熱;而當北半球是冬天時,光線與地球的表面有一定的夾角,吸收的能量減少,所以冬天就更冷。(如上圖地球中黑色虛線處)

用Irradiance解釋能量的衰減

之前曾經說過,我們是假設能量集中在一個球殼上,隨着球殼的增大,光的強度會有一個r平方的衰減;

現在可以用Irradiance正確解釋:在最內部的單位球上,Irradiance(E) = φ/4π,單位面積上接受到的能量就是φ/4π,而在外部的球面上,Irradiance(E’) = φ/4πr^2,,在單位面積上接受到的能量就是 φ/4πr^2,所以就是r平方的衰減。

所以就可以知道,在這裏衰減的並不是Radiant Intensity,而是Irradiance在衰減。如果從球心以一個立體角畫一個錐形,就可以知道,隨着球面越來越大,立體角的大小是不變的,而立體角對應單位面積的大小卻越來越大,所以球面越大時,dA越大,Irradiance也就會越小。

Radiance

Radiance時描述環境中光的分佈的基本場量(fundamental field quantity)

  • 主要用來準確描述光線的一些屬性
  • 準確的光線追蹤與radiance關係非常大,渲染就是在計算radiance

定義:

英文定義:The radiance (luminance) is the power emitted, reflected, transmitted or received by a surface, per unit solid angle, per projected unit area.

定義:radiant power(flux)在每個單位立體角、每個投影的面上有多少
在這裏插入圖片描述
定義中有兩個”每“,所以這裏要做兩次微分,其中做θ是面的投影時用到的角度
在這裏插入圖片描述
Radiance如上圖所示:dA爲一個單位面積,該單位面積有自己的方向,所以和入射的光線會有一個夾角θ,然後從這個面往某個方向w上輻射出一些能量。

聯繫

Radiance :Radiant power(flux) per unit solid angle , per projected unit area.

Irradiance : Radiant power per projected unit area.

Radiant Intensity : power per solid angle

所以上面三個物理量聯繫起來就是:

Radiance : Irradiance per solid angle
在這裏插入圖片描述
按照這種聯繫解釋就是說:Radiance表示單位面積dA將接受到的能量朝w方向輻射出的能量。同樣,反過來也可以說從w方向發射來的Radiance到dA上一共接受得到了Irradiance的能量。

Radiance: Radiant Intensity per projected unit area
在這裏插入圖片描述
Intensity代表的是向單位立體角的方向上輻射出的能量,這裏Radiance就代表在某個單位面積的投影上的Intensity

Radiance和Irradiance的區別

  • Radiance是面向某個單位立體角輻射出去的能量,Irradiance是單位面積上接受到來自四面八方的能量。
  • 把半球面上的所有Radiance積分起來得到的就是Irradiance
    在這裏插入圖片描述

雙向反射分佈函數(Bidirectional Reflectance Distribution Function,BRDF)

反射

在之前說過,反射就是一道光線到達一個表面,然後反射到其他的方向去;這個過程其實也可以看作是從某一個方向來的光線到達物體表面後被物體表面所吸收,然後再由物體表面發射到其他方向去,如下圖所示:
在這裏插入圖片描述
dE(wi)表示從wi方向射來的radiance到達反射點時被吸收轉化得到的Irradiance(其實就是反射點從某一個方向接收到的能量轉化爲自己的能量之後然後再輻射出去),下面的等式可以通過前面的內容變換得到。
在這裏插入圖片描述
dL(x,wr)則表示反射點向wr方向反射出去的radiance。

我們知道反射點要吸收來自某一個方向的radiance然後反射到四面八方的立體角上,但是我們不知道反射到wr的方向上會有多少能量。

所以我們就定義一個函數,計算出:考慮一個微小的面積dA,從某一個微小的立體角dwi上接受到的Irradiance,會如何被分配到各個立體角上。其實求得就是一個比例,是什麼比例?這個比例是 對於任何一個立體角上發出去的Radiance / 單位面積接收到的Irradiance,這就是BRDF的定義。它會告訴我們如何把表面上收集到的能量以某一種比例放射到其他的方向上去。

BRDF

BRDF能表示從每個入射方向收集到的能量以某種比例反射到每個出射方向上的能量。

就是說某個光線打到物體表面後,往不同方向反射的能量分佈。如果說是鏡面反射,那麼只有反射方向上會有能量,其他所有方向上都沒有能量;如果是漫反射,就會告訴我,這個進來的能量會被均等的分佈到各個方向上。
在這裏插入圖片描述
忽略其推導部分,其實BRDF就是描述了物體和光線之間的相互作用。正是由於BRDF的這種概念,決定了物體不同的材質到底是怎麼一回事,也就是BRDF定義了材質。

反射方程(The Reflection Equation)

由上面的式子我們可以得到:
在這裏插入圖片描述
從wi角度入射的能量最後反射到wr方向上的能量爲dLr(wr)。
在這裏插入圖片描述

而在反射的過程,我們並不是只對單一的,來自某一個方向的能量進行反射,而是要將來自四面八方的能量都收集起來,然後反射到某一個角度上,所以要得到最終的反射效果,應該是:

  • 通過BRDF計算出每個接受的能量反射到wr方向上的能量
  • 然後把這些能量全部累加起來,得到就是wr方向上反射的能量。

用積分表示就是:
在這裏插入圖片描述
其中H的平方表示的積分面積爲整個半球面。上面的整個表達式就是反射方程

挑戰:遞歸等式、

在這裏插入圖片描述
在考慮反射方程的時候,我們要注意到:

  • 反射點接受的能量(Irradiance)並不只是來自於光源,還會來自別的表面反射來的光(Irradiance)
  • 從反射點反射出去的能量(Radiance)也並不只會反射到Camera或者人眼,還會作爲Irradiance反射到其他的面上。

所以反射方程的定義就成了一個遞歸的定義,也因此,光線反射的次數不同,得到的最終效果也就不會不同。

但是我們目前先不考慮這些,我們先學一個通用的方程即可。

渲染方程(The Rendering Euqation)

渲染方程很簡單,與反射方程相比,渲染方程只是多加了一個自己發光的能量。因爲我們在考慮物體表面對光進行反射的時候,沒有考慮物體自己發光的情況,所以渲染方程就加上了物體自身發光的能量。反射光 + 自身 發光 = 渲染效果,渲染方程如下:
在這裏插入圖片描述
其中Le是物體自身發的光,後面的積分是反射光。

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