Partager via


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)

Voir aussi

SetLight