Illuminazione globale
Gli algoritmi di Illuminazione globale vengono comunemente usati in computer grafica 3D per aggiungere un'illuminazione realistica alle scene. Alcuni di questi algoritmi tengono conto non solo della luce ricevuta direttamente da una sorgente di luce (illuminazione diretta), ma anche di quella riflessa, diffusa, o rifratta da altre superfici (illuminazione indiretta).
Descrizione
[modifica | modifica wikitesto]Le immagini renderizzate con l'uso di algoritmi di illuminazione globale, spesso appaiono più fotorealistiche rispetto a quelle che utilizzano solo l'illuminazione diretta. La loro computazione, però, è molto più lenta e computazionalmente più costosa. Un approccio comune consiste nel computare l'illuminazione globale di una scena e memorizzare questa informazione in senso geometrico, ad esempio con la radiosity. I dati così salvati, possono essere usati per creare immagini da differenti punti di vista, generando così dei percorsi animati (walkthroughs) senza dover ricalcolare continuamente l'illuminazione.
Radiosity, ray tracing, beam tracing, cone tracing, path tracing, metropolis light transport, ambient occlusion, e photon mapping sono esempi di algoritmi usati nel campo dell'illuminazione globale; alcuni possono essere combinati tra loro per ottenere risultati più rapidi, ma comunque accurati.
Questi algoritmi modellano l'inter-riflessione diffusa, una parte molto importante dell'illuminazione globale. Buona parte di questi (esclusa la radiosity) modellano anche la riflessione speculare, il che li rende più precisi nella risoluzione dell'equazione di luce e fornisce un effetto più realistico alla scena.
Gli algoritmi utilizzati per calcolare la distribuzione dell'energia luminosa tra superfici di una scena, sono strettamente correlati con le simulazioni di trasferimento di calore, risolte in ingegneria con l'uso del metodo degli elementi finiti.
Nella grafica 3D in sistema real-time, il componente di inter-riflessione diffusa dell'illuminazione globale viene a volte approssimato da un termine "ambientale" nell'equazione di luce, chiamato luce d'ambiente nei software di sviluppo grafico. Nonostante questo metodo di approssimazione (noto anche come cheat, imbroglio, perché non è un vero metodo di illuminazione globale) sia computazionalmente semplice, quando viene usato da solo non riproduce un effetto sufficientemente realistico. La luce d'ambiente tende ad "appiattire" le ombre nelle scene 3D, rendendo tenue il contrasto. Se usata propriamente, la luce d'ambiente può essere un modo efficiente di risparmiare potenza di calcolo.[1]
Note
[modifica | modifica wikitesto]Voci correlate
[modifica | modifica wikitesto]- POV-Ray - Software di rendering gratuito che utilizza l'illuminazione globale (radiosity e photon mapping).
- YafaRay - Software di rendering gratuito che utilizza path tracing, photon mapping con irradiance caching
- Radiance (software) - Sistema di ray tracing accurato per sistemi UNIX. Gratuito per scopi non commerciali, in passato è stato open source. Usa il path tracing per gestire l'illuminazione globale.
- Kerkythea - Software freeware di rendering che supporta l'illuminazione globale (photon mapping, path tracing, Metropolis Light Transport, Ambient occlusion)
- Indigo renderer - Software gratuito di rendering che supporta path tracing e Metropolis Light Transport
Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su illuminazione globale
Collegamenti esterni
[modifica | modifica wikitesto]- PBRT - Libri che trattano di rendering fisicamente realistico.
- Mental Images - Creatori di MentalRay. Questo renderer è usato in vari pacchetti, tra cui Softimage XSI, Maya e 3D Studio Max.
- SSRT - Codice sorgente C++ per un path racer basato sul Metodo Monte Carlo