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) |