Panoramica della luceLighting overview

L'utilizzo dell'illuminazione Direct3D prevede la gestione automatica dei dettagli dell'illuminazione.When you use Direct3D lighting, you allow Direct3D to handle the details of illumination for you. Se preferiscono, gli utenti più esperti possono regolare l'illuminazione in modo autonomo.Advanced users can perform lighting on their own, if desired.

Se l'illuminazione è abilitata, Direct3D calcola il colore di ogni vertice dell'oggetto in base a una combinazione dei seguenti elementi:When lighting is enabled, Direct3D calculates the color of each object vertex based on a combination of the following:

  • I texel in una mappa di trama associata.The texels in an associated texture map.
  • I colori diffusi e speculari in corrispondenza del vertice, se specificati.The diffuse and specular colors at the vertex, if specified.
  • Il colore e l'intensità della luce prodotta dalle sorgenti nella scena o al livello della luce ambientale della scena.The color and intensity of light produced by light sources in the scene or the scene's ambient light level.

L'aspetto di una scena sottoposta a rendering varia in modo significativo a seconda dell'utilizzo dell'illuminazione e dei materiali.How you work with lighting and materials makes a big difference in the appearance of the rendered scene. I materiali definiscono il modo in cui la luce si riflette su una superficie.Materials define how light reflects off a surface. I livelli di luce diretta e ambientale definiscono la luce riflessa.Direct light and ambient light levels define the light that is reflected. Per eseguire il rendering di una scena se l'illuminazione è abilitata, è necessario utilizzare materiali.You must use materials to render a scene if lighting is enabled.

Le luci non sono necessarie per eseguire il rendering di una scena, ma i dettagli di una scena sottoposta a rendering senza luce non sono visibili.Lights are not required to render a scene, but details in a scene rendered without light are not visible. Nel migliore dei casi, il rendering di una scena non illuminata genera semplicemente un profilo degli oggetti nella scena.At best, rendering an unlit scene results in a silhouette of the objects in the scene. Nella maggior parte dei casi questo livello di dettaglio non è sufficiente.This is not enough detail for most purposes.

Luce diretta e la luce di ambienteDirect light vs. ambient light

Sebbene la luce diretta e la luce ambientale illuminino entrambe gli oggetti in una scena, sono indipendenti tra loro, producono effetti molto diversi e devono essere utilizzate in modo completamente differente.Although both direct and ambient light illuminate objects in a scene, they are independent of one another, they have very different effects, and they require that you work with them in completely different ways.

La luce diretta si riflette direttamente sull'oggetto.Direct light strikes the object directly. La luce diretta presenta sempre direzione e colore e costituisce un fattore per gli algoritmi di ombreggiatura, ad esempio l'ombreggiatura di Gouraud.Direct light always has direction and color, and it is a factor for shading algorithms, such as Gouraud shading. Tipi di luci diverse emettono luce diretta in modi diversi, creando speciali effetti di attenuazione.Different types of lights emit direct light in different ways, creating special attenuation effects.

La luce ambientale viene riflessa ovunque in una scena.Ambient light is effectively everywhere in a scene. Si tratta di un livello di luce generico che riempie un'intera scena, indipendentemente dagli oggetti e dalle relative posizioni al suo interno.Ambient light is a general level of light that fills an entire scene, regardless of the objects and their locations in that scene. La luce ambientale non presenta posizione o direzione, solo colore e intensità.Ambient light has no position or direction, only color and intensity. Ogni luce contribuisce alla luce ambientale globale in una scena.Each light adds to the overall ambient light in a scene.

Il colore della luce ambientale assume la forma di un valore RGBA, dove ogni componente è un valore intero compreso tra 0 e 255.Ambient light color takes the form of an RGBA value, where each component is an integer value from 0 to 255. Si tratta di un valore di colore diverso dalla maggior parte dei valori in Direct3D.This is unlike most color values in Direct3D.

I componenti rosso, verde e blu si combinano per creare il colore finale della luce ambientale.The red, green, and blue components combine to make the final color of the ambient light. Il componente alfa controlla la trasparenza del colore.The alpha component controls the transparency of the color. In caso di utilizzo dell'accelerazione hardware o dell'emulazione RGB, il componente alfa viene ignorato.When using hardware acceleration or RGB emulation, the alpha component is ignored.

