D3DDDI_LIGHT 結構 (d3dumddi.h)

D3DDDI_LIGHT 結構描述一組光源屬性。

語法

typedef struct _D3DDDI_LIGHT {
  [in] D3DLIGHTTYPE  Type;
  [in] D3DCOLORVALUE Diffuse;
  [in] D3DCOLORVALUE Specular;
  [in] D3DCOLORVALUE Ambient;
  [in] D3DVECTOR     Position;
  [in] D3DVECTOR     Direction;
  [in] FLOAT         Range;
  [in] FLOAT         Falloff;
  [in] FLOAT         Attenuation0;
  [in] FLOAT         Attenuation1;
  [in] FLOAT         Attenuation2;
  [in] FLOAT         Theta;
  [in] FLOAT         Phi;
} D3DDDI_LIGHT;

成員

[in] Type

指出光源類型的D3DLIGHTTYPE型別值。 如需D3DLIGHTTYPE的詳細資訊,請參閱 Microsoft Windows SDK 檔。

[in] Diffuse

D3DCOLORVALUE 結構,表示光線發出的擴散色彩。 如需D3DCOLORVALUE的詳細資訊,請參閱 Windows SDK 檔。

[in] Specular

D3DCOLORVALUE 結構,表示光線發出的反射色彩。

[in] Ambient

D3DCOLORVALUE 結構,表示光線所發出的環境色彩。

[in] Position

D3DVECTOR結構,表示光線在世界空間中的位置。 這個成員對於方向燈 (沒有意義,也就是說,如果在 Type 成員) 中設定D3DLIGHT_DIRECTIONAL,則會在該情況下忽略。 如需D3DVECTOR的詳細資訊,請參閱 Windows SDK 檔。

[in] Direction

D3DVECTOR結構,表示光線在世界空間中指向的方向。 如果類型 ) 中設定 了D3DLIGHT_DIRECTIONAL和D3DLIGHT_SPOT,這個成員就只有方向燈和焦點 (的意義。 此向量不需要正規化,但長度應該為非零。

[in] Range

光線沒有作用的距離。 此成員允許的最大值為 D3DLIGHT_RANGE_MAX,定義為FLT_MAX的平方根。 此成員不會影響方向燈。

[in] Falloff

焦點的內部圓錐 (由 Theta 成員) 指定的角度,以及外部圓錐的外部邊緣 (由 Phi 成員所指定的角度) , 光線的下降效果很細微。 此外,成形後差曲線會產生較小的效能負面影響。 基於這些原因,大部分開發人員會將此成員設定為1.0。

[in] Attenuation0

光線的常數衰減因數。 衰減值會指定光線強度如何隨著距離而改變。 衰減不會影響方向燈。 這個成員的有效值範圍從 0.0 到無限大。

[in] Attenuation1

光線的線性衰減因數。 衰減值會指定光線強度如何隨著距離而改變。 衰減不會影響方向燈。 這個成員的有效值範圍從 0.0 到無限大。

[in] Attenuation2

光線的二次衰減因數。 衰減值會指定光線強度如何隨著距離而改變。 衰減不會影響方向燈。 這個成員的有效值範圍從 0.0 到無限大。

[in] Theta

焦點內部圓錐的角度,以弧度表示,也就是完全光源的焦點圓錐。 這個值的範圍必須介於 0 到 Phi 成員所指定的值之間。

[in] Phi

角度,以弧度為單位,定義焦點外圓錐的外邊緣。 此圓錐以外的點不會由焦點點亮。 此值必須介於 0 和 Pi 之間。

規格需求

需求
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。
標頭 d3dumddi.h (include D3dumddi.h)

另請參閱

SetLight