發光光源(Direct3D 9)
發光照明是由單一詞彙來描述的。
自發光光源 = Cₑ
哪裡:
參數 | 預設值 | 類型 | 描述 |
---|---|---|---|
Cₑ | (0,0,0,0) | D3DCOLORVALUE | 自發光色彩。 |
Cₑ 的值可能為:
- 頂點 color1,如果 EMISSIVEMATERIALSOURCE = D3DMCS_COLOR1,而且頂點宣告中會提供第一個頂點色彩。
- 頂點色彩2,如果EMISSIVEMATERIALSOURCE = D3DMCS_COLOR2,而頂點宣告中會提供第二個頂點色彩。
- 材質發光色彩
注意
如果使用了EMISSIVEMATERIALSOURCE選項,而且未提供頂點色彩,則會使用材質的自發光色彩。
例
在此範例中,物件會使用場景環境光線和材質環境色彩來著色。 程序代碼如下所示。
// create material
D3DMATERIAL9 mtrl;
ZeroMemory( &mtrl, sizeof(mtrl) );
mtrl.Emissive.r = 0.0f;
mtrl.Emissive.g = 0.75f;
mtrl.Emissive.b = 0.0f;
mtrl.Emissive.a = 0.0f;
m_pd3dDevice->SetMaterial( &mtrl );
m_pd3dDevice->SetRenderState(D3DRS_EMISSIVEMATERIALSOURCE, D3DMCS_MATERIAL);
根據方程式,物件頂點產生的色彩是材質色彩。
下圖顯示材質色彩,其為綠色。 發光光源會以相同色彩照亮所有物件的頂點。 它不相依於頂點法線或光線方向。 因此,球體看起來像一個 2D 圓圈,因為物件表面的底紋沒有差異。
下圖顯示前一個範例中的顯色光線如何與其他三種類型的燈光混合。 在球體右側,有綠色自發光和紅色環境光的混合。 在球體左側,綠色發出光與紅色環境與擴散光混合,產生紅色漸層。 鏡面高光在中央是白色的,當鏡面光值急劇降低時,會形成一個黃色的環狀,使環境光、漫射光和發光的值混合在一起形成黃色。
相關主題
-
光源 的 數學