Modello di luce Direct3D e naturaDirect3D light model vs. nature

In natura, la luce emessa da una sorgente si riflette su centinaia, se non migliaia o milioni di oggetti prima di raggiungere l'occhio dell'utente.In nature, when light is emitted from a source, it is reflected off of hundreds, if not thousands or millions of objects before reaching the user's eye. Ogni volta che si riflette, una parte di luce viene assorbita da una superficie, un'altra si distribuisce in direzioni casuali e il resto termina su un'altra superficie o raggiunge l'occhio dell'utente.Each time it is reflected, some light is absorbed by a surface, some is scattered in random directions, and the rest goes on to another surface or to the user's eye. Questo processo prosegue finché la luce non si esaurisce oppure un utente non la percepisce.This process continues until the light is reduced to nothing or a user perceives the light.

Ovviamente, i calcoli necessari per simulare perfettamente il comportamento naturale della luce richiedono troppo tempo per la grafica Direct3D in tempo reale.Obviously, the calculations required to perfectly simulate the natural behavior of light are too time-consuming to use for real-time Direct3D graphics. Pertanto, tenendo conto della velocità, il modello di luce Direct3D si avvicina al modo in cui la luce si riflette in natura.Therefore, with speed in mind, the Direct3D light model approximates the way light works in the natural world. Direct3D descrive la luce in termini di componenti rosso, verde e blu combinati per creare un colore finale.Direct3D describes light in terms of red, green, and blue components that combine to create a final color.

In Direct3D, quando la luce si riflette su una superficie, il colore interagisce matematicamente con la superficie stessa per creare il colore che verrà visualizzato sullo schermo.In Direct3D, when light reflects off a surface, the light color interacts mathematically with the surface itself to create the color eventually displayed on the screen. Per informazioni specifiche sugli algoritmi utilizzati da Direct3D, vedi Matematica della luce.For specific information about the algorithms Direct3D uses, see Mathematics of lighting.

Il modello di luce Direct3D semplifica la luce in due tipi: ambientale e diretta.The Direct3D light model generalizes light into two types: ambient light and direct light. Ciascun tipo presenta attributi diversi e interagisce con il materiale di una superficie in modi differenti.Each has different attributes, and each interacts with the material of a surface in different ways. La luce ambientale è la luce con una dispersione tale da rendere impossibile determinarne la direzione e la sorgente: mantiene ovunque un livello ridotto di intensità.Ambient light is light that has been scattered so much that its direction and source are indeterminate: it maintains a low level of intensity everywhere. L'illuminazione indiretta utilizzata dai fotografi rappresenta un esempio calzante di luce ambientale.The indirect lighting used by photographers is a good example of ambient light.

La luce ambientale in Direct3D, come in natura, non presenta una sorgente o una direzione reale, ma solo colore e intensità.Ambient light in Direct3D, as in nature, has no real direction or source, only a color and intensity. Di fatto, il livello di luce ambientale è completamente indipendente da qualsiasi oggetto in una scena che genera luce.In fact, the ambient light level is completely independent of any objects in a scene that generate light. La luce ambientale non contribuisce al riflesso speculare.Ambient light does not contribute to specular reflection.

La luce diretta viene generata da una sorgente all'interno di una scena; presenta sempre colore e intensità e punta a una direzione specificata.Direct light is the light generated by a source within a scene; it always has color and intensity, and it travels in a specified direction. La luce diretta interagisce con il materiale di una superficie per creare punti luce speculari e la sua direzione viene utilizzata come fattore negli algoritmi di ombreggiatura, tra cui l'ombreggiatura di Gouraud.Direct light interacts with the material of a surface to create specular highlights, and its direction is used as a factor in shading algorithms, including Gouraud shading. Quando si riflette la luce diretta, non contribuisce al livello della luce ambientale in una scena.When direct light is reflected, it does not contribute to the ambient light level in a scene. Le sorgenti in una scena che generano luce diretta presentano caratteristiche diverse che influiscono sulla modalità di illuminazione di una scena.The sources in a scene that generate direct light have different characteristics that affect how they illuminate a scene.

