Matematica dell'illuminazione (Direct3D 9)
Il modello di luce Direct3D copre l'illuminazione ambientale, diffusa, speculare ed emissiva. Questa flessibilità è sufficiente per risolvere un'ampia gamma di situazioni di illuminazione. Si fa riferimento alla quantità totale di luce in una scena come illuminazione globale e calcolarla usando l'equazione seguente.
Global Illumination = Ambient Light + Diffuse Light + Specular Light + Emissive Light
l'illuminazione ambientale (Direct3D 9) è l'illuminazione costante. È costante in tutte le direzioni e colora tutti i pixel di un oggetto stesso. È veloce da calcolare, ma lascia gli oggetti piatti e irrealistici. Per vedere come viene calcolata l'illuminazione ambientale da Direct3D, vedere Illuminazione ambientale (Direct3D 9).
illuminazione diffusa (Direct3D 9) dipende sia dalla direzione della luce che dalla normale superficie dell'oggetto. Varia sulla superficie di un oggetto a causa del cambiamento della direzione della luce e del vettore normale della superficie. Sì richiede più tempo per calcolare l'illuminazione diffusa perché cambia per ogni vertice dell'oggetto. Tuttavia, il vantaggio dell'uso dell'illuminazione diffusa è che sfuma gli oggetti e conferisce loro una profondità tridimensionale (3D). Per vedere come viene calcolata l'illuminazione diffusa in Direct3D, vedi Illuminazione diffusa (Direct3D 9).
l'illuminazione speculare (Direct3D 9) identifica le evidenziazioni speculari luminose che si verificano quando la luce colpisce una superficie oggetto e riflette verso la fotocamera. È più intenso della luce diffusa e cade più rapidamente attraverso la superficie dell'oggetto. Il calcolo dell'illuminazione speculare richiede più tempo rispetto all'illuminazione diffusa, ma il vantaggio dell'uso è che aggiunge dettagli significativi a una superficie. Per vedere come viene calcolata l'illuminazione speculare in Direct3D, vedere Illuminazione speculare (Direct3D 9).
Illuminazione emissiva (Direct3D 9) si riferisce alla luce emessa da un oggetto; ad esempio, un bagliore. Per vedere come viene calcolata l'illuminazione emissiva in Direct3D, vedi Illuminazione emissiva (Direct3D 9).
L'illuminazione realistica può essere eseguita applicando ognuno di questi tipi di illuminazione a una scena 3D. I valori calcolati per i componenti ambientali, emissivi e diffusi vengono restituiti come colore dei vertici diffusi; Il valore per il componente di illuminazione speculare viene restituito come colore del vertice speculare. I valori di luce ambientale, diffusa e speculare possono essere influenzati dall'attenuazione e dal fattore spotlight di una determinata luce. Per ulteriori informazioni sul funzionamento dell'attenuazione, vedere Attenuazione e Spotlight Factor (Direct3D 9).
Per ottenere un effetto di illuminazione più realistico, aggiungi più luci; tuttavia, il rendering della scena richiede più tempo. Per ottenere tutti gli effetti che un designer desidera, alcuni giochi usano più potenza del processore di quanto sia comunemente disponibile. In questo caso, è tipico ridurre il numero di calcoli di illuminazione al minimo usando mappe di illuminazione e mappe dell'ambiente per aggiungere illuminazione a una scena durante l'uso delle mappe delle trame.
L'illuminazione viene calcolata nello spazio della fotocamera. Per informazioni sul modo in cui vengono calcolate le trasformazioni di illuminazione, vedere trasformazioni dello spazio della fotocamera (Direct3D 9). L'illuminazione ottimizzata può essere calcolata nello spazio del modello, quando esistono condizioni speciali: i vettori normali sono già normalizzati (D3DRS_NORMALIZENORMALS è True), la fusione dei vertici non è necessaria, le matrici di trasformazione sono ortogonali e così via.
Argomenti correlati