Proprietà della luceLight properties

Le proprietà della luce descrivono il tipo (puntiforme, direzionale, riflettore), l'attenuazione, il colore, la direzione, la posizione e la portata di una sorgente di luce.Light properties describe a light source's type (point, directional, spotlight), attenuation, color, direction, position, and range. A seconda del tipo in uso, una luce può avere proprietà per effetti di riflettore oppure attenuazione e portata.Depending on the type of light being used, a light can have properties for attenuation and range, or for spotlight effects. Non tutti i tipi di luci usano tutte le proprietà.Not all types of lights use all properties.

Le proprietà di posizione, portata e attenuazione definiscono l'ubicazione della luce nello spazio globale e il comportamento della luce emessa sulla distanza.The position, range, and attenuation properties define a light's location in world space and how the light it emits behaves over distance.

Attenuazione luceLight Attenuation

L'attenuazione controlla il modo in cui l'intensità della luce diminuisce verso la distanza massima specificata dalla proprietà della portata.Attenuation controls how a light's intensity decreases toward the maximum distance specified by the range property. Tre valori a virgola mobile vengono talvolta utilizzati per rappresentare attenuazione luce: Attenuation0 Attenuation1 e Attenuation2.Three floating point values are sometimes used to represent light attenuation: Attenuation0, Attenuation1, and Attenuation2. Questi valori a virgola mobile sono compresi tra 0,0 e infinito e controllano l'attenuazione della luce.These floating-point values ranging from 0.0 through infinity, controlling a light's attenuation. Alcune applicazioni impostano il membro Attenuation1 su 1,0 e gli altri su 0,0, generando un'intensità della luce che cambia in 1 / D, dove D è la distanza dalla sorgente di luce al vertice.Some applications set the Attenuation1 member to 1.0 and the others to 0.0, resulting in light intensity that changes as 1 / D, where D is the distance from the light source to the vertex. L'intensità della luce massima è alla sorgente, diminuendo a 1 / (portata della luce) alla portata della luce.The maximum light intensity is at the source, decreasing to 1 / (Light Range) at the light's range.

Sebbene in genere un'applicazione imposti Attenuation0 su 0,0, Attenuation1 su un valore costante e Attenuation2 su 0,0, è possibile modificare questa impostazione per ottenere effetti di luce variabili.Though typically, an application sets Attenuation0 to 0.0, Attenuation1 to a constant value, and Attenuation2 to 0.0, varying light effects can be achieved by changing this. È possibile combinare i valori di attenuazione per ottenere effetti più complessi.You can combine attenuation values to get more complex attenuation effects. In alternativa, è possibile impostarli su valori al di fuori della normale portata per creare effetti ancora più inusuali.Or, you might set them to values outside the normal range to create even stranger attenuation effects. Non sono tuttavia consentiti valori di attenuazione negativi.Negative attenuation values, however, are not allowed. Vedi Attenuazione e fattore della luce spot.See Attenuation and spotlight factor.

Colore chiaroLight Color

Le luci in Direct3D emettono tre colori, usati in modo indipendente nei calcoli di illuminazione del sistema: un colore diffuso, un colore ambientale e un colore speculare.Lights in Direct3D emit three colors that are used independently in the system's lighting computations: a diffuse color, an ambient color, and a specular color. Ogni colore, incorporato dal modulo di illuminazione Direct3D, interagisce con una controparte del materiale corrente, per generare un colore finale utilizzato nel rendering.Each is incorporated by the Direct3D lighting module, interacting with a counterpart from the current material, to produce a final color used in rendering. Il colore diffuso interagisce con la proprietà di riflettività diffusa del materiale corrente, il colore speculare con la proprietà di riflettività speculare del materiale e così via.The diffuse color interacts with the diffuse reflectance property of the current material, the specular color with the material's specular reflectance property, and so on. Per informazioni dettagliate sul modo in cui Direct3D applica questi colori, vedi Matematica della luce.For specifics about how Direct3D applies these colors, see Mathematics of lighting.

In un'applicazione Direct3D sono in genere disponibili tre valori, diffuso, ambientale e speculare, che definiscono il colore emesso.In a Direct3D application, typically there are three color values - Diffuse, Ambient, and Specular that defines the color being emitted.

