在調整衰減參數後,光源引擎會根據頂點法線的
作者:VSport  日期:2025-12-06  浏览:  来源:VSport体育

在調整衰減參數後,光源引擎會根據頂點法線的角度與光源方向,計算剩餘光線在頂點的反射量。對於方向光,系統會直接進入此步驟,因為它們不會隨距離衰減。整體流程會同時處理兩種反射類型:漫射與鏡面反射,並以不同公式計算各自的光線強度。計算完成後,Direct3D 會把這些新值套用到目前材質的漫射與鏡面反射特性上。最終得到的色彩值,會被用來產生 Gouraud 著色及鏡面高光的呈現。

漫射光分量的描述如下:

漫射光源 = ∑ Cd * Ld * (N · Ldir) * Atten * Spot

參數與說明

- 總和:各光源漫射成分的總和

- Cd:漫射顏色(D3DCOLORVALUE)

- Ld:漫射光的顏色分量(D3DCOLORVALUE)

- N:頂點法線向量(D3DVECTOR)

- Ldir:從頂點到光源的方向向量(D3DVECTOR)

- Atten:光線衰減係數(浮點數)

- Spot:聚光燈係數(浮點數)

Cd 的取值情形

- 頂點顏色1:若 DIFFUSEMATERIALSOURCE 設為 D3DMCS_COLOR1,且頂點宣告提供第一個頂點顏色。

- 頂點顏色2:若 DIFFUSEMATERIALSOURCE 設為 D3DMCS_COLOR2,且頂點宣告提供第二個頂點顏色。

- 材質漫射顏色:以材質的漫射顏色作為 Cd 的基底。

衰減與聚光燈特性的計算,請參閱相關的衰減與聚光燈因數說明。

漫射分量在逐個光源處理與插值完成後,會被限制在 0 到 255 的範圍內。最終產出的漫射光值,是環境光、漫射光與鏡面反射等分量共同作用的結果。

在此範例中,物體的著色是由光線的漫射顏色與材質的漫射顏色共同決定。整體呈現會顯示材質的基礎色彩與光源的影響,並透過兩種顏色組合來描述材質色彩與淺色光的互動。

場景與效果說明

- 場景中若只有球體,漫射光的計算會依照材質的漫射顏色與光線的漫射顏色,並以點乘(N 與 Ldir 的餘弦值)調整光線方向與頂點法線的夾角,導致球體背面因朝向光源的方向而變暗。

- 當把漫射光與環境光結合時,對象表面將會有較強的整體光照效果,環境光會覆蓋整個表面,提升物體的立體感。

- 相較於單純的環境光,散射光(漫射光)計算更具立体感,因為它依賴頂點法線與光線方向的關係,使得在三維空間中能更真實地呈現物件的幾何特徵;適當使用高光可進一步增強物件的光澤與真實感。VSport

光源與光學的數學關係

- 漫射分量的核心在於頂點法線與光線方向間的夾角,以及材質漫射顏色與光源漫射顏色的乘積效果。

- 衰減與聚光燈等因素會影響各光源的貢獻量,進而影響整體畫面的亮度與立體感。

- 最終的顏色值會經過逐光源的疊加與插值處理,呈現出綜合的光照效果與材質特性。