Matemática de iluminaçãoMathematics of lighting

O modelo de luz do Direct3D abrange a iluminação ambiente, difusa, especular e de emissão.The Direct3D Light Model covers ambient, diffuse, specular, and emissive lighting. Isso é flexibilidade suficiente para solucionar problemas de uma diversas situações de iluminação.This is enough flexibility to solve a wide range of lighting situations. A quantidade total de luz em uma cena é chamada de iluminação global.The total amount of light in a scene is called the global illumination.

A iluminação global é calculada da seguinte maneira:The global illumination is computed as follows:

global_illumination = ambient_lighting + diffuse_lighting + specular_lighting + emissive_lighting;

Iluminação ambiente é a iluminação constante.Ambient lighting is constant lighting. A iluminação ambiente é constante em todas as direções e fornece cor de forma igual para todos os pixels de um objeto.Ambient lighting is constant in all directions and it colors all pixels of an object the same. Ela é rápida de calcular, mas deixa os objetos com uma aparência simples e irreal.It is fast to calculate but leaves objects looking flat and unrealistic.

A iluminação difusa depende da direção da luz e da normal da superfície do objeto.Diffuse lighting depends on both the light direction and the object surface normal. A iluminação difusa varia entre a superfície de um objeto como resultado da alteração da direção da luz e da alteração do vetor numeral da superfície.Diffuse lighting varies across the surface of an object as a result of the changing light direction and the changing surface numeral vector. É necessário mais tempo para calcular a iluminação difusa porque ela é alterada para cada vértice de objeto, mas a vantagem de usá-la é que ela sombreia objetos e dá a eles profundidade tridimensional (3D).It takes longer to calculate diffuse lighting because it changes for each object vertex, however the benefit of using it is that it shades objects and gives them three-dimensional (3D) depth.

A Iluminação especular identifica os realces especulares brilhantes que ocorrem quando a luz atinge a superfície de um objeto e reflete em direção à câmera.Specular lighting identifies the bright specular highlights that occur when light hits an object surface and reflects back toward the camera. A iluminação especular é mais intensa do que a luz difusa e incide mais rapidamente na superfície do objeto.Specular lighting is more intense than diffuse light and falls off more rapidly across the object surface. O cálculo da iluminação especular demora mais do que o da iluminação difusa, no entanto, a vantagem de usá-lo é que ele adiciona detalhes significativas à superfície.It takes longer to calculate specular lighting than diffuse lighting, however the benefit of using it is that it adds significant detail to a surface.

A iluminação emissiva é emitido por um objeto; por exemplo, um brilho.Emissive lighting is light that is emitted by an object; for example, a glow. A emissão faz com que um objeto renderizado pareça ter iluminação própria.Emission makes a rendered object appear to be self-luminous. A emissão afeta a cor de um objeto e pode, por exemplo, tornar um material escuro mais claro e adotar parte da cor emitida.Emission affects an object's color and can, for example, make a dark material brighter and take on part of the emitted color.

A iluminação realista pode ser realizada ao aplicar cada um desses tipos de iluminação a uma cena 3D.Realistic lighting can be accomplished by applying each of these types of lighting to a 3D scene. Os valores calculados para componentes de ambiente, emissão e difusa são reproduzidos como a cor do vértice difusa; o valor do componente de iluminação especular é reproduzido como a cor do vértice especular.The values calculated for ambient, emissive, and diffuse components are output as the diffuse vertex color; the value for the specular lighting component is output as the specular vertex color. Os valores de luz ambiente, difusa e especular podem ser afetados pelo fator de atenuação e destaque da luz específica.Ambient, diffuse, and specular light values can be affected by a given light's attenuation and spotlight factor. Consulte Fator de atenuação e destaque.See Attenuation and spotlight factor.

Para obter um efeito de iluminação mais realista, é possível adicionar mais luzes; no entanto, a cena leva mais tempo para renderizar.To achieve a more realistic lighting effect, you add more lights; however, the scene takes longer to render. Para obter todos os efeitos desejados por um designer, alguns jogos usam mais processamento da CPU do que está normalmente disponível.To achieve all the effects a designer wants, some games use more CPU power than is commonly available. Nesse caso, é comum reduzir o número de cálculos de iluminação ao mínimo usando mapas de luz e ambiente para adicionar a iluminação à cena com mapas de textura.In this case, it is typical to reduce the number of lighting calculations to a minimum by using lighting maps and environment maps to add lighting to a scene while using texture maps.