Il tipo di colore che si applica più frequentemente ai calcoli del sistema è il colore diffuso.The type of color that applies most heavily to the system's computations is the diffuse color. Il colore diffuso più comune è il bianco (R:1.0 G:1.0 B:1.0), ma è possibile creare colori in base alle esigenze per ottenere gli effetti desiderati.The most common diffuse color is white (R:1.0 G:1.0 B:1.0), but you can create colors as needed to achieve desired effects. È ad esempio possibile utilizzare una luce rossa per un camino o una luce verde per indicare la possibilità di procedere in un segnale di traffico.For example, you could use red light for a fireplace, or you could use green light for a traffic signal set to "Go."

In genere, i componenti del colore della luce vengono impostati su valori compresi tra 0,0 e 1,0 inclusi, ma non si tratta di un requisito obbligatorio.Generally, you set the light color components to values between 0.0 and 1.0, inclusive, but this isn't a requirement. È ad esempio possibile impostare tutti i componenti su 2,0, creando una luce "più luminosa del bianco".For example, you might set all the components to 2.0, creating a light that is "brighter than white." Questo tipo di impostazione può risultare particolarmente utile in caso di utilizzo di un'impostazione di attenuazione diversa da quella costante.This type of setting can be especially useful when you use attenuation settings other than constant.

Sebbene Direct3D utilizzi valori RGBA per luci, il componente di colore alfa non viene utilizzato.Although Direct3D uses RGBA values for lights, the alpha color component is not used.

In genere, i colori dei materiali vengono utilizzati per l'illuminazione.Usually material colors are used for lighting. È tuttavia possibile specificare di sostituire i colori emissivi, ambientali, diffusi e speculari dei materiali con i colori diffusi o speculari dei vertici.However, you can specify that material colors-emissive, ambient, diffuse, and specular-are to be overridden by diffuse or specular vertex colors.

Il valore di alfa/trasparenza viene sempre ricavato esclusivamente dal canale alfa del colore diffuso.The alpha/transparency value always comes only from the diffuse color's alpha channel.

Il valore nebbia viene sempre ricavato esclusivamente dal canale alfa del colore speculare.The fog value always comes only from the specular color's alpha channel.

Direzione luceLight Direction

La proprietà di direzione di una luce determina la direzione in cui la luce emessa dall'oggetto attraversa lo spazio globale.A light's direction property determines the direction that the light emitted by the object travels, in world space. La direzione viene utilizzata solo da luci e riflettori direzionali ed è descritta con un vettore.Direction is used only by directional lights and spotlights, and is described with a vector.

Imposta la direzione della luce come vettore.Set the light direction as a vector. I vettori di direzione vengono descritti come distanze da un'origine logica, indipendentemente dalla posizione della luce in una scena.Direction vectors are described as distances from a logical origin, regardless of the light's position in a scene. Pertanto, un riflettore che punta direttamente a una scena, lungo l'asse z positivo, presenta un vettore di direzione <0,0,1>, indipendentemente dal punto in cui verrà definita la relativa posizione.Therefore, a spotlight that points straight into a scene - along the positive z-axis - has a direction vector of <0,0,1> no matter where its position is defined to be. In modo analogo, è possibile simulare la luce solare diretta su una scena utilizzando una luce direzionale con direzione <0,-1,0>.Similarly, you can simulate sunlight shining directly on a scene by using a directional light whose direction is <0,-1,0>. Non è necessario creare luci dirette lungo gli assi delle coordinate: è possibile combinare vari valori per creare luci puntate su angoli più interessanti.You don't have to create lights that shine along the coordinate axes; you can mix and match values to create lights that shine at more interesting angles.

Sebbene non sia necessario normalizzare il vettore di direzione di una luce, assicurati che includa sempre il valore di grandezza.Although you don't need to normalize a light's direction vector, always be sure that it has magnitude. In altre parole, non usare un vettore di direzione <0,0,0>.In other words, don't use a <0,0,0> direction vector.

Posizione chiaroLight Position

La posizione della luce viene descritta mediante una struttura di vettore.Light position is described using a vector structure. Si presume che le coordinate x, y e z siano nello spazio globale.The x, y, and z coordinates are assumed to be in world space. Le luci direzionali sono l'unico tipo di luce che non usa la proprietà di posizione.Directional lights are the only type of light that don't use the position property.

Intervallo di luceLight Range

La proprietà di portata di una luce determina la distanza nello spazio globale in cui le mesh in una scena non ricevono più la luce emessa dall'oggetto.A light's range property determines the distance, in world space, at which meshes in a scene no longer receive light emitted by that object. Le luci direzionali non usano la proprietà di portata.Directional lights don't use the range property.

Argomenti correlatiRelated topics

Le luci e materialiLights and materials