共用方式為


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結構,表示光在世界空間中的位置。 這個成員對方向燈沒有任何意義(也就是說,如果D3DLIGHT_DIRECTIONAL是在 Type 成員中設定),而且在該情況下會被忽略。 如需D3DVECTOR的詳細資訊,請參閱 Windows SDK 檔。

[in] Direction

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

[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 (包括 D3dumddi.h)

另請參閱

SetLight