Condividi tramite


Struttura D3DLIGHT9

Definisce un set di proprietà di illuminazione.

Sintassi

typedef struct D3DLIGHT9 {
  D3DLIGHTTYPE  Type;
  D3DCOLORVALUE Diffuse;
  D3DCOLORVALUE Specular;
  D3DCOLORVALUE Ambient;
  D3DVECTOR     Position;
  D3DVECTOR     Direction;
  float         Range;
  float         Falloff;
  float         Attenuation0;
  float         Attenuation1;
  float         Attenuation2;
  float         Theta;
  float         Phi;
} D3DLIGHT9, *LPD3DLIGHT;

Members

Tipo

Tipo: D3DLIGHTTYPE

Tipo di fonte di luce. Questo valore è uno dei membri del tipo enumerato D3DLIGHTTYPE .

Diffusa

Tipo: D3DCOLORVALUE

Colore diffuso generato dalla luce. Questo membro è una struttura D3DCOLORVALUE .

Speculare

Tipo: D3DCOLORVALUE

Colore speculare generato dalla luce. Questo membro è una struttura D3DCOLORVALUE .

Di ambiente

Tipo: D3DCOLORVALUE

Colore ambientale generato dalla luce. Questo membro è una struttura D3DCOLORVALUE .

Position

Tipo: D3DVECTOR

Posizione della luce nello spazio mondiale, specificata da una struttura D3DVECTOR . Questo membro non ha alcun significato per le luci direzionali e viene ignorato in questo caso.

Direzione

Tipo: D3DVECTOR

Direzione che la luce punta nello spazio mondiale, specificata da una struttura D3DVECTOR . Questo membro ha significato solo per i riflettori direzionali e in evidenza. Questo vettore non deve essere normalizzato, ma deve avere una lunghezza non zero.

Range

Tipo: float

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

Falloff

Tipo: float

Ridurre l'illuminazione tra il cono interno di un riflettore (l'angolo specificato da Theta) e il bordo esterno del cono esterno (l'angolo specificato da Phi).

L'effetto della caduta sull'illuminazione è sottile. Inoltre, una piccola penalità delle prestazioni viene addebitata formando la curva di falloff. Per questi motivi, la maggior parte degli sviluppatori imposta questo valore su 1.0.

Attenuazione0

Tipo: float

Valore che specifica come cambia l'intensità della luce sulla distanza. I valori di attenuazione vengono ignorati per le luci direzionali. Questo membro rappresenta una costante di attenuazione. Per informazioni sull'attenuazione, vedere Proprietà luce (Direct3D 9). Valori validi per questo membro compreso tra 0,0 e infinito. Per le luci non direzionali, tutti e tre i valori di attenuazione non devono essere impostati contemporaneamente su 0,0.

Attenuazione1

Tipo: float

Valore che specifica come cambia l'intensità della luce sulla distanza. I valori di attenuazione vengono ignorati per le luci direzionali. Questo membro rappresenta una costante di attenuazione. Per informazioni sull'attenuazione, vedere Proprietà luce (Direct3D 9). Valori validi per questo membro compreso tra 0,0 e infinito. Per le luci non direzionali, tutti e tre i valori di attenuazione non devono essere impostati contemporaneamente su 0,0.

Attenuazione2

Tipo: float

Valore che specifica come cambia l'intensità della luce sulla distanza. I valori di attenuazione vengono ignorati per le luci direzionali. Questo membro rappresenta una costante di attenuazione. Per informazioni sull'attenuazione, vedere Proprietà luce (Direct3D 9). Valori validi per questo membro compreso tra 0,0 e infinito. Per le luci non direzionali, tutti e tre i valori di attenuazione non devono essere impostati contemporaneamente su 0,0.

Theta

Tipo: float

Angolo, in radianti, del cono interno di un riflettore, ovvero il cono di luce completamente illuminata. Questo valore deve trovarsi nell'intervallo compreso tra 0 e il valore specificato da Phi.

Phi

Tipo: float

Angolo, in radianti, definendo il bordo esterno del cono esterno del cono esterno. I punti esterni a questo cono non sono illuminati dai riflettori. Questo valore deve essere compreso tra 0 e pi.

Requisiti

Requisito Valore
Intestazione
D3D9Types.h

Vedi anche

Strutture Direct3D

GetLight

SetLight