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) |