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)

另请参阅

SetLight