Rendering (presentazione fotorealistica) è, inambito informatico,il processo di generazione di un'immagine a partire da una descrizione degli oggetti tridimensionali, per mezzo di un programma per computer. La descrizione è data in un linguaggio o in una struttura dati definiti rigorosamente, e deve contenere la geometria, il punto di vista, le informazioni sulla mappatura delle superfici visibili e sull'illuminazione. L'immagine è un'immagine digitale.
E' uno dei temi più importanti della grafica tridimensionale computerizzata, e in pratica sempre in relazione con tutti gli altri. Nella 'pipeline 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 un sempre più importante soggetto di studio e ricerca. E' usato per: montaggio video/giochi per computer, simulatori, effetti speciali per film/serie TV, e visualizzazione di progetti. Ciascuno con una differente combinazione di caratteristiche e tecniche.
Come prodotti, sono disponibili una gran numero di renderizzatori, alcuni dei quali integrati nei più diffusi pacchetti di modellazione e animazione, alcuni indipendenti, altri ancora sono progetti open source.
Dall'interno, un renderizzatore è un programma progettato attentemente e 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 elaborazione (nel caso di creazione di film), oppure è assistito in tempo reale dagli acceleratori 3D delle schede grafiche (per i giochi tridimensionali).
Uso 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 disegnati e assemblati in un programma capace di creare un'animazione di questo tipo. La maggior parte dei programmi di elaborazione 3D possono fare questo.

Fenomeni 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.
- shading — ombreggiatura; variazione del colore e luminosità di una superficie a seconda della luce incidente
- texture-mapping — un metodo per definire i dettagli del colore di una superficie mettendola in corrispondenza con un'immagine (texture) render 3d
- bump-mapping — un metodo per simulare irregolarità nella forma di una superficie mettendola in corrispondenza con un'immagine (bump map) che definisce una perturbazione fittizia della superficie, usata solo per ricavarne una distorsione della direzione perpendicolare (normale) impiegata nei calcoli per la propagazione della luce.
- normal-mapping — un metodo simile al bump mapping in cui l'immagine definisce direttamente come perturbare la normale della superficie in quel punto.
- displacement-mapping — un metodo simile al bump mapping in cui l'immagine definisce un'effettiva perturbazione della forma della superficie, producendo ad esempio silhouette irregolari. 3d
- nebbia/mezzi interposti — attenuazione e dispersione della luce nel passaggio attraverso l'aria o altri mezzi; solo il vuoto è perfettamente trasparente.
- shadows — gestione delle ombre
-
soft shadows — ombre parziali prodotte da sorgenti di luce estese
- reflection — riflessioni speculari o quasi
- transparency — trasmissione della luce attraverso un oggetto 3d
- rifrazione — deviazione della luce nel passaggio da un mezzo all'altro
- illuminazione indiretta — tenere conto della luce riflessa più volte (il minimo è una sola riflessione, sorgente di luce -> oggetto -> camera)
- caustiche — accumulo di luce riflessa o rifratta proiettata in forme caratteristiche su altri oggetti (ad esempio la forma a cardioide della luce riflessa dall'interno di un cilindro o le forme irregolari in movimento sul fondo di una piscina)
- depth of field — simulazione della sfocatura degli oggetti vicini e lontani come in una ripresa fotografica. 3d
- motion blur — simulazione della sfocatura degli oggetti in movimento rapido come in una ripresa fotografica.
Tecniche
Esistono due tecnologie per risolvere il problema:
- radiosity: collagata alla matemantica agli elementi finiti;
- ray tracing: collagata dalla matemantica probabilistica.
Entrambe creano una struttura abbastanza completa per la gestione delle equazione di rendering. Questi approcci possono essere molto lenti e intensi dal punto di vista computazionale.
Per le applicazione real-time, non è pensabile di eseguire una elaborazione completa. In genere si semplicifca il problema con una delle seguenti approssimazioni:
- Nessuna illuminazione, solo texture mapping, poiché il colore intrinseco di un oggetto ha l'influenza maggiore sul suo aspetto.
- Illuminazione diretta: si tiente conto solo della luce che va dalla fonte di illuminazione alla superficie, non ti quella riflessa da altre superfici presenti nella scena. Questa luce potrà essere tenuta in considerazione con altri casi speciali attraverso il precalcolo.
Alcuni dei principali algoritmi, sono:
- l'argoritmo del pittore
- Algoritimi di tipo scanline
- Algoritmi che utilizza lo Z-buffer
- Illuminazione globale
- Radiosity
- Ray tracing
- Volume rendering
Coloro che devono eseguire il rendering di film, spesso usano un rete di computer altamente connessi tra loro che si chiama in genere 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).
Programmi che permettono di sviluppare film sono:
- PRman
- POV-ray
- Blender (which can also be used to produce a scene to be rendered)
- BMRT (Blue Moon Rendering Tools)
- Mental Ray
Moltri ambienti di sviluppo hanno come scopo la creazione di immagini fotorealistiche, cioé indistinguibili dalla fotografie.
L'implementazione di renderizzatori realistici ha sempre per base la simulazione della fisica che sta alla base del processo.
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 algoritmo singolo ed elegante non si è diffuso tra i programmi di render utilizzati nell'uso comune. Al fine di incontrare la domanda di robustezza, accuratezza e praticità, ogni implementazione utilizza in maniera diversa un insieme di tecniche.






