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在 类型 成员中设置),在这种情况下将被忽略。 有关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 (包括 D3dumddi.h) |