Il Rendering

Il rendering è un termine della lingua inglese che in senso esteso indica la resa (o restituzione) grafica, ovvero un’operazione compiuta da un disegnatore per produrre una rappresentazione di qualità di un oggetto o di una architettura (progettata o rilevata). In tempi relativamente recenti ha assunto un valore essenzialmente riferito all’ambito della computer grafica, dove 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. È 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). 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 sono in grado di elaborare queste immagini. 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)
  • 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 — estrusione di una superficie secondo le normali tramite un’immagine in scala di grigi, producendo una reale perturbazione della forma della superficie, (per esempio per creare una montagna a partire da una superficie piana).
  • distance fog — attenuazione e dispersione della luce nel passaggio attraverso l’aria o altri mezzi; solo il vuoto è perfettamente trasparente.
  • shadows — gestione delle ombre proiettate
  • soft shadows — ombre parziali prodotte da sorgenti di luce estese
  • reflection — riflessioni speculari o quasi
  • transparency — trasmissione della luce attraverso un oggetto
  • rifrazione — deviazione della luce nel passaggio da un mezzo all’altro
  • illuminazione indiretta e Global illumination — 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)
  • profondità di campo o DoF (Depth of Field) — simulazione della progressiva sfocatura degli oggetti posti a distanza crescente dalla superficie di messa a fuoco (profondità di campo).
  • motion blur — simulazione della sfocatura degli oggetti in movimento rapido come in una ripresa fotografica.
  • subsurface scattering o SSS — simulazione del comportamento della luce che penetra un oggetto di materiale traslucido come la cera o la pelle umana (dispersione subsuperficiale).
  • ambient occlusion — simulazione del comportamento della luce in prossimità di volumi occlusi dove i raggi luminosi faticano ad entrare e uscire
  • anisotropia — simulazione di un materiale che riflette la luce in modo diverso per ogni direzione tangente al punto.
  • Le principali tipologie di algoritmi per risolvere il problema sono:
    • radiosity: collegata alla matematica agli elementi finiti;
    • ray tracing: collegata dalla matematica probabilistica.

    Questi approcci possono essere particolarmente intensi dal punto di vista computazionale, perché entrambi creano una struttura abbastanza completa per la gestione delle equazione di rendering. Per le applicazione real-time, non è pensabile di eseguire una elaborazione completa. In genere si semplifica 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 tiene conto solo della luce che va dalla fonte di illuminazione alla superficie, non di 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:

    • Algoritmo del pittore
    • Algoritmi di tipo scanline
    • Algoritmi che utilizzano lo Z-buffer
    • Illuminazione globale
    • Radiosity
    • Ray tracing
    • Rendering volumetrico

    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 e potenti motori di render:

    • Mental Ray
    • Vray
    • Final Render
    • POV-Ray
    • Maxwell Render
    • blender

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...