Propriedades de luz
As propriedades de luz descrevem o tipo de uma fonte de luz (ponto, direcional, holofote), atenuação, cor, direção, posição e intervalo. Dependendo do tipo de luz que está sendo usada, uma luz pode ter propriedades de atenuação e alcance ou de efeitos de holofote. Nem todos os tipos de luzes usam todas as propriedades.
As propriedades de posição, alcance e atenuação definem a localização de uma luz no espaço do mundo e como a luz que ela emite se comporta à distância.
Atenuação de luz
A atenuação controla como a intensidade de uma luz diminui em direção à distância máxima especificada pela propriedade de intervalo. Às vezes, três valores de ponto flutuante são usados para representar a atenuação da luz: Atenuação0, Atenuação1 e Atenuação2. Esses valores de ponto flutuante variam de 0,0 ao infinito, controlando a atenuação de uma luz. Alguns aplicativos definem o membro Atenuação1 como 1,0 e os outros como 0,0, resultando em intensidade de luz que muda como 1 / D, onde D é a distância da fonte de luz ao vértice. A intensidade máxima da luz está na fonte, diminuindo para 1 / (Light Range) na faixa da luz.
Embora normalmente um aplicativo defina Atenuação0 como 0,0, Atenuação1 como um valor constante e Atenuação2 como 0,0, efeitos de luz variados podem ser obtidos alterando isso. Você pode combinar valores de atenuação para obter efeitos de atenuação mais complexos. Ou você pode defini-los para valores fora do intervalo normal para criar efeitos de atenuação ainda mais estranhos. Valores de atenuação negativos, no entanto, não são permitidos. Consulte Atenuação e fator de holofote.
Cor clara
As luzes no Direct3D emitem três cores que são usadas independentemente nos cálculos de iluminação do sistema: uma cor difusa, uma cor ambiente e uma cor especular. Cada um é incorporado pelo módulo de iluminação Direct3D, interagindo com uma contraparte do material atual, para produzir uma cor final usada na renderização. A cor difusa interage com a propriedade de refletância difusa do material atual, a cor especular com a propriedade de refletância especular do material e assim por diante. Para obter detalhes sobre como o Direct3D aplica essas cores, consulte Matemática da iluminação.
Em um aplicativo Direct3D, normalmente há três valores de cor - Difuso, Ambiente e Especular que definem a cor que está sendo emitida.
O tipo de cor que se aplica mais fortemente aos cálculos do sistema é a cor difusa. A cor difusa mais comum é o branco (R:1.0 G:1.0 B:1.0), mas você pode criar cores conforme necessário para obter os efeitos desejados. Por exemplo, você pode usar a luz vermelha para uma lareira ou pode usar a luz verde para um semáforo definido como "Ir".
Geralmente, você define os componentes de cor clara para valores entre 0,0 e 1,0, inclusive, mas isso não é um requisito. Por exemplo, você pode definir todos os componentes como 2.0, criando uma luz que é "mais brilhante que o branco". Esse tipo de configuração pode ser especialmente útil quando você usa configurações de atenuação diferentes de constante.
Embora o Direct3D use valores RGBA para luzes, o componente de cor alfa não é usado.
Normalmente, as cores dos materiais são usadas para iluminação. No entanto, você pode especificar que as cores do material - emissivas, ambientes, difusas e especulares - devem ser substituídas por cores de vértices difusas ou especulares.
O valor alfa/transparência sempre vem apenas do canal alfa da cor difusa.
O valor de neblina sempre vem apenas do canal alfa da cor especular.
Direção da luz
A propriedade de direção de uma luz determina a direção que a luz emitida pelo objeto viaja, no espaço do mundo. A direção é usada apenas por luzes direcionais e holofotes e é descrita com um vetor.
Defina a direção da luz como um vetor. Os vetores de direção são descritos como distâncias de uma origem lógica, independentemente da posição da luz em uma cena. Portanto, um holofote que aponta diretamente para uma cena - ao longo do eixo z positivo - tem um vetor de direção de 0,0,1>, independentemente de <onde sua posição seja definida. Da mesma forma, você pode simular a luz do sol brilhando diretamente em uma cena usando uma luz direcional cuja direção é <0,-1,0>. Você não precisa criar luzes que brilham ao longo dos eixos de coordenadas; Você pode misturar e combinar valores para criar luzes que brilham em ângulos mais interessantes.
Embora você não precise normalizar o vetor de direção de uma luz, certifique-se sempre de que ele tenha magnitude. Em outras palavras, não use um vetor de <direção 0,0,0> .
Posição da luz
A posição da luz é descrita usando uma estrutura vetorial. As coordenadas x, y e z são assumidas como estando no espaço do mundo. As luzes direcionais são o único tipo de luz que não usa a propriedade position.
Faixa de luz
A propriedade de alcance de uma luz determina a distância, no espaço do mundo, na qual as malhas em uma cena não recebem mais a luz emitida por esse objeto. As luzes direcionais não usam a propriedade range.
Tópicos relacionados