Rendering: definizione, tipologie e tecniche di visualizzazione

Il rendering è largamente utilizzato da progettisti ed imprese: vediamo cos’è, quali sono i tipi di rendering e quali le tecniche di visualizzazione

Da tanti il rendering è considerato il miglior ‘amico’ di tecnici ed imprese in quanto si è rilevato un ottimo strumento di comunicazione, aiutando clienti e committenti nella comprensione delle scelte progettuali compiute, ma anche strumento di analisi e controllo del lavoro prodotto.

Cos’è il rendering?

Con il termine rendering si definisce il processo che permette di ottenere immagini digitali ricavate da modelli tridimensionali, attraverso appositi software. Queste immagini hanno lo scopo di simulare in maniera fotorealistica ambienti, materiali, luci, oggetti di un progetto e di un modello 3D.

rendering fotorealistico _ 101

Più in dettaglio, è un’immagine elaborata al computer a seguito di una modellazione tridimensionale basata su dati di progetto; il modello geometrico realizzato viene rivestito con immagini (texture) e colori del tutto uguali ai materiali reali  ed è poi illuminato mediante fonti luminose che riproducono quelle naturali o artificiali.

Nel caso in cui i parametri vengano impostati ad imitazione di quelli presenti in natura (luce solare effettiva), texture in HD, inquadrature prospettiche reali, etc. allora il rendering può definirsi fotorealistico.

Tipi di rendering

Esistono 2 principali tipi di rendering; la differenza risiede nella velocità con cui le immagini vengono calcolate e finalizzate.

Rendering Real Time – Il rendering in tempo reale viene utilizzato prevalentemente nei giochi e nella grafica interattiva, per la necessità di calcolare le immagini dalle informazioni 3D ad un ritmo molto veloce. Esisterà pertanto un hardware grafico dedicato, proprio per garantire un’elaborazione rapida delle immagini.

Rendering offline – Il rendering offline viene utilizzato in situazioni in cui la necessità della velocità di elaborazione è inferiore. Esso è visto più frequentemente in animazione e gli effetti funzionano dove la complessità visiva ed il fotorealismo sono mantenuti ad un livello molto alto. Non c’è imprevedibilità, a differenza del real time.

Rendering: le tecniche di visualizzazione

Z-Buffer

uno dei più semplici algoritmi per la determinazione delle superfici visibili, che si avvale dell’uso di due strutture dati quali lo z-buffer (un’area di memoria che mantiene per ogni pixel la coordinata z più vicina all’osservatore) ed il frame-buffer (che contiene le informazioni del colore relative ai pixel contenuti nello z-buffer). Per ogni pixel viene memorizzato il valore di z più grande (supponendo che l’asse z vada dallo schermo verso gli occhi dell’osservatore) e ad ogni passo il valore contenuto nello z-buffer viene aggiornato solo se il punto in esame ha la coordinata z più grande di quella attualmente nello z-buffer. La tecnica viene applicata ad un poligono per volta e dunque durante la scansione di uno di essi non è possibile disporre delle informazioni relative agli altri poligoni.

Scan line

uno dei metodi più vecchi. Fonde l’algoritmo di determinazione delle superfici visibili con quello di determinazione delle ombre riportate. Per ogni scan-line vengono proiettati rispetto alla sorgente luminosa gli spigoli di quei poligoni che fanno potenzialmente ombra ai poligoni intersecati dalla scan-line. Si parla perciò di spigoli d’ombra. Gli algoritmi che lavorano sulla linea di scansione sono image-precision e prendono il proprio nome dal fatto che per ogni scan-line determinano gli span (intervalli) di pixel visibili. Esso si differenzia dallo z-buffer poiché lavora con una linea di scansione alla volta.

rendering fotorealistico _ 103

Ray casting

