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 结构指定。 此成员仅对方向和聚焦有意义。 此向量不需要规范化,但它的长度应为非零。

范围

类型: float

超出该距离的光线不起作用。 此成员允许的最大值为FLT_MAX的平方根。 此成员不影响定向光。

衰减

类型: float

聚光的内锥 (Theta) 指定的角度和外锥 (Phi) 指定的角度之间的照明减少。

落差对照明的影响很微妙。 此外,调整下降曲线会产生较小的性能损失。 出于这些原因,大多数开发人员将此值设置为 1.0。

Attenuation0

类型: float

指定光强度如何随时间变化的值。 对于定向光,将忽略衰减值。 此成员表示衰减常量。 有关衰减的信息,请参阅 Direct3D 9) (光属性 。 此成员的有效值范围为 0.0 到无穷大。 对于非定向光,所有三个衰减值不应同时设置为 0.0。

Attenuation1

类型: float

指定光强度如何随时间变化的值。 对于定向光,将忽略衰减值。 此成员表示衰减常量。 有关衰减的信息,请参阅 Direct3D 9) (光属性 。 此成员的有效值范围为 0.0 到无穷大。 对于非定向光,所有三个衰减值不应同时设置为 0.0。

Attenuation2

类型: float

指定光强度如何随时间变化的值。 对于定向光,将忽略衰减值。 此成员表示衰减常量。 有关衰减的信息,请参阅 Direct3D 9) (光属性 。 此成员的有效值范围为 0.0 到无穷大。 对于非定向光,所有三个衰减值不应同时设置为 0.0。

Θ

类型: float

聚光灯内部锥体的角度(即完全照亮的聚光锥)。以弧度为单位。 此值必须介于 0 到 Phi 指定的值的范围内。

类型: float

角度,以弧度为单位,定义聚光灯外锥的外边缘。 聚光灯不点亮此圆锥外的点。 此值必须介于 0 和 pi 之间。

要求

要求
标头
D3D9Types.h

另请参阅

Direct3D 结构

GetLight

SetLight