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 之間。
規格需求
需求 | 值 |
---|---|
標頭 |
|
另請參閱