Matematica della luceMathematics of lighting

Il modello di luce Direct3D copre l'illuminazione ambientale, diffusa, speculare ed emissiva.The Direct3D Light Model covers ambient, diffuse, specular, and emissive lighting. Conferisce un livello di flessibilità sufficiente a risolvere un'ampia gamma di situazioni di illuminazione.This is enough flexibility to solve a wide range of lighting situations. La quantità totale di luce in una scena viene definita illuminazione globale.The total amount of light in a scene is called the global illumination.

L'illuminazione globale viene calcolata come segue:The global illumination is computed as follows:

global_illumination = ambient_lighting + diffuse_lighting + specular_lighting + emissive_lighting;

Illuminazione ambientale è illuminazione costante.Ambient lighting is constant lighting. L’illuminazione ambientale è costante in tutte le direzioni e colora uniformemente tutti i pixel di un oggetto.Ambient lighting is constant in all directions and it colors all pixels of an object the same. Il suo calcolo è rapido ma gli oggetti risultanti appaiono piatti e non realistici.It is fast to calculate but leaves objects looking flat and unrealistic.

La luce diffusa dipende dalla direzione della luce e dalla normale alla superficie dell'oggetto.Diffuse lighting depends on both the light direction and the object surface normal. La luce diffusa varia sulla superficie di un oggetto come conseguenza della direzione mutevole della luce e del vettore numerale mutevole della superficie.Diffuse lighting varies across the surface of an object as a result of the changing light direction and the changing surface numeral vector. È necessario più tempo per calcolare la luce diffusa in quanto cambia per ogni vertice di oggetto, tuttavia ha il vantaggio di ombreggiare gli oggetti e di dare loro una profondità tridimensionale (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.

L'illuminazione speculare identifica gli effetti di evidenziazione speculare luminosa che si verificano quando la luce colpisce un oggetto e viene riflessa verso la fotocamera.Specular lighting identifies the bright specular highlights that occur when light hits an object surface and reflects back toward the camera. L'illuminazione speculare è più intensa rispetto alla luce diffusa e si attenua più rapidamente su tutta la superficie dell'oggetto.Specular lighting is more intense than diffuse light and falls off more rapidly across the object surface. Il calcolo dell'illuminazione speculare richiede più tempo di quello per l'illuminazione diffusa, tuttavia è utile usare la prima perché aggiunge dettagli significativi a una superficie.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.

La luce emissiva è quella emessa da un oggetto, ad esempio un bagliore.Emissive lighting is light that is emitted by an object; for example, a glow. L'emissione fa sì che l'oggetto sottoposto a rendering sembri brillare di luce propria.Emission makes a rendered object appear to be self-luminous. L'emissione influisce sul colore dell'oggetto e può, ad esempio, rendere più luminoso un materiale scuro e prendere parte del colore emesso.Emission affects an object's color and can, for example, make a dark material brighter and take on part of the emitted color.

L'illuminazione realistica può essere ottenuta applicando ognuno di questi tipi di illuminazione a una scena 3D.Realistic lighting can be accomplished by applying each of these types of lighting to a 3D scene. I valori calcolati per i componenti di illuminazione ambientale, emissiva e diffusa vengono restituiti come colore del vertice diffuso; il valore per il componente di illuminazione speculare viene restituito come colore del vertice speculare.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. I valori di illuminazione ambientale e speculare possono essere influenzati da un determinato fattore di luce spot e di attenuazione dell'illuminazione.Ambient, diffuse, and specular light values can be affected by a given light's attenuation and spotlight factor. Vedi Attenuazione e fattore della luce spot.See Attenuation and spotlight factor.

Per ottenere un effetto più realistico nell'illuminazione, puoi aggiungere altre luci, ma il rendering della scena richiederà più tempo.To achieve a more realistic lighting effect, you add more lights; however, the scene takes longer to render. Per ottenere tutti gli effetti desiderati, alcuni giochi usano un potenza della CPU maggiore di quella normalmente disponibile.To achieve all the effects a designer wants, some games use more CPU power than is commonly available. In questo caso, si è soliti ridurre al minimo il numero di calcoli dell'illuminazione usando mappe di luce e di ambiente per aggiungere illuminazione a una scena mentre si usano le mappe di trama.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.

