24.11.2012 Views

Capitolo 1° - Storia - FedOA

Capitolo 1° - Storia - FedOA

Capitolo 1° - Storia - FedOA

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Con il crescente perfezionamento della grafica<br />

computerizzata dal 1970 in avanti è diventato un<br />

oggetto di studio e ricerca sempre più importante. È<br />

usato per: montaggio video/giochi per computer,<br />

simulatori, effetti visuali per film/serie TV, e<br />

visualizzazione di progetti. Ciascuno con una differente<br />

combinazione di caratteristiche e tecniche.<br />

Sono disponibili in commercio un gran numero di<br />

motori di render, alcuni dei quali integrati nei più diffusi<br />

pacchetti di modellazione e animazione tridimensionale,<br />

alcuni altri indipendenti, altri ancora distribuiti come<br />

progetti open source.<br />

Dall'interno, un renderizzatore è un programma<br />

progettato attentamente e basato su una combinazione<br />

selezionata di metodi relativi a: ottica, percezione<br />

visiva, matematica e ingegneria del software.<br />

Nel caso della grafica tridimensionale, il rendering è<br />

un processo lento e richiede un gran numero di<br />

elaborazioni da parte della CPU, oppure è assistito in<br />

tempo reale dagli acceleratori 3D delle schede grafiche<br />

(per i giochi tridimensionali).<br />

Uso<br />

Quando l'elaborazione preliminare della scena (una<br />

rappresentazione wireframe solitamente) è completa,<br />

inizia la fase di rendering che aggiunge texture bitmap o<br />

texture procedurali, luci, bump mapping, e posizioni<br />

relative agli altri oggetti. Il risultato è un'immagine<br />

completa che è possibile vedere.<br />

Nel caso di animazioni per pellicole cinematografiche,<br />

molte immagini (fotogrammi) devono essere disegnate<br />

e assemblate in un programma capace di creare<br />

un'animazione di questo tipo. La maggior parte dei<br />

programmi di elaborazione 3D sono in grado di<br />

elaborare queste immagini.<br />

Fenomeni<br />

Le immagini possono essere analizzate in termini di<br />

una serie di fenomeni visibili. Le ricerche e i progressi<br />

nel campo del rendering sono state in gran parte<br />

motivate dal tentativo di simularli in modo accurato ed<br />

efficiente.<br />

• shading — ombreggiatura; variazione del<br />

colore e luminosità di una superficie a seconda della<br />

luce incidente<br />

• texture mapping — un metodo per definire i<br />

dettagli del colore di una superficie mettendola in<br />

corrispondenza con un'immagine (texture)<br />

• bump mapping — un metodo per simulare<br />

irregolarità nella forma di una superficie mettendola in<br />

corrispondenza con un'immagine (bump map) che<br />

definisce una perturbazione fittizia della superficie,<br />

usata solo per ricavarne una distorsione della direzione<br />

perpendicolare (normale) impiegata nei calcoli per la<br />

propagazione della luce.<br />

• normal mapping — un metodo simile al bump<br />

mapping in cui l'immagine definisce direttamente come<br />

perturbare la normale della superficie in quel punto.<br />

• displacement-mapping — estrusione di una<br />

superficie secondo le normali tramite un'immagine in<br />

scala di grigi, producendo una reale perturbazione della<br />

forma della superficie, (per esempio per creare una<br />

montagna a partire da una superficie piana).<br />

• distance fog — attenuazione e dispersione<br />

della luce nel passaggio attraverso l'aria o altri mezzi;<br />

solo il vuoto è perfettamente trasparente.<br />

• shadows — gestione delle ombre proiettate<br />

• soft shadows — ombre parziali prodotte da<br />

sorgenti di luce estese<br />

• reflection — riflessioni speculari o quasi<br />

• transparency — trasmissione della luce<br />

attraverso un oggetto<br />

• rifrazione — deviazione della luce nel<br />

passaggio da un mezzo all'altro<br />

• illuminazione indiretta e Global illumination —<br />

tenere conto della luce riflessa più volte (il minimo è<br />

una sola riflessione, sorgente di luce -> oggetto -><br />

camera)<br />

• caustiche — accumulo di luce riflessa o<br />

rifratta proiettata in forme caratteristiche su altri oggetti<br />

(ad esempio la forma a cardioide della luce riflessa<br />

dall'interno di un cilindro o le forme irregolari in<br />

movimento sul fondo di una piscina)<br />

• profondità di campo o DoF (Depth of Field) —<br />

simulazione della progressiva sfocatura degli oggetti<br />

posti a distanza crescente dalla superficie di messa a<br />

fuoco (profondità di campo).<br />

• motion blur — simulazione della sfocatura<br />

degli oggetti in movimento rapido come in una ripresa<br />

fotografica.<br />

• subsurface scattering o SSS — simulazione<br />

del comportamento della luce che penetra un oggetto di<br />

materiale traslucido come la cera o la pelle umana<br />

(dispersione subsuperficiale).<br />

• ambient occlusion — simulazione del<br />

comportamento della luce in prossimità di volumi<br />

occlusi dove i raggi luminosi faticano ad entrare e<br />

uscire<br />

• anisotropia — simulazione di un materiale<br />

che riflette la luce in modo diverso per ogni direzione<br />

tangente al punto.<br />

Tecniche<br />

Le principali tipologie di algoritmi per risolvere il<br />

problema sono:<br />

• radiosity: collegata alla matematica agli<br />

elementi finiti;<br />

• ray tracing: collegata dalla matematica<br />

probabilistica.<br />

Questi approcci possono essere particolarmente<br />

intensi dal punto di vista computazionale, perché<br />

entrambi creano una struttura abbastanza completa per<br />

la gestione delle equazione di rendering.<br />

Per le applicazione real-time, non è pensabile di<br />

Applicazioni<br />

<strong>Capitolo</strong> 2° - Strumenti e applicazioni<br />

eseguire una elaborazione completa. In genere si<br />

semplifica il problema con una delle seguenti<br />

approssimazioni:<br />

• Nessuna illuminazione, solo texture mapping,<br />

poiché il colore intrinseco di un oggetto ha l'influenza<br />

maggiore sul suo aspetto.<br />

• Illuminazione diretta: si tiente conto solo della<br />

luce che va dalla fonte di illuminazione alla superficie,<br />

non di quella riflessa da altre superfici presenti nella<br />

scena. Questa luce potrà essere tenuta in<br />

considerazione con altri casi speciali attraverso il<br />

precalcolo.<br />

Alcuni dei principali algoritmi, sono:<br />

• Algoritmo del pittore<br />

• Algoritimi di tipo scanline<br />

• Algoritmi che utilizzano lo Z-buffer<br />

• Illuminazione globale<br />

• Radiosity<br />

• Ray tracing<br />

• Volume rendering<br />

Chi deve eseguire il rendering di grandi quantità di<br />

immagini (per esempio quelle di una sequenza<br />

cinematografica) usa una rete di computer connessi tra<br />

loro, detta render farm.<br />

L'attuale stato dell'arte per la costruzione di scene in<br />

3D per la creazione di film è il linguaggio di descrizione<br />

delle scene RenderMan creato dalla Pixar. (da<br />

confrontare con formati più semplici per la descrizione<br />

di un ambiente 3D come VRML o API come DirectX o<br />

OpenGL che sfruttano l'accelerazione hardware delle<br />

moderne schede grafiche).<br />

Avevo pensato di riportare un elenco in ordine di apparizione, considerando per<br />

apparizione il tempo impiegato dal singolo software per calcolare il risultato finale. Ma tempo<br />

72

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!