Compartilhar via


estrutura D3DDDI_LIGHT (d3dumddi.h)

A estrutura D3DDDI_LIGHT descreve um conjunto de propriedades de iluminação.

Sintaxe

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;

Membros

[in] Type

Um valor de tipo D3DLIGHTTYPE que indica o tipo da fonte de luz. Para obter mais informações sobre D3DLIGHTTYPE, consulte a documentação do SDK do Microsoft Windows.

[in] Diffuse

Uma estrutura D3DCOLORVALUE que indica a cor difusa emitida pela luz. Para obter mais informações sobre D3DCOLORVALUE, consulte a documentação do SDK do Windows.

[in] Specular

Uma estrutura D3DCOLORVALUE que indica a cor especular emitida pela luz.

[in] Ambient

Uma estrutura D3DCOLORVALUE que indica a cor do ambiente emitida pela luz.

[in] Position

Uma estrutura D3DVECTOR que indica a posição da luz no espaço mundial. Esse membro não tem nenhum significado para luzes direcionais (ou seja, se D3DLIGHT_DIRECTIONAL estiver definido no membro Type ) e for ignorado nessa situação. Para obter mais informações sobre D3DVECTOR, consulte a documentação do SDK do Windows.

[in] Direction

Uma estrutura D3DVECTOR que indica a direção que a luz está apontando no espaço mundial. Esse membro tem significado apenas para luzes direcionais e destaques (ou seja, se D3DLIGHT_DIRECTIONAL e D3DLIGHT_SPOT estiverem definidos em Tipo). Esse vetor não é necessário para ser normalizado, mas deve ter um comprimento diferente de zero.

[in] Range

A distância além da qual a luz não tem efeito. O valor máximo permitido para esse membro é D3DLIGHT_RANGE_MAX, que é definido como a raiz quadrada de FLT_MAX. Esse membro não afeta as luzes direcionais.

[in] Falloff

A diminuição na iluminação entre o cone interno de um destaque (o ângulo especificado pelo membro Theta ) e a borda externa do cone externo (o ângulo especificado pelo membro Phi ). O efeito da queda na iluminação é sutil. Além disso, uma pequena penalidade de desempenho é incorrida pela formatação da curva de falloff. Por esses motivos, a maioria dos desenvolvedores define esse membro como 1.0.

[in] Attenuation0

O fator de atenuação constante da luz. Os valores de atenuação especificam como a intensidade da luz muda ao longo da distância. A atenuação não afeta as luzes direcionais. Os valores válidos para esse membro variam de 0,0 a infinito.

[in] Attenuation1

O fator de atenuação linear da luz. Os valores de atenuação especificam como a intensidade da luz muda ao longo da distância. A atenuação não afeta as luzes direcionais. Os valores válidos para esse membro variam de 0,0 a infinito.

[in] Attenuation2

O fator de atenuação quadrática da luz. Os valores de atenuação especificam como a intensidade da luz muda ao longo da distância. A atenuação não afeta as luzes direcionais. Os valores válidos para esse membro variam de 0,0 a infinito.

[in] Theta

O ângulo, em radianos, do cone interno de um holofote, ou seja, o cone de holofotes totalmente iluminado. Esse valor deve estar no intervalo de 0 até o valor especificado pelo membro Phi .

[in] Phi

O ângulo, em radianos, que define a borda externa do cone externo do holofote. Pontos fora deste cone não são iluminados pelos holofotes. Esse valor deve estar entre 0 e Pi.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.
Cabeçalho d3dumddi.h (inclua D3dumddi.h)

Confira também

Setlight