Compartir a través de


Estructura D3DLIGHT9

Define un conjunto de propiedades de iluminación.

Sintaxis

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;

Miembros

Tipo

Tipo: D3DLIGHTTYPE

Tipo de fuente de luz. Este valor es uno de los miembros del tipo enumerado D3DLIGHTTYPE .

Difusa

Tipo: D3DCOLORVALUE

Color difuso emitido por la luz. Este miembro es una estructura D3DCOLORVALUE .

Especular

Tipo: D3DCOLORVALUE

Color especular emitido por la luz. Este miembro es una estructura D3DCOLORVALUE .

Ambiente

Tipo: D3DCOLORVALUE

Color ambiente emitido por la luz. Este miembro es una estructura D3DCOLORVALUE .

Posición

Tipo: D3DVECTOR

Posición de la luz en el espacio mundial, especificada por una estructura D3DVECTOR . Este miembro no tiene ningún significado para las luces direccionales y se omite en ese caso.

Dirección

Tipo: D3DVECTOR

Dirección que la luz apunta en el espacio mundial, especificada por una estructura D3DVECTOR . Este miembro solo tiene significado para los focos direccionales y destacados. Este vector no debe normalizarse, pero debe tener una longitud distinta de cero.

Range

Tipo: float

Distancia más allá de la cual la luz no tiene efecto. El valor máximo permitido para este miembro es la raíz cuadrada de FLT_MAX. Este miembro no afecta a las luces direccionales.

Difuminación

Tipo: float

Disminuya la iluminación entre el cono interno de un foco (el ángulo especificado por Theta) y el borde exterior del cono externo (el ángulo especificado por Phi).

El efecto de caída en la iluminación es sutil. Además, se incurre en una pequeña penalización de rendimiento al dar forma a la curva de caída. Por estas razones, la mayoría de los desarrolladores establecen este valor en 1.0.

Atenuación0

Tipo: float

Valor que especifica cómo cambia la intensidad de la luz a lo largo de la distancia. Los valores de atenuación se omiten para las luces direccionales. Este miembro representa una constante de atenuación. Para obtener información sobre la atenuación, vea Propiedades de luz (Direct3D 9) . Los valores válidos para este miembro van de 0,0 a infinito. Para las luces no direccionales, los tres valores de atenuación no deben establecerse en 0,0 al mismo tiempo.

Atenuación1

Tipo: float

Valor que especifica cómo cambia la intensidad de la luz a lo largo de la distancia. Los valores de atenuación se omiten para las luces direccionales. Este miembro representa una constante de atenuación. Para obtener información sobre la atenuación, vea Propiedades de luz (Direct3D 9) . Los valores válidos para este miembro van de 0,0 a infinito. Para las luces no direccionales, los tres valores de atenuación no deben establecerse en 0,0 al mismo tiempo.

Atenuación2

Tipo: float

Valor que especifica cómo cambia la intensidad de la luz a lo largo de la distancia. Los valores de atenuación se omiten para las luces direccionales. Este miembro representa una constante de atenuación. Para obtener información sobre la atenuación, vea Propiedades de luz (Direct3D 9) . Los valores válidos para este miembro van de 0,0 a infinito. Para las luces no direccionales, los tres valores de atenuación no deben establecerse en 0,0 al mismo tiempo.

Theta

Tipo: float

Ángulo, en radianes, del cono interno de un foco de foco, es decir, el cono de foco totalmente iluminado. Este valor debe estar en el intervalo comprendido entre 0 y el valor especificado por Phi.

Phi

Tipo: float

Ángulo, en radianes, que define el borde exterior del cono exterior del foco. Los puntos fuera de este cono no están iluminados por el foco de foco. Este valor debe estar comprendido entre 0 y pi.

Requisitos

Requisito Value
Encabezado
D3D9Types.h

Vea también

Estructuras de Direct3D

GetLight

SetLight