A iluminação é calculada no espaço da câmera.Lighting is computed in the camera space. Consulte Transformações de espaço de câmera.See Camera space transformations. A iluminação otimizada pode ser calculada no espaço do modelo mediante condições especiais: os vetores normais já estão normalizados, a mistura de vértice não é necessária e as matrizes de transformação são ortogonais.Optimized lighting can be computed in model space, when special conditions exist: normal vectors are already normalized, vertex blending is not needed, and transformation matrices are orthogonal.

Todos os cálculos de iluminação são feitos no espaço do modelo ao transformar a posição e a direção da fonte de luz, juntamente com a posição da câmera, para o espaço de modelo usando o inverso da matriz de mundo.All lighting computations are made in model space by transforming the light source's position and direction, along with the camera position, to model space using the inverse of the world matrix. Como resultado, se as matrizes de mundo ou modo de exibição apresentam dimensionamento não uniforme, a iluminação resultante pode ser imprecisa.As a result, if the world or view matrices introduce non-uniform scaling, the resultant lighting might be inaccurate.

Nesta seçãoIn this section

TópicoTopic DescriçãoDescription

Luz ambienteAmbient lighting

A iluminação ambiente fornece iluminação constante para uma cena.Ambient lighting provides constant lighting for a scene. Ele destaca todos os vértices de objeto da mesma forma porque ela não depende de quaisquer outros fatores de iluminação como normais de vértice, direção da luz, posição da luz, intervalo ou atenuação.It lights all object vertices the same because it is not dependent on any other lighting factors such as vertex normals, light direction, light position, range, or attenuation. A iluminação ambiente é constante em todas as direções e fornece cor de forma igual para todos os pixels de um objeto.Ambient lighting is constant in all directions and it colors all pixels of an object the same. Ela é rápida de calcular, mas deixa os objetos com uma aparência simples e irreal.It is fast to calculate but leaves objects looking flat and unrealistic.

Difuso iluminaçãoDiffuse lighting

A iluminação difusa depende da direção da luz e da normal da superfície do objeto.Diffuse lighting depends on both the light direction and the object surface normal. A iluminação difusa varia entre a superfície de um objeto como resultado da alteração da direção da luz e da alteração do vetor numeral da superfície.Diffuse lighting varies across the surface of an object as a result of the changing light direction and the changing surface numeral vector. É necessário mais tempo para calcular a iluminação difusa porque ela é alterada para cada vértice de objeto, mas a vantagem de usá-la é que ela sombreia objetos e dá a eles profundidade tridimensional (3D).It takes longer to calculate diffuse lighting because it changes for each object vertex, however the benefit of using it is that it shades objects and gives them three-dimensional (3D) depth.

Iluminação especularSpecular lighting

A Iluminação especular identifica os realces especulares brilhantes que ocorrem quando a luz atinge a superfície de um objeto e reflete em direção à câmera.Specular lighting identifies the bright specular highlights that occur when light hits an object surface and reflects back toward the camera. A iluminação especular é mais intensa do que a luz difusa e incide mais rapidamente na superfície do objeto.Specular lighting is more intense than diffuse light and falls off more rapidly across the object surface. O cálculo da iluminação especular demora mais do que o da iluminação difusa, no entanto, a vantagem de usá-lo é que ele adiciona detalhes significativas à superfície.It takes longer to calculate specular lighting than diffuse lighting, however the benefit of using it is that it adds significant detail to a surface.

Iluminação emissivaEmissive lighting

A iluminação emissiva é emitido por um objeto; por exemplo, um brilho.Emissive lighting is light that is emitted by an object; for example, a glow. A emissão faz com que um objeto renderizado pareça ter iluminação própria.Emission makes a rendered object appear to be self-luminous. A emissão afeta a cor de um objeto e pode, por exemplo, tornar um material escuro mais claro e adotar parte da cor emitida.Emission affects an object's color and can, for example, make a dark material brighter and take on part of the emitted color.

Transformações de espaço de câmeraCamera space transformations

Os vértices no espaço da câmera são calculados transformando os vértices de objeto com a matriz de visualização do mundo.Vertices in the camera space are computed by transforming the object vertices with the world view matrix.

Fator de atenuação e destaqueAttenuation and spotlight factor

Os componentes de iluminação especular e difusa da equação de iluminação global contêm termos que descrevem a atenuação de luz e o cone em destaque.The diffuse and specular lighting components of the global illumination equation contain terms that describe light attenuation and the spotlight cone.

 

Tópicos relacionadosRelated topics

Materiais e luzesLights and materials