D3DDDI_LIGHT structure (d3dumddi.h)
La structure D3DDDI_LIGHT décrit un ensemble de propriétés d’éclairage.
Syntaxe
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;
Membres
[in] Type
Valeur de type D3DLIGHTTYPE qui indique le type de la source de lumière. Pour plus d’informations sur D3DLIGHTTYPE, consultez la documentation Microsoft Windows SDK.
[in] Diffuse
Structure D3DCOLORVALUE qui indique la couleur diffuse émise par la lumière. Pour plus d’informations sur D3DCOLORVALUE, consultez la documentation du Kit de développement logiciel (SDK) Windows.
[in] Specular
Structure D3DCOLORVALUE qui indique la couleur spéculaire émise par la lumière.
[in] Ambient
Structure D3DCOLORVALUE qui indique la couleur ambiante émise par la lumière.
[in] Position
Structure D3DVECTOR qui indique la position de la lumière dans l’espace mondial. Ce membre n’a aucune signification pour les lumières directionnelles (autrement dit, si D3DLIGHT_DIRECTIONAL est défini dans le membre Type ) et est ignoré dans cette situation. Pour plus d’informations sur D3DVECTOR, consultez la documentation du Kit de développement logiciel (SDK) Windows.
[in] Direction
Structure D3DVECTOR qui indique la direction vers laquelle la lumière pointe dans l’espace mondial. Ce membre a une signification uniquement pour les lumières directionnelles et les projecteurs (autrement dit, si D3DLIGHT_DIRECTIONAL et D3DLIGHT_SPOT sont définis dans Type). Ce vecteur n’a pas besoin d’être normalisé, mais il doit avoir une longueur différente de zéro.
[in] Range
Distance au-delà de laquelle la lumière n’a aucun effet. La valeur maximale autorisée pour ce membre est D3DLIGHT_RANGE_MAX, qui est définie comme la racine carrée de FLT_MAX. Ce membre n’affecte pas les lumières directionnelles.
[in] Falloff
Diminution de l’éclairage entre le cône interne d’un projecteur (l’angle spécifié par le membre Theta ) et le bord externe du cône externe (angle spécifié par le membre Phi ). L’effet des retombées sur l’éclairage est subtil. En outre, une petite pénalité de performances est encourue en mettant en forme la courbe de repli. Pour ces raisons, la plupart des développeurs définissent ce membre sur 1.0.
[in] Attenuation0
Facteur d’atténuation constant de la lumière. Les valeurs d’atténuation spécifient la façon dont l’intensité lumineuse change sur la distance. L’atténuation n’affecte pas les lumières directionnelles. Les valeurs valides pour ce membre vont de 0,0 à l’infini.
[in] Attenuation1
Facteur d’atténuation linéaire de la lumière. Les valeurs d’atténuation spécifient la façon dont l’intensité lumineuse change sur la distance. L’atténuation n’affecte pas les lumières directionnelles. Les valeurs valides pour ce membre vont de 0,0 à l’infini.
[in] Attenuation2
Facteur d’atténuation quadratique de la lumière. Les valeurs d’atténuation spécifient la façon dont l’intensité lumineuse change sur la distance. L’atténuation n’affecte pas les lumières directionnelles. Les valeurs valides pour ce membre vont de 0,0 à l’infini.
[in] Theta
L’angle, en radians, du cône intérieur d’un projecteur, c’est-à-dire le cône de projecteur entièrement éclairé. Cette valeur doit être comprise entre 0 et la valeur spécifiée par le membre Phi .
[in] Phi
Angle, en radians, qui définit le bord externe du cône externe du projecteur. Les points à l’extérieur de ce cône ne sont pas allumés par la lumière. Cette valeur doit être comprise entre 0 et Pi.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows. |
En-tête | d3dumddi.h (inclure D3dumddi.h) |