
漫射光分量的描述如下:
漫射光源 = ∑ 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
光源與光學的數學關係
- 漫射分量的核心在於頂點法線與光線方向間的夾角,以及材質漫射顏色與光源漫射顏色的乘積效果。
- 衰減與聚光燈等因素會影響各光源的貢獻量,進而影響整體畫面的亮度與立體感。
- 最終的顏色值會經過逐光源的疊加與插值處理,呈現出綜合的光照效果與材質特性。
