共用方式為


發光光源(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 圓圈,因為物件表面的底紋沒有差異。

綠色球體的圖例

下圖顯示前一個範例中的顯色光線如何與其他三種類型的燈光混合。 在球體右側,有綠色自發光和紅色環境光的混合。 在球體左側,綠色發出光與紅色環境與擴散光混合,產生紅色漸層。 鏡面高光在中央是白色的,當鏡面光值急劇降低時,會形成一個黃色的環狀,使環境光、漫射光和發光的值混合在一起形成黃色。

發光的綠色球體插圖

光源 數學