共用方式為


D3DLIGHT9 結構

定義一組光源屬性。

語法

typedef struct D3DLIGHT9 {
  D3DLIGHTTYPE  Type;
  D3DCOLORVALUE Diffuse;
  D3DCOLORVALUE Specular;
  D3DCOLORVALUE Ambient;
  D3DVECTOR     Position;
  D3DVECTOR     Direction;
  float         Range;
  float         Falloff;
  float         Attenuation0;
  float         Attenuation1;
  float         Attenuation2;
  float         Theta;
  float         Phi;
} D3DLIGHT9, *LPD3DLIGHT;

成員

類型

類型: D3DLIGHTTYPE

光源的類型。 這個值是 D3DLIGHTTYPE 列舉類型的其中一個成員。

擴散

類型: D3DCOLORVALUE

光線發出的擴散色彩。 這個成員是 D3DCOLORVALUE 結構。

反射

類型: D3DCOLORVALUE

光線發出的反射色彩。 這個成員是 D3DCOLORVALUE 結構。

環境

類型: D3DCOLORVALUE

光線發出的環境色彩。 這個成員是 D3DCOLORVALUE 結構。

位置

類型: D3DVECTOR

光線在世界空間中的位置,由 D3DVECTOR 結構指定。 此成員對於方向燈沒有意義,在此情況下會忽略。

方向

類型: D3DVECTOR

光線指向世界空間的方向,由 D3DVECTOR 結構指定。 這個成員只對方向和焦點有意義。 此向量不需要正規化,但長度應該為非零。

Range

類型: float

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

衰減

類型: float

在焦點的內部圓錐之間減少 (Theta) 指定的角度,以及外部圓錐的外部邊緣 (Phi) 所指定的角度。

光線的落落效果很細微。 此外,成形遞補曲線會產生較小的效能負面影響。 基於這些原因,大部分開發人員會將此值設定為 1.0。

衰減0

類型: float

值,指定光線強度如何隨著距離變化。 方向燈會忽略衰減值。 這個成員代表衰減常數。 如需衰減的相關資訊,請參閱 Light Properties (Direct3D 9) 。 這個成員的有效值範圍從 0.0 到無限大。 針對非方向光源,這三個衰減值不應同時設定為 0.0。

衰減1

類型: float

值,指定光線強度如何隨著距離變化。 方向燈會忽略衰減值。 這個成員代表衰減常數。 如需衰減的相關資訊,請參閱 Light Properties (Direct3D 9) 。 這個成員的有效值範圍從 0.0 到無限大。 針對非方向光源,這三個衰減值不應同時設定為 0.0。

衰減2

類型: float

值,指定光線強度如何隨著距離變化。 方向燈會忽略衰減值。 這個成員代表衰減常數。 如需衰減的相關資訊,請參閱 Light Properties (Direct3D 9) 。 這個成員的有效值範圍從 0.0 到無限大。 針對非方向光源,這三個衰減值不應同時設定為 0.0。

Θ

類型: float

焦點內部圓錐的角度,以弧度為單位 ,也就是完全亮起的焦點圓錐。 此值必須介於 0 到 Phi 所指定的值之間。

類型: float

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

規格需求

需求
標頭
D3D9Types.h

另請參閱

Direct3D 結構

GetLight

SetLight