Illuminazione globale

funzionalità di software

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

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]

 
Rendering senza Illuminazione Globale. Notare che stiamo guardando una scena completa attraverso uno schermo semi-trasparente (guardare la riflessione sulle sfere cromate del muro bianco e verde). C'è una perdita di definizione nelle aree posizionate all'esterno del fascio di luce diretta proveniente dalla lampada. Ad esempio, la geometria del sostegno del lampadario è oscurata e mostrata con un'area grigia che, senza l'uso della luce d'ambiente, apparirebbe nera
 
Il rendering ottenuto utilizzando l'illuminazione globale mostra come la luce venga riflessa dalle superfici. Notare come i colori si trasferiscono (bleed) da una superficie all'altra, effetto della inter-riflessione diffusa. Da notare anche come i colori dai muri rosso e verde vengano riflessi dagli altri oggetti nella scena (la semi-trasparenza viene usata per vedere "attraverso" due muri dall'esterno, preservando il loro effetto all'interno dell'ambiente). Inoltre si vede che il fascio di luce viene proiettato sul muro rosso mentre passa attraverso la sfera di vetro.
  1. ^ [1] Video che dimostra il funzionamento dell'illuminazione globale, e l'effetto prodotto su di essa dalla luce d'ambiente.

Voci correlate

modifica
  • 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

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica