Compartilhar via


Iluminação especular

A iluminação especular identifica os realces especulares brilhantes que ocorrem quando a luz atinge a superfície de um objeto e reflete de volta para a câmera. A iluminação especular é mais intensa do que a luz difusa e cai mais rapidamente na superfície do objeto. Leva mais tempo para calcular a iluminação especular do que a iluminação difusa, no entanto, a vantagem de usá-la é que ela adiciona detalhes significativos a uma superfície.

A modelagem da reflexão especular requer que o sistema saiba em que direção a luz está viajando e a direção do olho do espectador. O sistema usa uma versão simplificada do modelo de reflexão especular de Phong, que emprega um vetor intermediário para aproximar a intensidade da reflexão especular.

O estado de iluminação padrão não calcula realces especulares.

Equação de iluminação especular

A iluminação especular é descrita pela seguinte equação.

Iluminação especular = Cs * sum[Ls * (N · H)P * Atten * Spot]

As variáveis, seus tipos e seus intervalos são os seguintes:

Parâmetro Valor padrão Type Descrição
Cs (0,0,0,0) Transparência vermelha, verde, azul e alfa (valores de ponto flutuante) Cor especular.
Sum N/D N/D Soma do componente especular de cada luz.
N N/D Vetor 3D (valores de ponto flutuante x, y e z) Vértice normal.
H N/D Vetor 3D (valores de ponto flutuante x, y e z) Vetor intermediário. Veja a seção sobre o vetor intermediário.
P 0,0 Ponto flutuante Poder de reflexão especular. O intervalo é de 0 a +infinito
É (0,0,0,0) Transparência vermelha, verde, azul e alfa (valores de ponto flutuante) Cor especular clara.
Atenção N/D Ponto flutuante Valor de atenuação da luz. Consulte Atenuação e fator de holofote.
Spot N/D Ponto flutuante Fator de destaque. Consulte Atenuação e fator de holofote.

 

O valor de Cs é:

  • cor do vértice 1, se a origem do material especular for a cor difusa do vértice e a primeira cor do vértice for fornecida na declaração do vértice.
  • cor do vértice 2, se a origem do material especular for a cor do vértice especular e a segunda cor do vértice for fornecida na declaração do vértice.
  • cor especular material

Observação Se uma das opções de origem de material especular for usada e a cor do vértice não for fornecida, a cor especular do material será usada.

 

Os componentes especulares são fixados de 0 a 255, depois que todas as luzes são processadas e interpoladas separadamente.

O vetor intermediário

O vetor intermediário (H) existe a meio caminho entre dois vetores: o vetor de um vértice de objeto para a fonte de luz e o vetor de um vértice de objeto para a posição da câmera. O Direct3D fornece duas maneiras de calcular o vetor intermediário. Quando os realces especulares relativos à câmera estão ativados (em vez de realces especulares ortogonais), o sistema calcula o vetor intermediário usando a posição da câmera e a posição do vértice, juntamente com o vetor de direção da luz. A fórmula a seguir ilustra isso.

H = norma(norma(Cp - Vp) + Ldir)

 

Parâmetro Valor padrão Type Descrição
Cp N/D Vetor 3D (valores de ponto flutuante x, y e z) Posição da câmera.
Vp N/D Vetor 3D (valores de ponto flutuante x, y e z) Posição do vértice.
Ldir N/D Vetor 3D (valores de ponto flutuante x, y e z) Vetor de direção da posição do vértice para a posição da luz.

 

Determinar o vetor intermediário dessa maneira pode ser computacionalmente intensivo. Como alternativa, o uso de realces especulares ortogonais (em vez de realces especulares relativos à câmera) instrui o sistema a agir como se o ponto de vista estivesse infinitamente distante no eixo z. Isso se reflete na fórmula a seguir.

H = norma((0,0,1) + Ldir)

Essa configuração é menos intensiva computacionalmente, mas muito menos precisa, portanto, é melhor usada por aplicativos que usam projeção ortogonal.

Exemplo

Neste exemplo, o objeto é colorido usando a cor clara especular da cena e uma cor especular de material.

De acordo com a equação, a cor resultante para os vértices do objeto é uma combinação da cor do material e da cor clara.

As duas ilustrações a seguir mostram a cor do material especular, que é cinza, e a cor da luz especular, que é branca.

Ilustração de uma esfera cinzentaIlustração de uma esfera branca

O realce especular resultante é mostrado na ilustração a seguir.

ilustração do realce especular

A combinação do realce especular com a iluminação ambiente e difusa produz a ilustração a seguir. Com todos os três tipos de iluminação aplicados, isso se assemelha mais claramente a um objeto realista.

ilustração da combinação do realce especular, iluminação ambiente e iluminação difusa

A iluminação especular é mais intensiva para calcular do que a iluminação difusa. É normalmente usado para fornecer pistas visuais sobre o material da superfície. O realce especular varia em tamanho e cor com o material da superfície.

Matemática de iluminação