Compartir a través de


estructura D3DDDI_LIGHT (d3dumddi.h)

La estructura D3DDDI_LIGHT describe un conjunto de propiedades de iluminación.

Sintaxis

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;

Miembros

[in] Type

Valor de tipo D3DLIGHTTYPE que indica el tipo de la fuente de luz. Para obtener más información sobre D3DLIGHTTYPE, consulte la documentación de Microsoft Windows SDK.

[in] Diffuse

Estructura D3DCOLORVALUE que indica el color difuso emitido por la luz. Para obtener más información sobre D3DCOLORVALUE, consulte la documentación de Windows SDK.

[in] Specular

Estructura D3DCOLORVALUE que indica el color especular emitido por la luz.

[in] Ambient

Estructura D3DCOLORVALUE que indica el color ambiente emitido por la luz.

[in] Position

Estructura D3DVECTOR que indica la posición de la luz en el espacio mundial. Este miembro no tiene ningún significado para las luces direccionales (es decir, si D3DLIGHT_DIRECTIONAL se establece en el miembro Type ) y se omite en esa situación. Para obtener más información sobre D3DVECTOR, consulte la documentación de Windows SDK.

[in] Direction

Estructura D3DVECTOR que indica la dirección en la que apunta la luz en el espacio del mundo. Este miembro solo tiene significado para luces y focos direccionales (es decir, si D3DLIGHT_DIRECTIONAL y D3DLIGHT_SPOT se establecen en Tipo). No es necesario normalizar este vector, pero debe tener una longitud distinta de cero.

[in] Range

Distancia más allá de la cual la luz no tiene ningún efecto. El valor máximo permitido para este miembro es D3DLIGHT_RANGE_MAX, que se define como la raíz cuadrada de FLT_MAX. Este miembro no afecta a las luces direccionales.

[in] Falloff

Disminución de la iluminación entre el cono interno de un foco (el ángulo especificado por el miembro Theta ) y el borde exterior del cono externo (el ángulo especificado por el miembro 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 estos motivos, la mayoría de los desarrolladores establecen este miembro en 1.0.

[in] Attenuation0

Factor de atenuación constante de la luz. Los valores de atenuación especifican cómo cambia la intensidad de la luz a lo largo de la distancia. La atenuación no afecta a las luces direccionales. Los valores válidos para este miembro van de 0,0 a infinito.

[in] Attenuation1

Factor de atenuación lineal de la luz. Los valores de atenuación especifican cómo cambia la intensidad de la luz a lo largo de la distancia. La atenuación no afecta a las luces direccionales. Los valores válidos para este miembro van de 0,0 a infinito.

[in] Attenuation2

Factor de atenuación cuadrática de la luz. Los valores de atenuación especifican cómo cambia la intensidad de la luz a lo largo de la distancia. La atenuación no afecta a las luces direccionales. Los valores válidos para este miembro van de 0,0 a infinito.

[in] Theta

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

[in] Phi

Á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 luz. Este valor debe estar comprendido entre 0 y Pi.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
Encabezado d3dumddi.h (incluya D3dumddi.h)

Consulte también

SetLight