Inoltre, un materiale del poligono include proprietà che influenzano il modo in cui il poligono riflette la luce che riceve.Additionally, a polygon's material has properties that affect how that polygon reflects the light it receives. Viene impostata una singola caratteristica di riflettività che descrive il modo in cui il materiale riflette la luce ambientale e vengono impostate singole caratteristiche per determinare la riflettività speculare e diffusa del materiale.You set a single reflectance trait that describes how the material reflects ambient light, and you set individual traits to determine the material's specular and diffuse reflectance.

Valori di colore per le luci e materialiColor values for lights and materials

Direct3D descrive il colore in termini di quattro componenti (rosso, verde, blu e alfa), combinati per generare un colore finale.Direct3D describes color in terms of four components (red, green, blue, and alpha), that combine to make a final color. Ogni componente è compreso tra i valori 0,0 e 1,0.Each component ranges from 0.0 to 1.0. Sebbene luci e materiali utilizzino entrambi la stessa struttura per descrivere il colore, i valori vengono utilizzati in modo leggermente diverso dalle luci rispetto ai materiali.Although both lights and materials use the same structure to describe color, the values are used a little differently by lights versus materials.

I valori di colore per le sorgenti di luce rappresentano la quantità che emette un determinato componente di luce.Color values for light sources represent the amount of a particular light component it emits. Poiché le luci non usano un componente alfa, sono pertinenti solo i componenti rosso, verde e blu del colore.Because lights don't use an alpha component, only the red, green, and blue components of the color are relevant. Pensa ai tre componenti come obiettivi rossi, verdi e blu su un videoproiettore.You can visualize the three components as the red, green, and blue lenses on a projection television. Ogni obiettivo può essere spento (un valore pari a 0,0 nel membro appropriato), essere il più luminoso possibile (una valore pari a 1,0) oppure trovarsi a un livello intermedio.Each lens might be off (a 0.0 value in the appropriate member), it might be as bright as possible (a 1.0 value), or it might be some level in between.

I colori che attraversano gli obiettivi si combinano per creare il colore finale della luce.The colors coming through the lenses combine to make the light's final color. La combinazione R(1,0), G(1,0), B(1,0) crea una luce bianca, mentre la combinazione R(0,0) G(0,0), B(0,0) non emette luce.A combination like R(1.0), G(1.0), B(1.0) creates a white light, where R(0.0), G(0.0), B(0.0) doesn't emit light at all. È possibile generare una luce che emette un solo componente, ovvero una luce pura rossa, verde o blu, oppure la luce potrebbe utilizzare varie combinazioni per emettere colori quali il giallo o il viola.You can make a light that emits only one component, resulting in a pure red, green, or blue light; or, the light could use combinations to emit colors like yellow or purple. È inoltre possibile impostare valori negativi dei componenti di colore per creare una "luce scura" che rimuove a tutti gli effetti la luce da una scena.You can even set negative color component values to create a "dark light" that actually removes light from a scene. In alternativa, è possibile impostare i componenti su un valore maggiore di 1,0 per creare una luce estremamente luminosa.Or, you might set the components to some value larger than 1.0 to create an extremely bright light.

Con i materiali, d'altro canto, i valori di colore rappresentano la quantità di un componente di luce riflessa da una superficie sottoposta a rendering con lo specifico materiale.With materials, on the other hand, color values represent how much of a light component is reflected by a surface that is rendered with that material. Un materiale con componenti di colore R(1,0), G(1,0), B(1,0), A(1,0) riflette tutta la luce emessa.A material whose color components are R(1.0), G(1.0), B(1.0), A(1.0) reflects all the light that comes its way. In modo analogo, un materiale con valori R(0,0), G(1,0), B(0,0), A(1,0) riflette tutta la luce verde diretta verso di esso.Likewise, a material with R(0.0), G(1.0), B(0.0), A(1.0) reflects all the green light that is directed at it. I materiali presentano diversi valori di riflettività per creare vari tipi di effetti.Materials have multiple reflectance values to create various types of effects.

Vedi Tipi di luce e Proprietà della luce.See Light types and Light properties.

Argomenti correlatiRelated topics

Le luci e materialiLights and materials