advance shading 光源的型別

2022-07-21 04:48:11 字數 1776 閱讀 3175

我們這裡討論的光源型別都有乙個相同點,就是,我們考量的都是光源上的乙個點,對於物體表面上乙個點的影響,也就是說立體角趨近為零的情況。

這裡光源分為兩類,一類是方向光,假設光源在無限遠處。另一類是點光源,假設光源的大小相對與光源和物體表面的距離可以忽略。

方向光在前面介紹過了,它的對物體的輻照度是不變的。現在來把點光源細分一下。

第一種點光源叫omni light,泛光體。它的特點是光源向各個方向的輻射強度或者光的強度都是一樣的。在計算其對物體表面輻照度影響的時候使用如下方程:

其中,pl是光源的位置,ps是物體表面的位置。可以看出,輻照度是隨著物體表面和光源距離的平方的增加而減少的。其中第三個方程就是物理中輻射強度和輻照度的計算公式,這裡的輻照度是和光線垂直的表面的輻照度,這也是很多光照計算中為什麼有距離平方的倒數這種變數的原因。實際計算中通常只來計算乙個系。由一種叫做衰減方程(falloff function)來代替上式中的分母,如下:

之所以使用乙個方程而不是使用r的平方,是為了更好的控制渲染的效果。同時,能夠處理一些極端的情況,比如,物體如果和光源的距離十分接近,以及十分遠的時候。一下三種方程都是衰減方程的實際形式。

第乙個方程是opengl和dx固定流水線實現的方程。第二個是在實時渲染中廣泛使用的方程,其中rs和re是自己設定的,便於控制效果。第三個方程是pixar在電影渲染中所使用的一種方程。對於第三種方程,rc是乙個常量,用來描述和光源距離相關的常量,讓r越接近光源時,整個方程越接近fmax,而當光源越來越遠離時,通過se來實現乙個更好對方程結果的控制,另外兩個常量k0=ln(fc/fmax),k1 = se/k0,這個方程來自barzel的一篇2023年的**。到此,泛光源就介紹完了。

第二中點光源叫做spot light ,聚光燈。它就是光照強度隨著方向的改變而改變的一種光源。其中一種變化形式是根據光源方向和光線方向(光源位置到物體表面的向量,這個在前面的介紹中,為了在光照方程中能更快速的計算出光線和法線的夾角,所以一直方向一直是從物體表面到光源位置的單位向量,這裡,我們要反過來)的夾角來衰減光照強度,例如一下方程,這個方程也是opengl固定流水線中使用方程,

通過上述方程計算出光照強度後,利用以上的方程7.12或者衰減方程來計算輻照度。但是在dx固定管線中提供的是如下方程,這個方程的特點是能夠模擬出本影(umbra)和半影(penumbar),其中引數的意思,一看就知道了,這裡不多說了,

就是把實現shadow map時的深度紋理替換成一張二維紋理,這樣計算畫素時,直接混合紋理和畫素已有顏色就可以了。

機械光開關 MEMS光開關

光纖通訊系統中,光開關 optical switch,os 主要用於光路中實現光訊號的物理切換或其他邏輯操作,多用於光交叉連線oxc optical cross connect 技術中作為切換光路的關鍵器件。光開關具有乙個或多個可選擇的傳輸視窗,可分為2 2,1 n,m n多種埠配置形式。光開關在光...

光模組 光介面及光纖知識

乙太網交換機常用的光模組有sfp,gbic,xfp,xenpak 它們的英文全稱 sfp small form factor pluggabletransceiver 小封裝可插拔收發器 gbic gigabit inte ce converter,千兆乙太網介面轉換器 xfp 10 gigabit...

光流演算法 Horn Schunck光流講解

光流 optical flow 是空間運動物體在觀察成像平面上的畫素運動的瞬時速度。光流場是乙個二維向量場,它反映了影象上每一點灰度的變化趨勢,可看成是帶有灰度的畫素點在影象平面上運動而產生的瞬時速度場。它包含的資訊即是各像點的瞬時運動速度向量資訊。光流的集合。亮度恆定不變。同一目標幀間變化亮度不發...