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