è un meccanismo image-precision che consente il rilevamento delle superfici visibili. L’intero processo fa riferimento ad un centro di proiezione e ad uno schermo in posizione arbitraria pensata come una griglia regolare, i cui elementi corrispondono alla dimensione dei pixel della risoluzione desiderata. Si tracciano dei raggi immaginari di luce, dal centro di osservazione verso gli oggetti presenti nella scena, uno per ogni cella della finestra stessa. Il colore di ogni pixel è settato all’oggetto più vicino in corrispondenza del punto di intersezione tra il raggio e gli oggetti trovati lungo il percorso dello stesso. Il cuore di questo meccanismo è l’operazione d’intersezione tra raggio e oggetto che vengono calcolate analiticamente.

L’idea di fondo del ray casting consiste nel far partire i raggi dall’occhio, uno per pixel, e trovare il più vicino oggetto che ne blocca il percorso (occorre pensare ad un’immagine come ad una grata, in cui ogni quadrato corrisponde ad un pixel). Un importante vantaggio offerto dal ray casting rispetto al più vecchio algoritmo di scanline, è la sua capacità di gestire con semplicità superfici solide o non-piane, come ad esempio coni e sfere. Se una superficie matematica può essere colpita da un raggio, il ray casting è in grado di disegnarla. Oggetti complicati possono essere creati utilizzando tecniche di modellazione solida, e facilmente renderizzati.

Ray tracing

discende direttamente dal ray casting al quale però viene applicato un particolare modello di illuminazione che tiene conto dei fenomeni fisici della luce quali riflessione e rifrazione che permette di raggiungere risultati fotorealistici sorprendenti. E’ basato sull’osservazione che, di tutti i raggi luminosi che lasciano una sorgente, i soli che contribuiscono all’immagine sono quelli che, dopo aver colpito l’oggetto, raggiungono l’osservatore. I raggi luminosi possono raggiungere l’osservatore sia direttamente, sia per effetto delle interazioni con le altre superfici. La maggior parte dei raggi che lasciano la sorgente non raggiungerà l’osservatore, e dunque non contribuirà all’immagine. Naturalmente, non è possibile seguire la traiettoria di ciascun raggio; tuttavia, se invertiamo la traiettoria dei raggi, e consideriamo solo quelli che partono dalla posizione dell’osservatore, possiamo determinare i raggi che contribuiscono all’immagine. Questa è esattamente l’idea alla base del metodo ray-tracing, che simula all’indietro il cammino compiuto dalla radiazione luminosa per giungere all’osservatore.

La popolarità conquistata dal ray tracing pone le basi nella simulazione realistica della luce rispetto ad altri modelli di rendering (tipo scanline rendering o ray casting). Effetti come riflessione ed ombra, difficilmente simulabili con altri metodi, sono il risultato naturale dell’algoritmo. Un’implementazione relativamente semplice conduce a risultati impressionanti, il ray tracing spesso rappresenta il punto di accesso allo studio della programmazione grafica.

rendering fotorealistico _ Casa-Kaufman

Radiosity

altro metodo image-precision che apporta ulteriori miglioramenti alle qualità fotorealistiche dell’immagine poiché tiene conto anche del fenomeno fisico della interriflessione tra gli oggetti. Infatti, nel mondo reale, quando una superficie ha una componente di luce riflettente, essa non solo appare nella nostra immagine, ma illumina anche le superfici vicine. La luce reirradiata trasporta le informazioni sull’oggetto che l’ha rilanciata, in particolare il colore. Dunque, a causa di tale luce, le ombre risultano ”meno nere” e si riesce a percepire il colore dell’oggetto vicino ben illuminato, un fenomeno spesso citato come ‘fuoriuscita di colore’. L’algoritmo radiosity, come prima fase, individua e scompone le superfici in componenti più piccole e poi ne distribuisce l’energia luminosa diretta; come seconda fase calcola l’energia diffusa, trasmessa e riflessa sull’ipotesi che le superfici riflettano luce allo stesso modo. Oltre a ciò, calcola le superfici che riflettono più energia e la ridistribuisce.

 

 

Vuoi rimanere aggiornato su questo argomento e sulle principali novità legate al mondo del BIM?

0 commenti

Lascia un Commento

Vuoi partecipare alla discussione?
Fornisci il tuo contributo!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *