

Nella computer grafica, il rendering (lett. "restituzione grafica"), anche italianizzato come renderizzazione, identifica il processo di resa, ovvero di generazione di un'immagine a partire da una descrizione matematica di una scena tridimensionale, interpretata da algoritmi che definiscono il colore di ogni punto dell'immagine digitale.
In senso esteso (nel disegno), indica un'operazione atta a produrre una rappresentazione di qualità di un oggetto o di una architettura (progettata o rilevata).
È uno dei temi più importanti della grafica computerizzata tridimensionale e in pratica è sempre in relazione con tutti gli altri. Nell'ambito del processo di generazione grafica è l'ultimo importante stadio e fornisce l'aspetto finale al modello e all'animazione. Con il crescente perfezionamento della grafica computerizzata dal 1970 in avanti è diventato oggetto di studi e ricerche sempre più specifici.
È usato per: montaggio video, giochi per computer, simulatori, effetti visuali per film e serie TV, visualizzazione di progetti. Ciascuno con una differente combinazione di caratteristiche e tecniche.
Sono disponibili in commercio un gran numero di motori di render, alcuni dei quali integrati nei più diffusi pacchetti di modellazione e animazione tridimensionale, alcuni altri indipendenti, altri ancora distribuiti come progetti open source.
Un renderizzatore è un programma basato su una combinazione selezionata di metodi relativi a: ottica, percezione visiva, matematica e ingegneria del software.
Nel caso della grafica tridimensionale, il rendering è un processo lento e richiede un gran numero di elaborazioni da parte della CPU, oppure è assistito in tempo reale dagli acceleratori 3D delle schede grafiche (per i giochi tridimensionali).
Le immagini possono essere analizzate in termini di una serie di fenomeni visibili. Le ricerche e i progressi nel campo del rendering sono state in gran parte motivate dal tentativo di simularli in modo accurato ed efficiente.
Le principali tipologie di algoritmi per risolvere il problema sono:
Questi approcci possono essere particolarmente intensi dal punto di vista computazionale, perché entrambi creano una struttura abbastanza completa per la gestione delle equazioni di rendering.
Per le applicazioni in un sistema real-time, non è pensabile eseguire una elaborazione completa. In genere si semplifica il problema con una delle seguenti approssimazioni:
Alcuni dei principali algoritmi, sono:
Chi deve eseguire il rendering di grandi quantità di immagini (per esempio quelle di una sequenza cinematografica) usa una rete di computer connessi tra loro, detta render farm.
L'attuale stato dell'arte per la costruzione di scene in 3D per la creazione di film è il linguaggio di descrizione delle scene RenderMan creato dalla Pixar. (da confrontare con formati più semplici per la descrizione di un ambiente 3D come VRML o API come DirectX o OpenGL che sfruttano l'accelerazione hardware delle moderne schede grafiche).
Altri popolari motori di render:
Quando l'elaborazione preliminare della scena (una rappresentazione wireframe solitamente) è completa, inizia la fase di rendering che aggiunge texture bitmap o texture procedurali, luci, bump mapping, e posizioni relative agli altri oggetti. Il risultato è un'immagine completa che è possibile vedere.
Nel caso di animazioni per pellicole cinematografiche, molte immagini (fotogrammi) devono essere disegnate e assemblate in un programma capace di creare un'animazione di questo tipo. La maggior parte dei programmi di elaborazione 3D è in grado di elaborare queste immagini.
Molti ambienti di sviluppo hanno come scopo la creazione di immagini fotorealistiche, cioè il più possibile vicine alla riproduzione fotografica
L'implementazione di renderizzatori realistici ha sempre per base la simulazione della fisica che sta alla base del comportamento della luce.
Il termine basato sulla fisica indica l'utilizzo di modelli e approssimazioni che sono molto generali e ampiamente diffuse fuori dall'ambiente del rendering. Un insieme particolare di tecniche sono gradualmente diventate pratica comune tra i grafici.
Il concetto di base è abbastanza facile da capire, ma non trattabile attraverso mera computazione; un singolo ed elegante algoritmo non esiste (al momento). Al fine di incontrare la domanda di robustezza, accuratezza e praticità, ogni implementazione utilizza in maniera diversa un insieme di tecniche.
Significato: in una particolare posizione e direzione, la luce uscente (Lo) è la somma della luce emessa (Le) e della luce riflessa. La luce riflessa è ottenuta moltiplicando: Li (la luce che arriva da tutte le direzioni), per il coefficiente di riflessione (fr), e per l'angolo di arrivo.
Questa è la chiave del concetto accademico-teorico del rendering. È l'espressione più astratta e formale del problema del rendering. Tutti gli algoritmi più completi possono essere visti come una soluzione particolare della formulazione presente in questa equazione.
La BRDF (bidirectional reflectance distribution function) è un modello che esprime l'interazione della luce con una superficie tramite questa semplice espressione:
L'interazione con la luce è molto spesso approssimata con modelli ancora più semplici: riflessione diffusa e speculare, anche se tutte e due possono seguire questa formulazione.
Lo studio della propagazione di onde elettromagnetiche per mezzo del concetto di raggio che si propaga rettilinearmente, ignorando ogni possibile effetto di diffrazione e quindi la natura ondulatoria della luce stessa. Ciò permette di utilizzare un modello relativamente semplice per lo studio di lenti, specchi piani, concavi e convessi.
La matematica usata nel rendering include: algebra lineare, calcolo numerico, analisi numerica, analisi digitale di segnali, metodo Montecarlo

All'interno di un browser web c'è un software che interpreta cosa visualizzare in base alle informazioni che riceve (HTML, CSS, JS...) chiamato motore di rendering. Ogni browser ha il proprio e molti sono diversi fra loro, ad esempio Firefox ha come motore di rendering Gecko e Chrome ha Webkit. Per questo non è detto che una pagina web sia visualizzata nello stesso modo da tutti i browser.
Questa differenza di visualizzazione delle pagine si è notata molto in diverse occasioni nella storia del web:
Web 3D è un termine usato per indicare i contenuti 3D interattivi inseriti in una pagina HTML, visualizzabili da un comune browser attraverso un particolare Web 3D viewer. Si utilizza il concetto di Web 3D anche per indicare una possibile evoluzione del Web in cui viene abbandonata l'idea di pagina e ci si immerge in uno spazio tridimensionale interattivo. Anche in questo caso i browser utilizzano il proprio motore di rendering per interpretare ricostruzioni 3D (anche interattive).
| Controllo di autorità | LCCN (EN) sh2008009405 · GND (DE) 4197032-9 · J9U (EN, HE) 987007540276305171 · NDL (EN, JA) 01211632 |
|---|