L'illuminazione viene calcolata nello spazio della fotocamera.Lighting is computed in the camera space. Vedi Trasformazioni dello spazio della fotocamera.See Camera space transformations. L'illuminazione ottimizzata può essere calcolata nello spazio di modello, quando sono presenti condizioni speciali: i vettori normali sono già normalizzati, la fusione del vertice non è necessaria e le matrici di trasformazione sono ortogonali.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.

Tutti i calcoli di illuminazione vengono eseguiti nello spazio di modello trasformando la posizione della fonte di luce e la direzione, con la posizione della fotocamera, nello spazio di modello che usa l'inverso della matrice globale.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. Di conseguenza, se le matrici di visualizzazione o globali introducono il ridimensionamento non uniforme, è possibile che l'illuminazione risultante non risulti accurata.As a result, if the world or view matrices introduce non-uniform scaling, the resultant lighting might be inaccurate.

In questa sezioneIn this section

ArgomentoTopic DescrizioneDescription

Luce di ambienteAmbient lighting

L’illuminazione ambientale fornisce luce costante per una scena.Ambient lighting provides constant lighting for a scene. Essa illumina tutti i vertici dell’oggetto uniformemente dato che non dipende da altri fattori di illuminazione, ad esempio le normali dei vertici, la direzione, la portata o l’attenuazione della luce.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. L’illuminazione ambientale è costante in tutte le direzioni e colora uniformemente tutti i pixel di un oggetto.Ambient lighting is constant in all directions and it colors all pixels of an object the same. Il suo calcolo è rapido ma gli oggetti risultanti appaiono piatti e non realistici.It is fast to calculate but leaves objects looking flat and unrealistic.

Illuminazione diffusaDiffuse lighting

La luce diffusa dipende dalla direzione della luce e dalla normale alla superficie dell'oggetto.Diffuse lighting depends on both the light direction and the object surface normal. La luce diffusa varia sulla superficie di un oggetto come conseguenza della direzione mutevole della luce e del vettore numerale mutevole della superficie.Diffuse lighting varies across the surface of an object as a result of the changing light direction and the changing surface numeral vector. È necessario più tempo per calcolare la luce diffusa in quanto cambia per ogni vertice di oggetto, tuttavia ha il vantaggio di ombreggiare gli oggetti e di dare loro una profondità tridimensionale (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.

Illuminazione speculareSpecular lighting

L'illuminazione speculare identifica gli effetti di evidenziazione speculare luminosa che si verificano quando la luce colpisce un oggetto e viene riflessa verso la fotocamera.Specular lighting identifies the bright specular highlights that occur when light hits an object surface and reflects back toward the camera. L'illuminazione speculare è più intensa rispetto alla luce diffusa e si attenua più rapidamente su tutta la superficie dell'oggetto.Specular lighting is more intense than diffuse light and falls off more rapidly across the object surface. Il calcolo dell'illuminazione speculare richiede più tempo di quello per l'illuminazione diffusa, tuttavia è utile usare la prima perché aggiunge dettagli significativi a una superficie.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.

Illuminazione emissivoEmissive lighting

La luce emissiva è quella emessa da un oggetto, ad esempio un bagliore.Emissive lighting is light that is emitted by an object; for example, a glow. L'emissione fa sì che l'oggetto sottoposto a rendering sembri brillare di luce propria.Emission makes a rendered object appear to be self-luminous. L'emissione influisce sul colore dell'oggetto e può, ad esempio, rendere più luminoso un materiale scuro e prendere parte del colore emesso.Emission affects an object's color and can, for example, make a dark material brighter and take on part of the emitted color.

Trasformazioni di spazio della fotocameraCamera space transformations

I vertici nello spazio della fotocamera vengono calcolati trasformando i vertici dell’oggetto con la matrice di visualizzazione globale.Vertices in the camera space are computed by transforming the object vertices with the world view matrix.

Fattore di attenuazione e spotlightAttenuation and spotlight factor

I componenti dell’illuminazione diffusa e speculare dell’equazione per l’illuminazione globale contengono elementi che descrivono l’attenuazione della luce e il cono della luce spot.The diffuse and specular lighting components of the global illumination equation contain terms that describe light attenuation and the spotlight cone.

 

Argomenti correlatiRelated topics

Le luci e materialiLights and materials