PASSO TERZO: IL RENDERING.

Il rendering si identifica con quel processo di calcolo che a partire dalla descrizione della scena sintetica porta alla descrizione in termini raster dell'immagine così come essa è percepita dall'osservatore. Uno dei problemi fondamentali del rendering è che gli oggetti sono descritti in un mondo continuo tridimensionale, mentre normalmente devono essere rappresentati sullo schermo di un monitor con una risoluzione discreta assai limitante (si parla di spazio discreto). Ciò comporta l'introduzione del fenomeno aliasing. L'effetto che genera l'aliasing è detto scalinatura (stairstep), ed è causato dalla dimensione finita dei pixel del monitor.

L'aliasing si può ridurre aumentando la risoluzione dello schermo (e quindi i pixel diventano di dimensione più piccola), ma non per questo scompare. Per ridurre visivamente questo effetto indesiderato bisogna adottare delle tecniche sofisticate che accendono i pixel proporzionalmente alla percentuale con cui i pixel stessi vengono coperti dagli oggetti.


Immagine 24
(Aliasing e anti-aliasing).

La tecnica di rendering scan-line.

Questa tecnica deve il suo nome al modo di elaborare la scena (una riga alla volta) e quindi in ragione di ciò considera l'immagine divisa in righe. Lo scan-line è veloce nell'esecuzione, ma è in difficoltà quando deve gestire degli oggetti che non sono modellati con dei poligoni e quando deve rendere i fenomeni di trasparenza o di riflessione.

Un miglioramento della tecnica scan-line va sotto il nome di ray-tracing che altro non sono che un insieme di tecniche che cercano di rappresentare la realtà con estrema precisione basando il proprio processo di calcolo su delle leggi fisiche, e principalmente sul processo fisico di illuminazione.

I concetti fondamentali su cui si basa il ray-tracing sono due:

1) I raggi luminosi dopo aver colpito gli oggetti possono raggiungere l'osservatore.

2) La trasmissione della luce è regolata da formulazioni matematiche (es. la legge di Snell).

La prima tecnica di ray-tracing, è la forward ray-tracing nella quale solo una minima parte dei raggi luminosi emessi dalle sorgenti di luce raggiungono l?osservatore, e contribuiscono a determinare il colore del pixel che dovrà essere acceso. Ma noi calcoliamo tutti i cammini delle radiazioni luminose emesse dalle sorgenti di luce con un incredibile spreco di calcolo da parte del sistema di elaborazione. Per ovviare a questo problema parliamo di ray-tracing backward (inverso) che sfrutta il principio dei cammini ottici, ovvero se la luce è in grado di percorrere un certo percorso, è in grado di percorrerlo in maniera inversa scambiando la sorgente luminosa con l?osservatore. Per quanto riguarda il backward ray-tracing, per ridurre il fenomeno dell?aliasing si può adottare il super-sampling (più raggi vengono tracciati per ogni pixel). Inoltre, si possono considerare solo i raggi primari e gli shadow ray (ray-casting) tralasciando la possibilità di visualizzare riflessioni e rifrazioni. Purtroppo con il ray-tracing si verifica l?incapacità di rendere le ombre diffuse, oltre che al problema di una richiesta elevata di capacità di calcolo. Altre tecniche di rendering sono la radiosity, e gli algoritmi di global illumination delle quali parleremo in un futuro articolo.

CONCLUSIONI.

Forse dopo questa lettura sapete un pò di più sul mondo della rappresentazione 3D.

Per maggiori informazioni scrivete a webmaster@megaoverclock.it e inoltre vi ricordo che nella sezione Download del Forum è presente l'articolo in formato PDF.

Menu Sezione/Pagina Precedente/Torna alla Homepage


Sito:www.megaoverclock.it