Illuminazione HDR (Direct3D 9)
L'illuminazione nel mondo reale contiene un intervallo dinamico molto elevato (HDR) di valori di luminanza. Il mondo reale ha circa 10 ordini di intervallo dinamico (DR) per i valori di luminanza distribuiti nello spettro delle tenebre alla luminosità. D'altra parte, uno schermo del computer ha una gamma di display molto limitata (o intervallo di valori di luminanza): circa due ordini di intervallo dinamico. La sfida di produrre immagini sottoposte a rendering HDR consiste nel mappare i valori HDR reali nella gamma limitata di uno schermo del computer.
Il mapping dei toni è la tecnica usata da DirectX per il mapping delle informazioni HDR in un intervallo più limitato. Il tone mapping applicato al rendering CGI può migliorare notevolmente la quantità di dettagli di illuminazione renderizzati, consentendo di visualizzare i dettagli nelle aree più scure e fornendo contrasto in aree così luminose che appaiono bruciate. Le scene risultanti vengono renderizzate con dettagli di illuminazione molto più evidenti.
esempio HDRLighting è un esempio dell'SDK che illustra l'illuminazione HDR.
Mappatura dei toni
La mappatura tonale simula generalmente fenomeni ottici che non possono essere causati dalla gamma dinamica del monitor. Esempi di questo sono i brillamenti o la fioritura (che sono principalmente proprietà di lenti), il cambiamento blu che accade nell'occhio umano in condizioni di scarsa luce, e altri adattamenti che sono un risultato della biochimica dell'occhio. Se la gamma dinamica dello schermo fosse sufficientemente ampia, la mappatura dei toni non sarebbe così necessaria, tranne che per fornire effetti artistici o alcune delle proprietà di un obiettivo della fotocamera o di un dispositivo ad accoppiamento di carica (CCD).
La mappatura del tono divide l'intervallo di valori di luminanza in una scena in una serie di zone. Ogni zona comprende un intervallo di valori di luminanza.
HDR usa i termini seguenti:
- Zona - Intervallo di valori di luminanza
- Grigio medio - area di luminosità centrale della scena
- Intervallo dinamico: rapporto tra la luminanza più alta della scena e la luminanza più bassa della scena
- Chiave - misura soggettiva dell'illuminazione della scena: questo varia da luce a moderata a scura
Per calcolare la luminanza dai valori RGB, usare questa procedura:
L = 0.27R + 0.67G + 0.06B;
La luminanza media del log è un'approssimazione utile per la chiave di una scena. Un'equazione generale è simile alla seguente:
Lw = exp[ 1 / N( sum[ log( delta + Lw( x, y ) ) ] ) ]
Dove:
- Lw - luminanza media log
- N - Numero di pixel nell'immagine
- delta - un fattore piccolo per evitare problemi con i pixel neri
- Lw( x, y ) - luminanza dello spazio globale per pixel ( x, y )
Per mappare questo a un valore grigio intermedio, ecco un operatore di ridimensionamento della luminanza:
L( x, y ) = a * Lw( x, y ) / Lw
Dove:
- L( x, y ) - luminanza ridimensionata per pixel ( x, y )
- a - Valore della chiave immagine dopo l'applicazione del ridimensionamento
Infine, ecco un semplice operatore di mappatura dei toni per comprimere le luminanze alte.
Ld( x, y ) = L( x, y ) / ( 1 + L( x, y ) )
Dove:
- Ld( x, y ) - luminanza compressa e ridimensionata per pixel ( x, y )
- a - Valore della chiave dell'immagine dopo l'applicazione del ridimensionamento
Questo operatore ridimensiona le alte luminosità per 1/L e le basse luminosità per 1. Per altre informazioni, vedere il documento seguente.
Reinhard, Erik, Mike Stark, Peter Shirley e James Ferwerda. "Riproduzione del tono fotografico per immagini digitali". Transazioni ACM sulla grafica (TOG), atti della 29ª Conferenza annuale su grafica computerizzata e tecniche interattive (SIGGRAPH), pp. 267-276. New York, NY: ACM Press, 2002.
Argomenti correlati