Share via


struttura D3DDDI_LIGHT (d3dumddi.h)

La struttura D3DDDI_LIGHT descrive un set di proprietà di illuminazione.

Sintassi

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;

Members

[in] Type

Valore tipizzato D3DLIGHTTYPE che indica il tipo della sorgente di luce. Per altre informazioni sulle D3DLIGHTTYPE, vedere la documentazione di Microsoft Windows SDK.

[in] Diffuse

Struttura D3DCOLORVALUE che indica il colore diffuso generato dalla luce. Per altre informazioni sulle D3DCOLORVALUE, vedere la documentazione di Windows SDK.

[in] Specular

Struttura D3DCOLORVALUE che indica il colore speculare generato dalla luce.

[in] Ambient

Struttura D3DCOLORVALUE che indica il colore ambientale generato dalla luce.

[in] Position

Struttura D3DVECTOR che indica la posizione della luce nello spazio globale. Questo membro non ha alcun significato per le luci direzionali ( ovvero, se D3DLIGHT_DIRECTIONAL è impostato nel membro Type ) e viene ignorato in tale situazione. Per altre informazioni sulle D3DVECTOR, vedere la documentazione di Windows SDK.

[in] Direction

Struttura D3DVECTOR che indica la direzione in cui la luce punta nello spazio globale. Questo membro ha un significato solo per luci direzionali e riflettori (ovvero se D3DLIGHT_DIRECTIONAL e D3DLIGHT_SPOT sono impostati in Tipo). Questo vettore non deve essere normalizzato, ma deve avere una lunghezza diversa da zero.

[in] Range

Distanza oltre la quale la luce non ha alcun effetto. Il valore massimo consentito per questo membro è D3DLIGHT_RANGE_MAX, definito come radice quadrata di FLT_MAX. Questo membro non influisce sulle luci direzionali.

[in] Falloff

La diminuzione dell'illuminazione tra il cono interno di un riflettore (l'angolo specificato dal membro Theta ) e il bordo esterno del cono esterno (l'angolo specificato dal membro Phi ). L'effetto della caduta sull'illuminazione è sottile. Inoltre, una piccola riduzione delle prestazioni si verifica modellando la curva di falloff. Per questi motivi, la maggior parte degli sviluppatori imposta questo membro su 1.0.

[in] Attenuation0

Fattore di attenuazione costante della luce. I valori di attenuazione specificano il modo in cui l'intensità della luce cambia sulla distanza. L'attenuazione non influisce sulle luci direzionali. Valori validi per questo membro compreso tra 0,0 e infinito.

[in] Attenuation1

Fattore di attenuazione lineare della luce. I valori di attenuazione specificano il modo in cui l'intensità della luce cambia sulla distanza. L'attenuazione non influisce sulle luci direzionali. Valori validi per questo membro compreso tra 0,0 e infinito.

[in] Attenuation2

Fattore di attenuazione quadratica della luce. I valori di attenuazione specificano il modo in cui l'intensità della luce cambia sulla distanza. L'attenuazione non influisce sulle luci direzionali. Valori validi per questo membro compreso tra 0,0 e infinito.

[in] Theta

L'angolo, in radianti, del cono interno di un riflettore, cioè il cono completamente illuminato. Questo valore deve essere compreso nell'intervallo compreso tra 0 e il valore specificato dal membro Phi .

[in] Phi

Angolo, in radianti, che definisce il bordo esterno del cono esterno del riflettore. I punti al di fuori di questo cono non sono illuminati dai riflettori. Questo valore deve essere compreso tra 0 e Pi.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.
Intestazione d3dumddi.h (include D3dumddi.h)

Vedi anche

SetLight