Page 1

Evoluzione della Computer Grafica


Evoluzione della Computer Grafica 3D

librologica


Evoluzione della Computer Grafica 3D Autore: Gabriele Falco www.librologica.it

Tutti i marchi e loghi riportati nell'opera appartengono ai legittimi proprietari; marchi di terzi, nomi di prodotti, nomi commerciali, nomi cor­ porativi e società citati possono essere marchi di proprietà dei rispettivi tito­ lari o marchi registrati da altre società e sono stati utilizzati a puro scopo esplicativo ed a esclusivo beneficio del lettore, senza alcun fine di violazione dei diritti di Copyright.


Indice

Arte grafica digitale ..................................................................... Pixel ............................................................................................... Frattali e complessità ................................................................... Prospettiva .................................................................................... Shading ......................................................................................... La rivoluzione 3D ......................................................................... Fotorealismo ................................................................................. Gpu ................................................................................................ Software 3D .................................................................................. Demoscene .................................................................................... Realtà virtuale .............................................................................. Appendice A ­ Cronologia ............................................................. Appendice B ­ Glossario ...............................................................

7 9 13 19 25 31 37 45 49 55 59 65 75


Arte grafica digitale

Sul finire del '900, dopo millenni di arte pit­ torica e secoli di stampa, la computer grafica ha permesso di sfruttare lo spazio colore ge­ nerato dall'hardware informatico allo scopo di creare arte visuale e progetti tecnici senza dover utilizzare grafite, inchiostro, colori a olio o a tempera. L'odierna tecnologia è in grado di simulare perfettamente il naturale tratto del disegno e di qualsiasi tipologia di pennello (brush) direttamente sullo schermo ad alta definizione dei display interattivi Il modello colore RGB professionali, o di strumenti general purpose si basa sulla miscelazione additiva come l'Apple iPad.

delle componenti primarie: rosso verde e blu, in modo del tutto analogo a quanto accade nella fisiologia della vista umana.

7


Evoluzione della Computer Grafica 3D

©The Andy Warhol Foundation for the Visual Arts, Inc

8

Nel 2014, un evento straordinario quale il ri­ trovamento di opere attribuili a un impor­ tante esponente della storia dell'arte ha ri­ guardato per la prima volta delle creazioni digitali, consacrate così quali opere d'arte a tutti gli effetti. Andy Warhol (1928­1987), uno tra i più influenti artisti del XX secolo, negli ultimi anni della propria vita è stato il testimonial della casa informatica Commo­ dore per il lancio dell'innovativo Amiga 1000, un personal computer dalle strabilianti ca­ pacità grafiche. Alcuni floppy disk dimenti­ cati per quasi trent'anni e contenenti le im­ magini realizzate da Warhol sono stati trattati con l'originale hardware Amiga in modo da crearne una copia digitale utilizza­ bile su qualsiasi Pc tramite emulazione soft­ ware. La parte più complessa dell'intero processo si è rivelata la conversione delle immagini da un formato proprietario arcai­ co, alle comuni jpeg divulgate infine sul web. Ed è importante sottolineare che i dati pre­ senti nei dischetti originali non posseggono alcuna proprietà visiva aggiuntiva rispetto ai loro duplicati, ciò per la natura stessa dell'informazione digitale, replicabile intera­ mente (o quasi) senza perdita.


Pixel

Il dispositivo informatico attualmente più diffuso è senza alcun dubbio lo smartphone. Buona parte della popolazione mondiale in­ teragisce ogni giorno con dei minuscoli schermi lcd che visualizzano il flusso d'im­ magini generato dalla componente hardware nota con l'acronimo G.P.U. (Graphics Proces­ sing Unit). Già negli anni '80 l'architettura grafica degli home e personal computer è andata arricchendosi di coprocessori proget­ tati per liberare la CPU (Central Processing Unit) dal carico di lavoro necessario all'ese­ cuzione delle complesse routine grafiche del software moderno. Quasi tutti gli home com­ puter di quel periodo possedevano, ad esem­ pio, un comparto grafico capace di gestire autonomamente la dinamica di alcune figure 2D, chiamate sprite, indispensabili a un'an­ cora giovane industria dei videogames. La stretta connessione esistente tra l'evoluzione dell'hardware e quella del software divenne particolarmente chiara a partire dal 1985, anno di presentazione del Commodore Ami­

Dall'ingrandimento dei subpixel di un comune schermo lcd, vediamo che esso adotta lo spazio colore sRGB (basato sul modello colore astratto RGB) nativo anche per l'hardware grafico che genera il segnale video.

Creazione di uno sprite (C=64 Users Guide)

9


Evoluzione della Computer Grafica 3D

ga, introdotto nel paragrafo precedente di­ scutendo delle creazioni digitali di A.Warhol. L'innovativa architettura di questa macchi­ na ha spianato la strada a una nuova gene­

32 colori scelti da una palette di 4096, era una caratteristica davvero notevole nell'85.

La maggiore quantità di memoria video permise di creare delle interessanti animazioni 2D

10

razione di software grafico 2D, tra cui il ce­ leberrimo Deluxe Paint, pensato per il dise­ gno sia a mano libera, sia tramite l'uso di forme geometriche elementari (primitive 2D) con l'ulteriore possibilità di riempire di colo­ re, pattern e sfumature, intere porzioni dello schermo, oltre che duplicare, tagliare, tra­ slare e ruotare qualsiasi parte dell'immagi­ ne. Ebbene, tali operazioni erano eseguite in tempo reale proprio dall'azione combinata del processore centrale più i vari coprocesso­ ri presenti nell'architettura Amiga. Nono­ stante il software 2D si sia evoluto negli at­ tuali strumenti dedicati al fotoritocco,


Pixel

quell'antico modo di creare grafica sopravvi­ ve ancora oggi nella minimalista forma di espressione artistica chiamata Pixel Art che impiega dei semplici painter 2D ispirati ai classici degli anni '80, come il: Grafx2 a tri­ bute to Deluxe Paint, scaricabile gratuita­ mente per tutti i sistemi operativi. Ognuno di tali software converte le primitive 2D, de­ finite a livello astratto come vettori o curve

parametriche, nella grafica bitmap/raster (griglia di pixel) visualizzata sul nostro mo­ nitor. Prima di inoltrarci nelle complesse ca­ pacità dell'hardware moderno, ritorniamo per un momento alle origini della computer grafica e precisamente al periodo successivo l'introduzione dei primi chip grafici costituiti da una zona di memoria (frame buffer) ri­ servata alle informazioni dell'immagine vi­

L'algoritmo della linea di Bresenham (1965) è molto leggero e per tanto anche tra i più diffusi.

Molti celebri software 3D sono nati su piattaforma amiga (Lightwave).

11


Evoluzione della Computer Grafica 3D

sualizzata, più un convertitore digitale ana­ logico. Donare ai calcolatori elettronici la ca­ pacità di gestire degli schermi di risoluzione espressa in numero di pixel verticali ed oriz­ zontali, da monocromatici a una profondità colore di 24 bit, è ovviamente servito a mi­ gliorare l'interazione uomo macchina, favo­ rendo lo sviluppo di software user friendly fornito d'interfaccia testuale e grafica (GUI ­ Graphics User Interface). Il primo esemplare di mini­computer commerciale dotato di mo­ Trattandosi di un nitor è stato il PDP­1 prodotto nel 1960 dalla oscilloscopio DEC, le cui capacità grafiche hanno spinto lo modificato, il monitor studente del MIT, Steve Russel, a creare il crt del pdp­1 era in primo videogioco della storia: Space Wars. grado di visualizzare della grafica vettoriale, Ottimo esempio di come alcune innovazioni consentendo così un tecnologiche, spesso concepite per venire in­ uso più ampio del contro a delle precise necessità, vengono a sistema rispetto all'originale funzione volte utilizzate da geniali individui nella di terminale. realizzazione di cose mai viste prima. Svi­ luppi che ci portano ora ad approfondire un affascinante campo di studio, nato negli anni '70 da una particolare branca della matema­ tica, che nel giro di alcuni decenni ha colo­ nizzato l'intero ambito dell'arte grafica digi­ tale: i frattali.

12


Frattali e complessità.

Nel saggio del 1989 intitolato the cosmic blueprint (il cosmo intel­ ligente) il fisico teorico Paul Davies ipotizzò l'esistenza di alcune leggi della natura (leggi software) responsabili del comportamento complesso e caotico dei sistemi non lineari. Secondo l'autore si tratterebbe di particolari leggi olistiche che andrebbero ad affian­ care le già note teorie fisiche riduzioniste (leggi hardware) al fine di costruire una soddisfacente e completa teoria del caos. Un inte­ ro paragrafo di tale saggio è dedicato al cosiddetto insieme di Mandelbrot definito: the most complex thing known to man (la co­ sa più complessa nota all'uomo). L'insieme di Mandelbrot è un ce­ lebre esempio di frattale formulato negli anni '70 dal matematico Benoît Mandelbrot e “osservato” per la prima volta all'inizio degli anni '80, proprio il decennio decisivo per l'evoluzione della compu­ ter grafica. Qual è dunque il motivo che ha spinto Paul Davies a definire l'insieme di Mandelbrot la cosa più complessa nota all'uo­ mo? Chiunque abbia studiato matematica a livello liceale, o nei primi anni di università, saprà già che l'insieme di Mandelbrot è un oggetto dalla definizione piuttosto semplice. In matematica e fisica è di estrema importanza l'insieme dei numeri complessi, al­ gebricamente identici ai numeri reali (che infatti sono un sotto in­ sieme dei numeri complessi) e posti nella forma c=a+ib dove i è chiamata unità immaginaria in quanto unica soluzione possibile dell'equazione , cioè pari a . Tramite la coppia di va­ 13


Evoluzione della Computer Grafica 3D

lori: a (parte reale) e b (parte immaginaria) qualsiasi numero complesso è individuabile su di un piano utilizzando proprio a e b come coordinate. L'insieme di Mandelbrot altro non è che l'insie­ me dei numeri complessi C per cui la successione:

è limitata, vale a dire che non diverge verso numeri sempre più grandi (in valore assoluto) all'aumento illimitato di N, ma conver­ ge verso un numero complesso con parte reale e immaginaria non infinite. Per provare a scoprire se un numero C appartiene o no all'insieme di Mandelbrot, potremo darlo in pasto ad un computer programmato per calcolare i valori della successione fino a un va­ lore prefissato di N. Sono ovvi i motivi per cui conviene ricorrere al computer, strumento creato appositamente per eseguire enormi quantità di calcoli in tempi relativamente brevi, ma potrebbe es­ sere meno chiaro il ruolo della computer grafica in tutto ciò, e so­ pratutto perché questo strano oggetto matematico, apparente­ mente inutile e senza alcun legame con la realtà, sia stato definito la cosa più complessa nota all'uomo. La spiegazione è in realtà semplice: esistendo un limite alla precisione e alla capacità di cal­ colo di qualsiasi computer, siamo costretti ad adottare un valore massimo di iterazioni che potrebbe non consentire di determinare con certezza l'appartenenza di un numero C all'insieme di Man­ delbrot. I valori di C per i quali non sarà possibile determinare la convergenza verranno classificati secondo una scala di maggiore o minore tendenza a convergere. Trattandosi di punti appartenenti al piano complesso, dunque rappresentabili da una semplice im­ magine 2D, assegneremo il colore nero ai punti dell'insieme, più altri colori (ad esempio delle sfumature) ai valori di C non conver­

14


Frattali e complessità

genti. Chiaramente le immagini raster così ottenute sono una rappresentazione appros­ simata dell'insieme di Mandelbrot, in quanto il piano complesso è un'entità matematica­ mente continua, mentre l'immagine digitale come sappiamo è una matrice discreta di pi­ xel; tuttavia realizzando un programma che consente di “zoomare” sull'insieme di Man­ delbrot, aumentando progressivamente il numero di iterazioni (oltre al tempo di ela­ borazione) riusciremo ad esplorare la vista grafica di tale insieme infinito scoprendo molte zone dalle caratteristiche diverse, esattamente come se ci trovassimo proiettati in una dimensione aliena da cui trarre un numero alto a piacere di immagini sempre più complesse e varie. Con la potenza degli attuali personal computer possiamo diver­ tirci a esplorare in tempo reale la visualizza­ zione grafica dell'insieme di Mandelbrot fino a livelli di zoom molto elevati; il tutto sem­ plicemente scaricando e lanciando il piccolo 15


Evoluzione della Computer Grafica 3D

e potente software open source di nome Xaos disponibile per tutti i sistemi operativi. Una prima elaborazione grafica dell'insieme ven­ ne ottenuta nel 1978 ricorrendo ad un singo­ lo carattere ascii:

Benoît Mandelbrot scomparve nell'ottobre del 2010. Nonostante i suoi studi sulla geometria frattale, espressione coniata dallo stesso matematico polacco, siano stati d'importanza fondamentale per lo sviluppo della computer grafica, con i frattali oggi presenti in tutti i software 2D/3D, alla sua morte egli non venne ricordato da quest'ambito ma soltanto da suoi colleghi, studenti e collaboratori.

16

successivamente, nei primi anni '80, inizia­ rono a circolare delle immagini a colore di discreta risoluzione. Dovrebbe essere ormai chiaro il motivo per cui Paul Davies abbia definito l'insieme di Mandelbrot come la cosa più complessa nota all'uomo. La rappresen­ tazione grafica di questa successione infinita di numeri complessi è infatti un'entità geo­ metrica non euclidea nota come frattale, per la quale sono state coniate diverse definizio­ ni di dimensione. I frattali posseggono due principali proprietà: • l'autosimilarita (la tendenza a mostrare infinite variazioni della forma di partenza) • l'irregolarità (l'impossibilità di essere de­ scritti tramite l'uso di funzioni geometriche analitiche).


Frattali e complessità

In natura troviamo una moltitudine di forme che ricalcano la geometria frattale, ad esem­ pio nel mondo vegetale, oppure nella geolo­ gia. Di conseguenza sono stati sviluppati di­ versi algoritmi per la simulazione casuale delle trame autosimilari presenti nella di­ mensione fisica. Algoritmi che rappresenta­ no un'inesauribile risorsa per la creazione di complessi scenari virtuali, il tutto semplice­ mente agendo su alcuni parametri numerici.

Un potente generatore di paesaggi frattali messo a disposizione dal software Blender.

Texture procedurale che simula la buccia di un'arancia ricorrendo a degli algoritmi frattali.

Cielo procedurale

17


Prospettiva

Nella storia del classicismo e dell'arte mo­ derna/postmoderna sono molti gli innovatori che hanno inventato o perfezionato delle im­ portanti tecniche grafiche. Facciamo dunque un salto indietro nei secoli fino a giungere al Brunelleschi (1337­1446) artista e architetto fiorentino tra gli iniziatori del rinascimento, le cui opere consentirono di evolvere la pro­ spettiva verso una più precisa rappresenta­ zione dello spazio e delle figure. Nonostante in ambito artistico non fosse strettamente necessario ricorrere a una perfetta illusione di tridimensionalità, maggiormente utile in architettura, la possibilità di veicolare un messaggio scevro da errori prospettici diven­ ne la via maestra per moltissimi artisti. Lo studio della prospettiva è passato anche per il rigoroso lavoro di molti matematici, tutti impegnati nella ricerca dei modelli geome­ trici utili alla corretta rappresentazione pia­ na dello spazio tridimensionale. Si è cosi giunti a un tipo di disegno tecnico dove le di­ mensioni degli oggetti ritratti variano a se­

Ricostruzione del processo che permise al Brunelleschi di rappresentare il battistero di Firenze in una prima rigorosa tecnica di prospettiva. (ipotesi di Luigi Vagnetti)

19


Evoluzione della Computer Grafica 3D

conda della loro distanza dall'osservatore, tendendo ai punti di fuga all'infinito che de­ finiscono la retta dell'orizzonte.

Nell'approccio teorico, la prospettiva deriva dall'adozione di un piano (la tela del pittore) posto dinanzi all'osservatore e ortogonale alla direzione in cui egli osserva. Per creare l'immagine prospettica di un solido geome­ Dopo secoli di trico come ad esempio il cubo, occorre trac­ intuizioni e tecniche ciare le rette che congiungono i vertici del empiriche, nel 1822 modello con il punto di osservazione. Le in­ nacque la geometria tersezioni di tali rette con il piano restitui­ proiettiva moderna con la pubblicazione: scono l'esatta rappresentazione prospettica "Traité des propriétés dei vertici. Partendo da tale principio è pos­ projectives des figures" sibile automatizzare l'intero processo utiliz­ del matematico zando un computer per raffigurare sul moni­ J.V.Poncelet (1788­1867) tor delle forme tridimensionali, il tutto programmando degli algoritmi utili alla so­ luzione di semplici equazioni di geometria analitica. Nello spazio tridimensionale vir­

20


Prospettiva

tuale è necessario definire almeno due classi di elementi:

• i punti di osservazione e il loro orientamento. • gli oggetti 3D definiti dai loro vertici e bordi. Questo è proprio ciò che accadde negli anni '70 e più largamente nei primi anni '80, con dei calcolatori elettronici dotati di chip gra­ fico e un processore centrale capace di eseguire migliaia di istru­ zioni al secondo. Si parte dalla visualizzazione Wireframe (fil di ferro), molto sfruttata nella prima generazione di giochi facenti uso di grafica 3D in tempo reale, e ancora oggi presente in tutti software dedicati alla modellazione. La CPU è programmata per elaborare la posizione dei vertici di ogni modello sulla schermata grafica (rappresentante la tela del pittore), dati utilizzati in un secondo tempo dal chip grafico per raffigurare i bordi di tali mo­ delli con la semplice rasterizzazione di linee. La definizione “tem­ 21


Evoluzione della Computer Grafica 3D

po reale” è in realtà fuorviante poiché le ani­ mazioni 3D richiedono una successione di­ screta di piccoli intervalli di tempo necessari al processo di resa grafica (rendering) per creare ogni singolo fotogramma. La durata di questi intervalli dipende dal quantitativo di operazioni che la CPU ed eventuali copro­ cessori vanno a svolgere nei loro rispettivi cicli di istruzioni. La grafica 3D real time è così definita per distinguersi da altre tipolo­ gie di rendering, in particolar modo quello fotorealistico, i cui algoritmi sono molto più onerosi in termini di potenza computaziona­ le, nonché liberi dalla necessità di rispettare un tempo massimo di elaborazione, potendo così impiegare da qualche secondo fino a di­ versi minuti o addirittura ore. La grafica 3D real time dei videogiochi moderni cerca inve­ ce di renderizzare almeno 30 fotogrammi al secondo, fino a superare i 60 fps, avvicinan­ dosi al limite massimo della vista umana non in grado di percepire sostanziali diffe­

22


Prospettiva

renze a frequenze maggiori. Il metodo che migliorò immediata­ mente la rappresentazione 3D real time fu quello di tradurre su schermo non solo delle entità monodimensionali come linee e vet­ tori, ma anche le figure piane. I poligoni, ad esempio, sono adatti alla rappresentazione prospettica delle superfici 3D. Anche in questo caso si parte dal calcolo della posizione su schermo di tutti i vertici, ma con in più la necessità di determinare quali di queste superfici risulteranno nascoste da quelle più vicine all'osservato­ re. Nell'immagine a fianco, oltre ai poligoni di colore uniforme, no­ tiamo delle linee nere fuoriuscire da ogni faccia; queste linee rap­ presentano le Normali alla super­ ficie, cioè dei vettori che nei solidi chiusi risultano orientati verso l'esterno. Tramite le normali è possibile determinare se le singole facce debbano essere renderizzate in funzione del loro orientamento rispetto al punto di osservazione (metodo del back face culling ­ eliminazione delle facce posteriori). Tali tecniche di rasterizzazio­ ne 3D in tempo reale vennero fruttate durante tutti gli anni '80 e primi anni '90, nella realizzazione di parecchio software grafico e ludico. Se invece volessimo osservare un primo esempio di rende­ ring 3D non in tempo reale, reso più realistico da ulteriori algorit­ mi dedicati al calcolo degli effetti di un'illuminazione virtuale (pa­ ragrafo successivo) ci basterà cercare su youtube il cortometraggio "a computer animated hand" creato nel 1972 da Ed Catmull, pa­ dre della Pixar ed ideatore di molte importanti tecniche della com­ puter grafica 3D, come ad esempio lo z­buffering che attribuisce ad ogni pixel delle superfici rederizzate una coordinata di profon­ 23


Evoluzione della Computer Grafica 3D

dità (z) compresa tra zero e uno, in modo da risolvere in modo pressoché definitivo il pro­ blema della visibilità degli oggetti non in primo piano.

youtu.be/wdedV81UQ5k

"A computer animated hand" Pixar 1972

24


Shading

I primi successi commerciali ottenuti dall'avanguardia del software 3D, insieme al costante aumento della potenza di calcolo dei computer prodotti negli anni '90, convinsero molte software house ad investire le proprie risorse nello sviluppo di adeguati engine grafici tridimensionali. Confrontando due simulatori di volo prodotti dalla Digital Image Design a distanza di pochi anni l'uno dall'altro, notiamo subito il netto aumento del dettaglio poligonale utilizzato nella co­ struzione dei modelli e degli scenari.

Notevole anche l'evoluzione dei giochi di cor­ sa prodotti dalla Papyrus Design Group, dal 1989 al 1995, partendo dallo storico India­ napolis 500 (in alto a dx) che possiamo con­ siderare il capostipite di tutte le simulazioni di guida moderne. La profondità colore of­ 25


Evoluzione della Computer Grafica 3D

ferta dai chip grafici di quel periodo ha inoltre consentito di speri­ mentare alcune semplici forme di illuminazione, ad esempio va­ riando la tonalità cromatica dei poligoni in base al loro orienta­ mento rispetto alle fonti di luce virtuale. Supponiamo di voler renderizzare con della grafica poligonale solida una superficie 3D di colore rosso esposta a un'emissione puntiforme di luce bianca. In tal caso un elementare algoritmo di illuminazione potrebbe as­ segnare ad ogni faccia del modello un colore appartenente alla gamma che va dal rosso scuro, o al limite nero (zone d'ombra) fino ai colori rosso chiaro (zone direttamente illuminate).

Stiamo parlando del processo di Shading, tradotto in italiano con ombreggiatura, nato nell'ambito della ricerca universitaria e scientifica degli anni '60/70. Accoppiando questo tipo d'illumina­ zione alla grafica 3D solida si ottiene la combinazione nota oggi come Flat Shading, ancora molto utile in tutti i software di model­ lazione e sculpting 3D. Il flat shading venne successivamente sop­

26


Shading

piantato dal più preciso algoritmo del Gou­ raud Shading (1971) talmente leggero ed ef­ ficiente da divenire lo standard della grafica 3D real time per tutti gli anni '90. Il Gou­ raud Shading ha l'ulteriore caratteristica di lisciare (smoothing) gli spigoli dei modelli 3D, riempiendo ogni elementino triangolare Interpolazione gouraud dei tre colori primari. di superficie con un gradiente dato dall'in­ terpolazione bi­lineare dei colori calcolati in corrispondenza dei vertici; punti in cui l'al­ goritmo considera la media vettoriale delle normali dei poligoni adiacenti, al fine di de­ terminare i rispettivi colori tramite un mo­ dello matematico per l'illuminazione. Normali sui triangoli e quelle interpolate sui vertici.

L'icona per eccellenza del mondo dei videogiochi debuttò in 3D nel 1996 con pochi poligoni e un sapiente uso del Gouraud Shading.

27


Evoluzione della Computer Grafica 3D

Un realismo ancora superiore lo si ottiene con il Phong Shading, dove l'interpolazione riguarda le normali sui vertici dei triangoli (e non i colori) lungo tutta l'area da essi in­ dividuata e per ogni pixel necessario alla ra­ sterizzazione dell'intera superficie 3D. Un tipo di shading per pixel senz'altro più pe­ sante del Gouraud, in particolar modo nel rendering d'immagini ad alta risoluzione, ma di una precisione tale da consentire otti­ mi risultati anche con un numero piuttosto basso di poligoni (low poly).

L'hardware Hikaru sviluppato nel 1999 da Sega era in grado di gestire il phong shading in tempo reale, come dimostra il gioco da sala Brave Fire Fighters, il primo assoluto ad avvalersi di questa tecnologia.

28


Shading

La maggiore diffusione del software dedicato al rendering fotorea­ listico e il successo ottenuto dai videogame in grafica 3D hanno determinato una vera esplosione di interesse intorno a queste im­ portanti tecnologie. Il rendering 3D è dunque la completa esecuzione degli algoritmi necessari a tradurre uno spazio virtuale tridimensionale in delle immagini raster tendenti al realismo. Lo spazio 3D è sempre po­ polato da tre distinte categorie di oggetti: • i modelli 3D definiti da un insieme di poligoni (e/o dai loro verti­ ci e bordi) chiamate anche mesh (maglie poligonali). • le fonti di luce. • le camere virtuali intese come i punti di osservazione da cui de­ terminare la corretta rappresentazione dei modelli secondo le re­ gole della prospettiva. Questa definizione vale sia per il rendering in real time dei video­ games, sia per i più complessi processi di rendering utilizzati nella produzione dei lungometraggi di animazione. In precedenza abbiamo accennato in modo generico a un modello d'illuminazione unito alle tecniche d'interpolazione Gouraud e Phong. Infatti l'informatico vietnamita Bui Tuong Phong sviluppò anche l'omonimo modello di riflessione basato sul reale comporta­ mento della luminosità. In natura le superfici vengono illuminate dalle circostanti fonti di luce, ma anche da un'illuminazione am­ bientale proveniente da tutte le direzioni. Ciò che noi osserviamo è il frutto della luminosità riflessa verso i nostri occhi. Il modello di riflessione di Phong scompone la luce riflessa nelle tre componen­ ti: riflessione diffusiva, riflessione speculare e riflessione d'am­ 29


Evoluzione della Computer Grafica 3D

biente. La riflessione speculare rappresenta la riflessione delle fonti luminose di tipo diretto e per tanto essa dipende dalla posi­ zione e dall'angolo del punto di vista.

30

Riflessione Ambientale

Riflessione diffusiva

Riflessione Speculare

Riflessione di Phong


La rivoluzione 3D

All'inizio degli anni '90, nonostante l'aumen­ to dell'interesse per il rendering 3D nei vi­ deogames, mancava ancora un'architettura hardware specializzata in questo tipo di ra­ sterizzazione in tempo reale. Nel 1993 venne lanciato il 3DO Interactive Multiplayer della Panasonic, una macchina che oggi possiamo considerare il prototipo delle console moder­ ne in quanto dotata di lettore ottico, cpu+fpu a 32 bit, e con a bordo due interessanti co­ processori per la gestione degli effetti grafici 3D inclusa la mappatura delle texture sui poligoni. Per quanto potente e innovativo, il 3DO ha sofferto la presenza sul mercato del­ le console a 16bit, molto più economiche e ancora pienamente supportate da tutte le software house, proponendosi di conseguen­ za come un prodotto elitario sebbene privo di reali killer application. Il colpo di grazia giunse infine nel '95 al lancio in occidente della Sony Playstation, venduta ad un prezzo più basso del 3DO e con delle eccezionali ca­ ratteristiche tecniche. Il comparto grafico 31


Evoluzione della Computer Grafica 3D

della console Sony era progettato per la ra­ sterizzazione dei modelli tridimensionali con il Geometry Transformation Engine dedicato alle necessarie operazioni di calcolo matri­ ciale e vettoriale. Il chip grafico vero e pro­ prio era dal canto suo un vero gioiello che ol­ tre a gestire un eccellente 2D in truecolor offriva tutto il necessario per il calcolo dell'illuminazione Gouraud sui modelli ela­ borati dal GTE, più l'indispensabile Texture Mapping.

Nel 1998 Metal Gear Solid ridefinì la tecnologia grafica dei videogiochi ricreando un'ambientazione 3D verosimile e completamente esplorabile

32

L'applicazione di immagini bitmap (Textu­ res) sui modelli 3D, che in assenza di sha­ ding venivano lasciati di colore uniforme o al più riempiti da pattern bitmap non elaborati in prospettiva, è stata la vera svolta epocale nell'ambito del 3D real time, poiché l'unico


La rivoluzione 3D

modo possibile per aumentare il dettaglio grafico, senza ricorrere ad ulteriori vertici e poligoni.

Nella ricca architettura della playstation ha giocato un ruolo molto importante anche il coprocessore M.D.E. (Motion DeCoder Engi­ ne) per la decompressione in tempo reale dei video presenti nel cd­rom. Nonostante il la­ voro svolto dal MDE non riguardasse la ge­ stione del rendering 3D, esso contribuì ad aumentare la popolarità di tale forma di espressione artistica grazie alla notevole qualità dei Full Motion Video utilizzati per mostrare gli avanzamenti della trama di molti giochi, come nel caso della famosa saga Final Fantasy. Si trattava di video pre ren­ derizzati in una grafica 3D non certo al li­ vello delle produzioni cinematografiche di quel periodo, ma di una qualità tale che sa­

Immagini tratte dal famoso filmato introduttivo dell'ottavo capitolo di Final Fantasy (1999)

33


Evoluzione della Computer Grafica 3D

rebbe stata sorpassata dal rendering in real time soltanto verso la fine del decennio 2000. Che l'industria del cinema e quella dei vi­ deogames fossero destinate a convergere tra loro nell'uso di analo­ ghe tecnologie grafiche, lo si po­ teva intuire già nel 1984 con la pubblicazione di Rescue on Frac­ talus (Lucasfilm Games) per gli home computer a 8 bit. Questo gioco gestiva una versione sem­ plificata dell'algoritmo frattale impiegato nella sequenza di terraforming del film: Star Trek II: l'ira di Khan (1982) renderizzando tramite esso degli incredibili scenari montuosi 3D. Contemporaneamente all'avvento della playstation, che nel giro di pochi anni avrebbe traslocato gran parte della produzione video­ ludica dal 2D al 3D, usciva in tutte le sale cinematografiche del mondo Toy Story della Pixar, il primo lungometraggio di anima­ zione interamente realizzato in computer graphics. Toy Story fù il traguardo finale di molti anni di duro lavoro puramente pionieri­ stico che riunì in un unico team delle figure professionali tra loro molto diverse. Artisti e animatori 2D, attratti dalle primordiali forme di grafica 3D, lavorarono a stretto contatto con informatici e scienziati allo scopo di mettere a punto le tecniche fondamentali di modellazione e rendering. In tutto ciò ebbe un importante ruolo anche Steve Jobs, celebre personaggio da sempre noto per la sua capacità di intuire in anticipo gli effetti sulla società e sul mercato delle nuove tecnologie. La Pixar era infatti costituita da animatori tradizionali che negli anni '80 ebbero l'intuizione di vedere nel computer lo strumento adatto a sviluppare la propria creatività oltre i confini imposti dall'animazione 2D. Per tale idea, all'epoca

34


La rivoluzione 3D

più astratta che reale, alcuni di questi straordinari individui per­ sero addirittura il lavoro alla Disney, trovandosi di conseguenza in piena difficoltà economica, privi di adeguati investimenti, costretti a studiare da zero dei principi informatici del tutto estranei al mondo dell'animazione di quei tempi. Dopo che la collaborazione con l'Industrial Light & Magic di George Lucas permise lo svilup­ po delle tecnologie necessarie a creare sequenze ambientali im­ possibili da ottenere con gli effetti speciali classici, la Pixar tornò a dedicarsi all'originale idea di produrre interi lungometraggi ba­ sati sull'animazione di characters virtuali. A quel punto Steve Jobs comprese le potenzialità della Pixar e vi investì un'enorme quantità di denaro, riuscendo non solo a coinvolgere la Disney nel­ la produzione e distribuzione dei primi capolavori targati Pixar, ma a sfruttare la successiva e pesante crisi dell'animazione tradi­ zionale per far fondere la sua rampante casa di animazione pro­ prio con il gigante Disneyano. Prima di giungere allo storico tra­ guardo dell'uscita nelle sale cinematografiche del lungometraggio Toy Story, la grafica 3D aveva fatto la propria comparsa nei film Disney: Tron (1982) e La bella e la bestia (1991). Inoltre nel '93 si ebbe un notevole esempio della portata rivoluzionaria della grafi­ ca 3D con Jurassic Park di Spielberg, il quale mostrò al pubblico dei dinosauri assolutamente “vivi” e realistici. L'animazione 3D prese così ad evolversi sempre più rapidamente, fino a raggiunge­ re una nuova pietra miliare nel 2001, quando per la prima volta la computer graphics provò a rimpiazzare interamente le riprese di attori in carne ed ossa con un rendering 3D foto­realistico; parlia­ mo del film di fantascienza Final Fantasy The Spirit Within, crea­ to dalla Square Studios grazie all'esperienza accumulata con le sequenze animate della celebre e omonima saga di videogiochi. Il film fu un flop al botteghino e subì parecchie critiche per il ri­ corso a dei personaggi virtuali e non in carne e ossa. Pregiudizi 35


Evoluzione della Computer Grafica 3D

ingiusti poiché il movimento e l'animazione dei protagonisti era comunque opera della recitazione di attori reali e "ripreso" con tec­ niche di motion capture. Una pratica che consente di catturare e replicare in modo as­ solutamente fedele anche l'espressività del volto, come dimostra l'ultimo lungometrag­ gio della Square­Enix Kingslaive: Final Fantasy XV (2016).

36


Fotorealismo

Nell'ambito della grafica 3D è possibile imbattersi in due princi­ pali interpretazioni di fotorealismo, la prima è soggettiva e per fo­ torealismo intende la qualità di certe immagini generate al com­ puter di apparire molto simili, o indistinguibili, da una reale foto; mentre l'altra interpretazione è oggettiva e per fotorealismo in­ tende la resa grafica di modelli matematici studiati per riprodurre con precisione il comportamento fisico della luce. L'artista 3D che intende creare dei render fotorealistici, oltre a impostare un'ade­ guata simulazione dei fenomeni luminosi dovrà curare ogni detta­ glio dei modelli, dei materiali e dell'illuminazione, evitando di commettere degli "errori" facilmente rintracciabili da un occhio esperto. Dal punto di vista fisico le proprietà della luce cambiano in funzione del fenomeno che intendiamo studiare. Ciò che defi­ niamo luce è principalmente l'insieme delle onde elettromagneti­ che la cui gamma di frequenze corrisponde ai colori dello spettro visibile. Le superfici esposte a un'emissione di luce bianca riflet­ tono, in tutte le direzioni, la porzione di spettro relativa ai colori della propria ombreggiatura. La natura ondulatoria della luce non è di fondamentale importanza per la grafica 3D, in quanto basta­ no i principi dell'ottica geometrica a spiegare la maggioranza dei fenomeni coinvolti nella formazione delle immagini. Infatti il ren­ dering 3D si basa principalmente su algoritmi che simulano la diffusione, la riflessione, la rifrazione e infine anche il rimbalzo 37


Evoluzione della Computer Grafica 3D

dei raggi di luce. L'ottica geometrica consen­ te inoltre un preciso calcolo delle ombre poi­ ché i raggi potrebbero ad esempio non oltre­ passare un ostacolo situato sul loro percorso e proiettare di conseguenza un'ombra su al­ tre superfici, oppure potrebbero attraversare parzialmente tale corpo e determinare della penombra. Un'accurata rappresentazione grafica dell'illuminazione migliora senza Bartolomeo Manfredi, dubbio la percezione di profondità di qual­ Il Castigo di Cupido siasi opera che già rispetta le leggi della (1582­1622), Art prospettiva. Una prima svolta in tal senso la Institute of Chicago si ebbe nei dipinti del Caravaggio (1571­ 1610) e la cosiddetta “rivoluzione luministi­ ca” che sovrappose alle tecniche prospettiche rinascimentali la raffigurazione dei princi­ pali fenomeni legati alla propagazione della luce. All'interno di intensi chiaroscuro il Ca­ ravaggio esaltò la natura tridimensionale dei corpi dipingendo su di essi delle accuratissi­ me ombreggiature. Motivo per cui possiamo Jusepe de Ribera, Sant'Andrea (inizio XVII secolo)

Georges de La Tour, Adorazione dei pastori (1644)

38


Fotorealismo

in qualche modo intendere il moderno rendering 3D come l'evolu­ zione scientifica e digitale del caravaggismo. L'insieme degli algo­ ritmi che trasformano la nostra scena tridimensionale in immagi­ ni raster è noto come motore di rendering, oppure motore grafico. Il primo passo nelle tecniche di rasterizzazione 3D risale al 1968 con l'ideazione dell'algoritmo del Ray­Casting, chiamato anche “metodo del pittore” poiché l'immagine finale è considerata come una tela suddivisa in un numero finito di elementini (pixel) posta davanti agli occhi del pittore. Il processo consiste nel tracciare un insieme di raggi aventi origine nel punto di osservazione e diretti verso i pixel dell'immagine raster di cui vogliamo semplicemente stabilire il colore. Il percorso dei raggi così definiti terminerà nei punti d'intersezione con le superfici della scena, dove il modello matematico adottato per l'illuminazione elaborerà il colore dei re­ lativi pixel. Nel caso in cui i raggi non incontrassero alcuna super­ ficie, i pixel corrispondenti avranno il colore del background.

39


Evoluzione della Computer Grafica 3D

Nonostante la funzione del motore di rendering sia quella di si­ mulare in modo più o meno approssimato il comportamento fisico della luce, non è affatto necessario che esso replichi l'esatto ordine dei fenomeni luminosi così come avvengono in natura; difatti nel ray­casting i raggi partono dal punto di vista in direzione della scena, esattamente l'opposto di quanto accade nella realtà, dove i raggi emessi dalle fonti di luce vengono prima diffusi/riflessi in varie direzioni dalle superfici, per raggiungere infine gli strumen­ ti di cattura delle immagini. Simulare in modo assolutamente esatto i fenomeni ottici richiederebbe una potenza di calcolo ben al di là quella offerta dalla nostra attuale tecnologia. Considerato però che il nostro scopo è principalmente quello di "convincere" l'occhio umano, possiamo semplificare il problema ricorrendo ad algoritmi eseguibili in tempi assolutamente ragionevoli già dai co­ muni personal computer. Ed è così che nel 1979, alle soglie del de­ cennio cruciale per l'evoluzione della computer graphics, nacque il rivoluzionario Ray­Tracing con la reiterazione ricorsiva del para­ digma introdotto dal ray­casting. Anche nel ray­tracing i raggi congiungono il punto di vista e i singoli pixel per determinare l'eventuale punto d'intersezione con le superfici, ma diversamente dal ray­casting da tali punti vengono successivamente tracciati al­ tri raggi, alcuni dei quali (raggi ombra) diretti verso ognuna delle fonti di luce presenti in scena. Quando i raggi ombra incontrano lungo il proprio percorso una superficie totalmente opaca, il punto d'origine risulta in ombra rispetto alla relativa fonte luminosa, al­ trimenti viene calcolato il colore del pixel in funzione dello shader assegnato. Le caratteristiche fisiche dei materiali come il loro co­ lore, più l'eventuale proprietà di riflettere l'ambiente circostante e/o l'essere semi trasparenti, vengono stabilite prima di avviare il rendering, e in base ad esse, dai punti della superficie individuati dai raggi iniziali potranno partire altri due tipi di raggi: i primi

40


Fotorealismo

per rilevare la riflessione delle superfici cir­ costanti, mentre gli altri attraverseranno la superficie stessa ricreando l'eventuale feno­ meno della rifrazione. Un sistema nel com­ plesso semplice e geniale che a causa della sua natura ricorsiva comporta una mole di calcoli notevolmente superiore al ray casting. Il ray­tracing permise fin da subito di creare immagini di un realismo senza precedenti, con la simulazione quasi perfetta delle su­ perfici opache, lucide, trasparenti, riflettenti e rifrangenti. Nella seconda metà degli anni '80 questo potente algoritmo ha stimolato la produzione di moltissimo software 3D per la nuova generazione di computer 16/32 bit do­ tati di schede grafiche a migliaia di colori, diversi megabyte di ram e delle CPU in gra­ 41


Evoluzione della Computer Grafica 3D

do di eseguire milioni di istruzioni al secondo (mips) più l'eventua­ le supporto di coprocessori matematici specializzati nell'elabora­ zione dei dati in virgola mobile (potenza stimata in flops). Il prin­ cipale limite del ray­tracing è quello di contemplare la sola illuminazione proveniente dalle fonti di luce in scena (illuminazio­ ne diretta) con i raggi che non vengono mai diffusi dalle superfici incontrate. Nella realtà il colore di qualsiasi oggetto, essendo an­ ch'esso della radiazione elettromagnetica, si propaga nello spazio finendo con l'influire sull'ombreggiatura delle superfici circostanti (illuminazione indiretta). Per integrare questo importante feno­ meno e quindi raggiungere un superiore livello di realismo, sono nate tecniche d'illuminazione globale che considerano i rimbalzi (bounces) sia della riflessione diffusiva (colore) sia degli altri raggi riflessi o trasmessi. In questo modo tutte le superfici della scena si influenzano a vicenda nel calcolo delle rispettive ombreggiatu­ re, ma solo entro un limite prestabilito di iterazioni, poiché l'ener­ gia dei nuovi raggi tende a diminuire ad ogni rimbalzo. Da un punto di vista prettamente teorico si è giunti alla cosiddetta equa­ zione del rendering che formula in modo esatto la quantità di lu­ minosità (o radianza) emessa dalle superfici in funzione di ogni loro punto e direzione.

Tutti gli algoritmi alla base dei moderni motori di rendering sono soluzioni più o meno approssimate di tale importante equazione. Nel corso degli anni sono stati creati parecchi engine dedicati al rendering 3D, suddivisi in due principali categorie: Biased e Un­ biased. I primi puntano a un'approssimazione piuttosto grossola­ na della questione teorica posta dall'equazione del rendering, con la possibilità di attivare all'occorrenza degli algoritmi utili a mi­

42


Fotorealismo

gliorare il realismo, senza però sfociare in una simulazione rigoro­ sa del comportamento della luce. Prendendo come esempio il mo­ tore biased open source Blender Render, esso consente l'attivazio­ ne di algoritmi utili a simulare l'effetto dell'occlusione ambientale (l'ombreggiatura dei volumi spazialmente occlusi) che in realtà deriva proprio dai rimbalzi dei raggi di luce tra le superfici adia­ centi. Nella successiva immagine vediamo chiaramente che a de­

stra, tramite un maggiore tempo di rendering dedicato al calcolo dell'occlusione ambientale, il motore biased ha creato un'ombreg­ giatura frutto di un modello d'illuminazione che penetra e si dif­ fonde fin dentro il volume interno. Il vantaggio dei motori biased è dato dalla possibilità di limitare il tempo necessario al rendering, anche perché non sempre nell'ambito della grafica 3D occorre un realismo estremo. I motori di rendering unbiased tentano invece di riprodurre in modo più fedele il comportamento fisico della lu­ ce, ciò al costo di un'enorme quantità di calcoli a carico dell'hard­ ware. In genere questi motori integrano degli algoritmi per deter­ minare l'illuminazione indiretta insieme a quella diretta delle fonti luminose (illuminazione globale) consentendo anche il calcolo 43


Evoluzione della Computer Grafica 3D

delle caustiche (fenomeno che riguarda la luce che attraversa delle superfici trasparenti ondulate), il sub surface scattering (propaga­ zione della luce sotto la superficie, ad esempio nella pelle o nella gomma) fino a spingersi a considerare i fenomeni derivati dalla natura particellare della luce, intesa quindi come flusso di fotoni. Per utilizzare con profitto tali software non è necessario conoscere i dettagli teorici del funzionamento dei motori di rendering, e chiunque accumulando la necessaria esperienza potrà giungere a produrre delle opere grafiche in 3D anche dal notevole valore tec­ nico ed artistico.

44


Gpu

Nella seconda metà degli anni '90, oltre ai capolavori dell'anima­ zione computerizzata e alla nuova generazione di console orienta­ te ai giochi in grafica a tre dimensioni, i sistemi operativi per computer disponevano già delle API (interfaccia di programmazio­ ne di un'applicazione) OpenGL e DirectX con le specifiche utili al­ la produzione dei processori dedicati all'accelerazione grafica 3D. L'esistenza di tali schede acceleratrici rifletteva la possibilità pu­ ramente algoritmica di meccanizzare il processo di rendering in una successione di operazioni e calcoli in virgola mobile sempre dello stesso tipo. Le librerie OpenGL sono divenute lo standard per software professionali come i CAD, mentre le DirectX intro­ dotte da Windows 95 erano maggiormente orientate alla realizza­ zione dei videogiochi, un mercato d'importanza strategica per Mi­ crosoft fin dall'era MS­DOS. La Pipeline del rendering 3D in tempo reale (una sorta di catena di montaggio) era organizzata in diverse fasi, di cui alcune a carico della CPU, come ad esempio le trasformazioni nello spazio degli elementi vettoriali costituenti i modelli; mentre lo shading e il texturing erano presi in consegna dalla scheda video. Il continuo succedersi di schede acceleratrici sempre più potenti portò gli ingegneri a spostare su di esse l'inte­ ro insieme dei calcoli necessari alla rasterizzazione 3D, introdu­ cendo di fatto il moderno concetto di GPU, ossia un insieme di centinaia di processori che operano in parallelo. Basti pensare che 45


Evoluzione della Computer Grafica 3D

una scheda grafica nel 1998 era composta da circa 15/20 milioni di transistor, mentre le attuali GPU impiegano fino a otto miliardi di transistor nel rendering di scenari 3D composti da svariati milioni di triangoli, tutti ombreggiati da shader molto avanzati. Una si­ mile potenza di calcolo (misurata in teraflops) consente di rende­ rizzare in tempo reale l'aspetto di qualsiasi tipo di materiale soli­ do, gassoso o liquido, e di animarli in pieno rispetto delle leggi fisiche con ulteriori calcoli che a loro volta potranno essere delega­ ti alla GPU (Nvidia Physics). Del resto sono molte le tipologie di elaborazione che oggi riescono ad avvantaggiarsi dell'architettura parallela dei moderni chip grafici, come la compressione video, le simulazioni fisiche, incluso il rendering 3D fotorealistico (GPU Render) con motori grafici unbiased che hanno trovato nelle GPU la brute force necessaria alla loro esecuzione. Tra le molte tecniche real time rese possibili dalle moderne GPU, analizziamo a titolo di esempio il Normal Mapping, il quale consentì ai videogiochi pro­ dotti negli anni 2000 di compiere un decisivo salto di qualità. Il Normal Mapping è un passaggio del processo di shading che si­ mula la presenza di rilievi più o meno profondi sulle superfici 3D, ciò senza aumentare il conteggio complessivo dei poligoni. Nei mo­ tori grafici moderni le texture hanno un ruolo più ampio rispetto a quello originale che consisteva nel mappare delle immagini bit­ map sopra i poligoni, un po' come la carta da parati sulle mura di casa. Le texture possono fornire al motore grafico una vasta quan­ tità di informazioni su come il modello d'illuminazione dovrà com­ portarsi, punto per punto, nel calcolare l'ombreggiatura della su­ perficie. Sappiamo già che ogni triangolo dei modelli 3D definisce un vettore, chiamato normale, orientato lungo l'asse ortogonale al poligono stesso; ebbene le normal map sono delle semplici imma­ gini bitmap il cui scopo è quello di influenzare l'ombreggiatura co­ me se gli elementini della superfice (chiamati texel, cioè i “pixel"

46


Gpu

del processo di texturing) avessero una nor­ male diversa dall'interpolazione delle nor­ mali sui vertici, simulando in questo modo la presenza di rilievi. Le normali utili a tal sco­ po vengono derivate dai valori RGB dei pixel della normal map, e trattandosi di vettori tridimensionali occorrono ovviamente tre componenti: • Rosso (0­255) componente X (­1,0 ­ 1,0) • Verde (0­255) componente Y (­1,0 ­ 1,0) • Blu (0­255) componente Z ( 0,0 ­ 1,0) il valore Z è sempre positivo (normali rivolte verso l'esterno del modello) motivo per cui le normal map sono immagini di colore preva­ lentemente bluastro con un valore minimo di 128 per la componente Blu di ogni pixel. Questo tipo di mappatura insieme all'uso di fonti luminose non fisse per posizione e in­ tensità ha consentito di renderizzare am­ bienti e modelli 3D molto più realistici ri­ spetto a quelli "piatti" delle precedenti generazioni di videogiochi. La qualità dello shading real time dipende strettamente dal­ la complessità dei modelli d'illuminazione adottati che oggi quasi sempre integrano il calcolo dell'occlusione ambientale e a volte persino algoritmi global illumination come il Radiosity. I progressi tecnologici degli ultimi vent'anni hanno consentito al rendering in real time di avvicinarsi notevolmente al foto­ 47


Evoluzione della Computer Grafica 3D

realismo, e gli esperti del settore prevedono che occorre ancora un decennio circa di evoluzione per completare il lungo percorso in di­ rezione dello storico obiettivo.

(Star Wars: Battlefront, Frostbite 3 by DICE)

48


Software 3D

Per muovere i primi passi nel mondo della grafica a tre dimensio­ ni non è necessario possedere delle costose workstation. Molti dei comuni PC in vendita nei centri commerciali sono più che adatti a una preliminare fase di studio dei principali software grafici, i cui requisiti minimi sono addirittura inferiori all'attuale fascia dei si­ stemi destinati a uso ufficio/web. Naturalmente è consigliato ri­ volgere la propria attenzione a dei personal computer quantomeno di fascia media con CPU quad core, memoria di sistema superiore a quattro gigabyte e scheda video dedicata con due giga di ram. Anche la scelta del software da utilizzare è molto ampia, troviamo infatti degli applicativi proprietari gratuiti, oppure commerciali dal prezzo paragonabile a quello di un videogame, fino a giungere alle soglie del software professionale le cui licenze possono costare anche alcune migliaia di euro. Fortunatamente esiste l'ulteriore via dell'open source con la nota suite Blender 3D giunta alle re­ lease 2.79 e potente quanto i mostri sacri del settore (3D Studio Max, Maya, Modo, Cinema4D). Dopo aver scaricato il pacchetto di installazione da blender.org e avviato Blender su uno dei sistemi operativi supportati, esso si presenterà con un'ampia porzione della GUI occupata dalla vista prospettica­ortogonale (viewport) renderizzata in uno dei cinque livelli di precisione grafica disponi­ bili, partendo dal classico wireframe. Per creare una scena in Blender occorre per prima cosa modellare la struttura poligonale 49


Evoluzione della Computer Grafica 3D

Flat shading

Blender Cycles (GPU)

50

di tutti gli elementi “solidi” ivi contenuti, in­ clusa l'eventuale stanza che separa l'am­ biente interno, quello con la maggiore con­ centrazione di oggetti, dal mondo esterno il cui dettaglio tende invece ad annullarsi in funzione della distanza dalla camera; ele­ menti che saranno avvolti da un background sferico chiamato World. Inoltre potremo ri­ correre anche a delle simulazioni fisiche di sostanze fluide e gassose, oltre che a diversi tipi di sistemi particellari. Blender mette a disposizione due ottimi motori di rendering: il blender render (biased) particolarmente utile nel caso la scena non debba essere strettamente fotorealistica e il blender cycles (unbiased) per il fotorealismo puro. Trattan­ dosi di motori grafici tra loro molto diversi, la scelta dell'uno o dell'altro influirà sul suc­ cessivo studio dell'illuminazione e definizio­ ne dei "material", ossia l'insieme degli sha­ der e delle texture da assegnare ad ogni superficie. Le texture potranno essere bit­


Software 3D

map o procedurali con il compito d'influenzare i diversi aspetti dello shading come il colore diffuso, la trasparenza, le riflessioni, le normali e tanto altro; donando all'utente la possibilità di ricrea­ re qualsiasi materiale o sostanza esistente in natura. Prima di ot­ tenere il nostro render, che il motore grafico realizza con l'unione di diverse passate, a volte è necessario impostare una fase di post­ processing da dedicare a certe tipologie di effetti non ricreabili tramite normale rendering, come ad esempio le distorsioni ottiche tipiche della fotografia (lens flare, aberrazione cromatica, etc). Blender proviene da ben ventidue anni di sviluppo interrotto e possiamo considerarlo un'opera omnia delle tecniche esistenti nel­ la computer grafica 3D. Al suo interno troviamo persino un versa­ tile game engine per la realizzazione di giochi e applicazioni in grafica 3D real time ­ interatti­ va. La grafica del Blender Ga­ me Engine e delle anteprime viene renderizzata dalla GPU in OpenGL, al contrario del motore Blender Render che ri­ sulta interamente a carico del­ la CPU. Blender Cycles è in un certo senso il punto d'incontro tra le due dimensioni, in quan­ to può essere eseguito sia dalla CPU che dalla GPU. Tale engine di tipo Path Tracing nasce per sfruttare il GPU Render sulle po­ tenti schede grafiche moderne (incluse quelle Gaming) al fine di restituire dei risultati pressoché foto­realistici. Tra i molti vantag­ gi del gpu render troviamo la possibilità di attivare delle antepri­ me fotorealistiche in pseudo real time, già durante la fase di defi­ nizione dei materiali e dell'illuminazione; una funzionalità tanto intrigante nella sua veste estetica da lasciar immaginare un loro 51


Evoluzione della Computer Grafica 3D

Disney ha creato un di­ vertente cortometrag­ gio animato per spie­ gare i "segreti" dell'animazione 3D in modo semplice ed ef­ ficace: youtu.be/25N7l8vqepQ

Otoy Inc ha sviluppato un engine Path Tra­ cing real time chiama­ to Brigade.

52

futuro impiego nella grafica 3D interattiva. I moderni motori grafici real time come l'Unreal engine 4 (scaricabile gratuitamente) presentano già un sistema Physically Based Materials concettualmente simile a quello degli engine path tracing (benché molto di­ stante in termini tecnici) che meglio si adat­ ta agli avanzati modelli di illuminazione e shading utilizzati nei giochi di ultima gene­ razione. Nell'UE4 i materiali vengono creati agendo su dei parametri fisici come ad esempio il roughness (ruvidezza) che rende un materiale non metallico più o meno liscio, e quindi più o meno in grado di mostrare la riflessione speculare delle fonti di luce (sfere rosse a sinistra) e ciò senza dover impostare un apposito shader di tipo specular come ac­ cadeva in passato. Analogamente un mate­ riale metallico particolarmente ricco di mi­ cro asperità perde la sua capacità di riflettere l'ambiente circostante, risultando ombreggiato in modo più simile a un mate­ riale non metallico.


Software 3D

53


Evoluzione della Computer Grafica 3D La release 2.8 di blen­ der (prevista per il 2018) introdurrà un motore di rendering realt time PBR, chia­ mato Eevee, che utiliz­ zerà gli stessi shader del più complesso Blender Cycles.

54


Demoscene

Riassumiamo brevemente gli ambiti in cui la grafica 3D è oggi protagonista assoluta: Rendering tradizionale fotorealistico e non, impiegato in: • Architettura • Progettazione industriale • Cinema, animazione, arte Rendering interattivo o real time: • Videogame • Realtà virtuale • Demoscene La demoscene è un mondo a se stante che si contraddistingue per la produzione di opere digitali il cui unico scopo è quello di mo­ strare le massime capacità tecniche di svariati sistemi informatici. Trattandosi in genere di spettacolari esibizioni di grafica 2D e 3D, arricchite da incalzanti colonne sonore, esse vengono presentate in delle festose manifestazioni annuali e quindi rese disponibili al download in modo che tutti possano vederle in esecuzione sul pro­ prio sistema. Tali demo non vanno confuse con le tech­demo create da colossi come Nvidia ed Ati che hanno il preciso scopo di pro­ muovere le capacità tecniche di prodotti commerciali come ad esempio le moderne GPU o i prototipi delle nuove console. 55


Evoluzione della Computer Grafica 3D

La demoscene possiede un'intrinseca natura anarchica ed opera principalmente sulle seguenti piattaforme informatiche: • PC Windows (OpenGL o DirectX) • Gnu/Linux (OpenGL) • Commodore Amiga • Commodore 64 • Sinclair ZX Spectrum In questa dimensione underground vengono ancora programmati i principali computer dell'era 8/16 bit, in quanto trattasi dell'habi­ tat in cui la demoscene ha avuto origine a partire dalle animazioni visibili all'avvio dei giochi sprotetti di quel periodo. Nel corso degli anni la demoscene è stata foriera di molte tecnologie software in seguito utilizzate nelle produzioni commerciali. Infatti era possi­ bile osservare complessi effetti grafici 3D molto prima che tali tec­ niche, supportate da accelerazione hardware, divenissero lo stan­ dard nella produzione dei videogiochi. Vediamo dunque alcuni esempi della primordiale grafica 3D esibi­ ta dalla demoscene a cavallo degli anni '90. Il 3D Dots rappresen­ tava qualsiasi volume e superficie, in vista prospettica, ricorrendo a delle matrici di punti/pixel. Il tempo di rendering era basso per­ sino su degli hardware a 8bit come il Commodore 64.

56


Demoscene

Le suggestive animazioni di questi pixel ricreavano l'illusione quasi perfetta di forme e paesaggi dinamici che scorrevano fluida­ mente sullo schermo. Impiegando oggetti bitmap, anziché singoli pixel, otteniamo la tecnica degli Sprites 3D, con numerosi sprite che vengono ridimensionati secondo le regole della prospettiva ol­ tre che nascosti da quelli più vicini al punto di osservazione.

Nelle demo degli anni '80 si è fatto largo uso anche della grafica wire frame e solida, con qualche “trucco” aggiuntivo come ad esempio il Glenz Vectors, per ricreare la trasparenza dei poligoni:

57


Evoluzione della Computer Grafica 3D

nell'immagine precedente è visibile da sinistra verso destra il classico cubo in grafica poligonale solida, poi lo stesso cubo diviso in facce triangolari con l'alternanza dei colori bianco e blu, quindi l'effetto finale di trasparenza delle sole facce di colore blu.

Negli anni novanta ha riscosso un certo successo la grafica Voxel (volumetric pixel) utilizzata nella rappresentazione prospettica di matrici tridimensional di pixel 3D. Grossomodo si tratta di un'evoluzione del 3D Dots visto in precedenza, dove ogni voxel in prospettiva gode di un proprio colore dato dal complessivo proces­ so di rendering. La bassa risoluzione della griglia permetteva a CPU come l'intel 486 di renderizzare interessanti panorami 3D, estraendo le informazioni su posizione ed altezza dei singoli voxel da immagini raster chiamate height map (mappe d'altezza) spesso generate da algoritmi frattali.

58


Realtà virtuale

Nella moderna concezione della realtà fisica lo spazio e il tempo si intrecciano in un tessuto quadridimensionale, non euclideo, cur­ vato dalla presenza di enormi masse di materia.

Prima di tali teorie, l'universo era considerato un infinito spazio euclideo tridimensionale con la variabile tempo indispensabile a descrivere la dinamica dei sistemi fisici osservabili. Quest'inter­ pretazione resta pressoché esatta all'interno di deboli campi gra­ vitazionali come quello generato da un pianeta di modeste dimen­ sioni e massa come la terra, dove la nostra percezione della realtà avviene principalmente tramite la vista dello spazio 3D che oltre ad essere prospettica, risulta anche stereoscopica, in quanto l'evo­ luzione ha addestrato il cervello a unire le diverse prospettive pro­ 59


Evoluzione della Computer Grafica 3D

venienti da entrambi gli occhi in una più precisa percezione di profondità; un fenomeno ovviamente assente nell'atto di osservare delle rappresentazioni prospettiche come i dipinti o la grafica 3D generata dal computer, a meno che non vengano utilizzati dei si­ stemi capaci di veicolare un'immagine diversa per ogni occhio co­ me accade nel campo della stereoscopia. Il disegno prospettico è dunque un'illusione piana di tridimen­ sionalità che tra le altre cose consente la raffigurazione di in­ triganti geometrie impossibili. Le prime sperimentazioni sulla simulazione della visione stereo­ scopica risalgono al 1832 con il lavoro di Sir Charles Wheatsto­ ne, passando successivamente per l'invenzione del 3D anaglifo che come ricorderete richiedeva l'uso di occhiali con lenti di colore rosso e ciano. L'hardware informatico degli anni '90 permise una prima attua­ zione di realtà virtuale secondo l'originale concezione dei romanzi di fantascienza Cyberpunk, vale a dire l'illusione di trovarsi in una dimensione che ai nostri sensi appare tangibile, senza esserlo realmente. Un mondo digitale generato dal computer nel quale sia possibile immergersi tramite interfacce progettate per l'interazio­ ne con simulazioni di sistemi reali, corrisponde pienamente al concetto di realtà virtuale. Arriviamo così al 1991 e al sistema Virtuality dotato di un visore binoculare noto come Head­Munted Display, la cui funzione era di immergere il giocatore in mondi 3D renderizzati in flat shading. Il visore H.M.D si basa su due fattori:

60


Realtà virtuale

• la visione stereoscopica di scene 3D raste­ rizzate in real time • l'associazione dei movimenti della testa a quelli del punto di vista virtuale nello spazio Un sistema così concepito dona al giocatore la sensazione di totale immersione nello spazio virtuale e la possibilità di orientare a piacimento lo sguardo tramite i naturali mo­ vimenti del capo; un effetto diverso da quello sperimentato al cinema 3D o sulle tv­moni­ tor 3D. Trascuriamo gli impieghi in ambito scientifico e militare degli H.M.D, per con­ centrarci sull'intrattenimento video ludico che vide nel Virtuality del 1991 una prima realizzazione completa ed efficiente di un si­ stema del genere. Un successo relativamente breve a causa dell'enorme costo delle mac­ chine rimaste confinate esclusivamente ad esibizioni televisive o all'interno di fiere in­ formatiche. L'Hardware a supporto del viso­ re era nientedimeno che il Commodore Ami­ ga 3000, tra i migliori sistemi in commercio all'epoca e ammiraglia dei computer prodot­ ti dalla celeberrima casa informatica statu­ nitense. Ovviamente per renderizzare qual­ cosa come 30 mila poligoni a un frame rate accettabile, si è reso necessario inserire un adeguato coprocessore estraneo all'architet­ tura grafica originale. L'Hardware di quel sistema Amiga potenziato era concettual­ 61


Evoluzione della Computer Grafica 3D

mente simile al tipo di console che anni dopo avrebbero monopo­ lizzato il mercato. Nonostante in quel periodo la realtà virtuale fosse divenuta un fenomeno di enorme interesse, grazie anche a pellicole come il Tagliaerbe (1992) tratto da un racconto di Sthe­ phen King e considerato una pietra miliare per le sue sequenze in grafica 3D, questo genere di soluzione non era ancora pronto per una commercializzazione su ampia scala. Nintendo e Sega lavora­ rono a tecnologie ispirate a questi visori, ottenendo solo clamorosi fiaschi o la cancellazione finale dei progetti. All'epoca la priorità per il mercato videoludico era quella di evolvere le nascenti tecno­ logie della grafica 3D in tempo reale, iniziando la lunga rincorsa al realismo sfociata oggi nella creazione di sofisticati videogames dotati di grafica estremamente dettagliata con in più l'accurata simulazione fisica di ogni elemento visibile. La domanda porsi è dunque la seguente: oltre alle soluzioni Full HD (l'attuale stan­ dard), il 3D, la risoluzione 4K, è giunto il momento di offrire an­ che una reale immersione in questi mondi virtuali, ricorrendo a un valido sistema H.M.D che possa sfondare sul mercato, conside­ rato che l'evoluzione degli schermi lcd ha fatto anch'essa molta strada? Nel 2017 la risposta pare essere parzialmente affermativa, tanto che ben due sistemi sono destinati a scontrarsi sul mercato nei prossimi anni: l'Oculus Rift, progetto nato nel crowdfunding e infine acquistato da Facebook per la colossale cifra di due miliardi di dollari, più il PlayStation VR della Sony.

62


Realtà virtuale ©facebook Un'immagine destinata a fare storia che qualcuno ha persino definito "inquietante". Come cambieranno i rapporti umani con l'avvento della realtà virtuale?

©Google Google oltre a proporre soluzioni economiche per utilizzare lo smartphone come visore HDM, promuove l'utilizzo artistico della stessa con il suo software: Tilt Brush.

©Sony

Sony punta tutto sul lato adrenalinico della realtà virtuale, proponendo una ricca line up di giochi d'azione. Quanti amanti dei videogames riusciranno a tollerare simili "esperienze" virtuali?

63


Appendice A ­ Cronologia

1870 ­ 80 Importanti studi sulle proprietà dei raggi catodici. Immagine: tubo di Crookes acceso (foto, CC ­ Zátonyi Sándor)

1897 Kal Braun realizza il primo oscilloscopio a tubo catodico (CRT).

1946 Eniac è il primo computer general purpose della storia.

1950 Nasce la computer art con la sperimentazione tramite oscilloscopio di Bel Laposky e Manfred Frank.

1958 L'ingegnere Jack Kilby della Texas Instruments inventa il microchip.

65


Evoluzione della Computer Grafica 3D

1959 Il MIT sviluppa il computer TX­2 dotato di un output grafico.

1960 Viene coniata l'espressione Computer Graphics. Immagine ©Boeing.

1963 AL MIT viene messo a punto il primo CAD della storia, Sketchpad, sul computer TX­2

1964 Si perfezionano gli algoritmi per rilevare le linee nascoste nella rappresentazione grafica prospettica di tipo wire frame. 1965 Algoritmo di Bresenham (pg.9)

1968 Completato il prototipo del magnavox odyssey, prima console per videogames della storia. (foto CC ­ Philip Steffan)

66


Appendice A ­ Cronologia

1969 Alan Key della Xerox sviluppa la prima interfaccia grafica GUI 1971 Algoritmo del Gouraud Shading (pg.25)

1972 Sviluppato un framebuffer (memoria scheda video) a 8 bit (256 colori). L'Atari pubblica il videogioco Pong.

1973 Gordon Moore enuncia sua la famosa legge empirica secondo cui le prestazioni dei processori e il numero di transistor raddoppiano ogni 18 mesi. 1974 Viene implementato lo Z­Buffer (pg.22)

1975 Algoritmo del Phong Shading. Benoit Mandelbrot scopre e lancia la geometria frattale.

1977 Viene introdotta la tecnica di Antialiasing per ridurre le scalettature tipiche della rasterizzazione.

67


Evoluzione della Computer Grafica 3D

1978 Introdotto il bump mapping per simulare superfici 3D ruvide. Intel lancia il processore 8086.

1979 Motorola presenta il processore a 32 bit MC68000

1981 IBM presenta il primo Personal Computer (IBM 5150) con CPU 8088 a 4,4 Mhz

1982 Disney pubblica il film Tron. Nasce la Silicon Graphics Inc (SGI). ILM sviluppa le sequenze in computer grafica di Start Trek II ­ L'ira di Khan. Presentato il Commodore 64. 1983 Sviluppato il Mip Mapping che velociz­ za il rendering e riduce gli artefatti nella vista prospettica delle texture. Vengono introdotte le Non Uniform Rational B­Splines (NURBS).

68


Appendice A ­ Cronologia

1984 Fondata la Wavefront Technologies, prima casa a produrre software commerciale dedicato alla grafica 3D Creato l'algoritmo d'illuminazione globale Radiosity. 1985 Commodore presenta il nuovo C=Amiga 1000 (pg.8) Il film Young Sherlock Holmes include la prima sequenza elaborata in digitale con un rendering 3D foto­realistico. 1986 Steve Jobs acquista la Pixar fino a quel momento parte della Lucasfilm. Incentive Software sviluppa il sistema Freescape, primo engine 3D real time per la creazione di giochi in grafica poligonale.

1987 IBM lancia lo standard grafico VGA (Video Graphics Array).

1988 Nascono le texture procedurali. Si diffonde nel cinema e in tv l'effetto grafico del Morphing.

69


Evoluzione della Computer Grafica 3D

1989 Rilasciato il motore di rendering Mental Ray. (Immagine CC ­ Zzubnik)

1990 Pubblicata la prima release del celebre 3D Studio per MS­DOS. Newtek lancia il suo Video Toaster per piattaforma Amiga. (http://youtu.be/seznQmDp2pU) 1991 Accordo tra Disney e Pixar per la produzione di tre lungometraggi animati. L'alleanza AIM (Apple, Motorola e Ibm) porta alla creazione delle CPU Risc PowerPC. (Foto CC ­ Dirk Oppelt)

1992 Rilasciate le OpenGL. Pubblicato il videogioco Wolfstein 3D.

1993 Esce nei cinema Jurassic Park. Viene fondata la Nvidia Corporation. Pubblicato il videogioco Doom.

70


Appendice A ­ Cronologia

1994 Il videogioco System Shock è una avventura totalmente immersiva con un engine 3D facente uso di texture. In Olanda lo studio di animazione NeoGeo crea Blender 3D su piattaforma SGI. 1995 Toy Story è il primo lungometraggio di animazione 3D. Sony Playstation invade il mondo. Microsoft rilascia le librerie DirectX. Primo processore grafico prodotto da Nvidia. 1996 Quake (Ms­Dos) è un salto di qualità nel rendering 3D Real Time, nonché de­ terminante per il nascente mercato dell'hardware dedicato all'accelerazione 3D. La 3Dfx Interactive produce il chip Voodoo 1.

1998 In Giappone viene lanciato il Sega Dreamcast che da il via alla seconda generazione di console 3D.

1999 Nvidia propone la prima generazione di schede grafiche Geforce e sancisce la nascita del concetto di GPU che libera la CPU dalla elaborazione della grafica 3D. (Foto CC ­ Konstantin Lanzet) 71


Evoluzione della Computer Grafica 3D

2000 Sony lancia la Playstation 2 che venderĂ ben 150 milioni di esemplari. Ati lancia il primo chip della serie Radeon. Microsoft rilascia le DirectX 8 con Vertex e Pixel Shader per gli effetti di illuminazione. 2001 Microsoft lancia l'XBOX, basata su architettura x86 Esce il lungometraggio Final Fantasy con attori virtuali realizzati in grafica 3D fotorealistica.

2002 Il software Blender 3D diventa Open Source.

2005 Microsoft lancia l'Xbox 360 Si diffondono i processori Intel e Amd multi core, interrompendo la corsa al rialzo in termini di gigahertz in favore del parallelismo.

2006 Sony lancia la Playstation 3 con l'innovativo e controverso processore Cell, piĂš il supporto Blu Ray.

72


Appendice A ­ Cronologia

2011 Prendono forma le AMD APU (Accelerated Processing Unit) che uniscono CPU e GPU in un singolo chip.

2014 Inizia la quarta generazione di console con grafica 3D con Sony Playstation 4 e Xbox One che utilizzano entrambe l'architettura x86 e APU AMD Jaguar.

73


Appendice B ­ Glossario

Aliasing Scalettature lungo i bordi delle figure geometriche elaborate dal rendering 2D/3D. Alpha blending Trasparenza dei pixel di un'im­ magine che lascia progressiva­ mente apparire una seconda im­ magine sottostante. Alpha canale Il canale alpha rende le immagini true color da 24 a 32 bit poiché ad ogni pixel è assegnato un va­ lore/coordinata alpha che varia da 0 a 255 Anisotropic filtering Filtro che previene la formazione di errori o artefatti nella visua­ lizzazione 3D di superfici textu­ rizzate e inclinate. A tal scopo le texture possono essere “allunga­ te” rispetto alla forma originale (tipicamente quadrata). Antialiasing Tecniche d'interpolazione per li­ mitare l'effetto scalettatura noto come Aliasing

Bézier, curva Curva parametrica, dotata di punti di controllo, molto usata nella grafica 2D vettoriale e nella modellazione 3D. Bilinear filtering Tecnica per limitare lo sgranarsi a “blocchetti” delle texture a bas­ sa risoluzione Bitmap (o raster) Immagine digitale rappresentata da una griglia di Pixel colorati. Blur Sfocatura di un'immagine digita­ le. Bump mapping (dot product 3) Tecnica per simulare la presenza di piccoli rilievi nelle superfici 3D piatte senza aumentarne il numero di vertici. Clipping Parte dello spazio 3D rappresen­ tato dal motore di rendering. So­ litamente si tratta di un cono avente vertice nel punto di os­ servazione, troncato sia in pros­

75


Evoluzione della Computer Grafica 3D

simità di quest'ultimo, sia a una distanza prestabilita. Tutto quello che si trova al di fuori non viene renderizzato. C.R.T. Tubo a raggi catodici, essenziale per la nascita della Computer Art. Depth of Field (Profondità di Campo) Effetto del motore di rendering 3D che si­ mula la messa a fuoco tipica delle foto/videocamere Diffuse Color Colore di una superficie e pro­ prietà elementare nella definizio­ ne di un materiale nella grafica 3D. Displacement (map) Letteralmente “spostamento” è una tecnica di modellazione 3D per Mesh ricche di vertici con un alto livello di tassellazione. In questa tecnica si ricorre a del­ le Displacement Map, o Height­ map, che sono immagini bitmap a scala di grigi.

76

Dithering Processo che sfrutta un limite della vista umana, mixando tra loro pixel di colore diverso al fine di simulare un terzo colore non presente nella palette originale. Tecnica ancora oggi utile nel rendering 3D tradizionale, specie nelle immagini true color con una qualche prevalenza cromati­ ca, come ad esempio la scala di grigi. Environmental mapping In grafica 3D è l'uso di una tex­ ture che simula la riflessione dell'ambiente circostante sulle superfici, evitando di eseguire i calcoli tipici del Ray­Tracing. Flat Shading Prima implementazione in grafi­ ca 3D dell'illuminazione diretta, con cui ogni poligono della su­ perficie viene riempito di un sin­ golo colore. Frame Fotogramma di una sequenza animata.


Appendice B ­ Glossario

Frame­buffer Memoria della scheda video dedi­ cata ai dati dell'immagine e/o fo­ togramma che il monitor visua­ lizza. Framerate (FPS) Il numero di fotogrammi al se­ condo di una qualsiasi successio­ ne d'immagini. Più alto è il valo­ re, più “fluida” e gradevole appare l'animazione. Frattale Oggetto geometrico dotato di al­ cune importanti peculiarità come auto­similarità e l'irregolarità. I frattali vengono impiegati negli algoritmi di molti software 3D allo scopo di simulare forma e comportamento di alcuni elemen­ ti esistenti in natura. Global Illumination Motore di rendering 3D foto­rea­ listico che considera l'illumina­ zione diretta più quella indiretta determinata dai rimbalzi (boun­ ces) dei raggi luminosi.

Gouraud Shading Tecnica poco onerosa in termini di potenza computazionale per ombreggiare le superfici 3D, am­ morbidendo (smoothing) gli spi­ goli del modello. GPU (Graphics Processing Unit) Evoluzione finale dei chip grafici che oggi gestiscono autonoma­ mente l'intero processo di tra­ sformazione e illuminazione nel­ la grafica 3D real time. Le GPU sono molto utili anche a tutti quei software che riescono ad avvantaggiarsi della loro po­ tente architettura parallela. Grafica Vettoriale Importante ambito della grafica 2D che non utilizza immagini bitmap, ma delle primitive geo­ metriche come le curve di Bézier. GUI (Graphics User Interface) L'interfaccia grafica di un soft­ ware. Jpeg Formato per la compressione (con perdita) delle immagini digitali.

77


Evoluzione della Computer Grafica 3D

Key frame Fotogramma chiave di un'anima­ zione 2D/3D. Solitamente il pas­ saggio tra due fotogrammi chiave prevede l'interpolazione dei para­ metri numerici fissati nei due key frame. L.O.D. (Level Of Detail) Tecnica per ridurre il dettaglio poligonale di una mesh in funzio­ ne della sua distanza dall'osser­ vatore. Low Poly Modello 3D costituto da poche decine o qualche centinaio di po­ ligoni. Indispensabile per chi svi­ luppa giochi per sistemi poco prestanti. Luce Ambientale Nei motori di rendering 3D è la luce che non proviene da fonti lu­ minose, ma da un background più o meno complesso. Luce Diretta Emissione puntiforme, superfi­ ciale o volumetrica di luce.

78

Luce Indiretta Propagazione di luce diffusa ri­ flessa o trasmessa tramite rim­ balzi (bounces) dei raggi. Mandelbrot, Insieme di Il primo e il più celebre esempio di frattale che porta il nome del suo scopritore. Material In grafica 3D il material è l'in­ sieme delle proprietà di una su­ perficie, come ad esempio la ti­ pologia degli shader e le eventuali texture. Mesh (Maglia poligonale) Modelli 3D composti da vertici e facce (o poligoni) elementari tipi­ camente triangolari o quadrate. Mip Mapping Processo che riduce la dimensio­ ne delle texture in funzione della distanza dall'osservatore. Evita la formazione di alcuni ar­ tefatti, al prezzo di un maggior consumo di memoria video.


Appendice B ­ Glossario

Modellazione L'insieme delle tecniche con cui vengono creati i modelli (o mesh) 3D. Solitamente si parte da alcune primitive elementari per arrivare a ottenere topologie complesse formate da un numero alto a pia­ cere di facce elementari. Motion Blur Tecnica per sfocare il rendering di un oggetto 3D in funzione della sua velocità (relativa) su scher­ mo. Rende più realistica e fluida la dinamica dei movimenti generati dai corpi in moto rispetto a un punto di vist e viceversa. Normal Mapping Evoluzione del Bump Mapping che impiega immagini bitmap per variare, pixel per pixel, le norma­ li (vettori) lungo superficie. Normale Vettore ortogonale a ogni poligo­ no elementare di una mesh.

Nurbs (Non uniform rational B­Splines) Curve parametriche dalla com­ plessa definizione matematica, ma di semplice utilizzo nei soft­ ware grafici 2D/3D. OpenGL Note librerie grafiche presenti in qualsiasi sistema operativo, con cui produrre grafica 2D e 3D. Esse forniscono le specifiche per delle funzioni eseguibili dall'hardware dedicato all'acce­ lerazione grafica. Palette L'insieme di colori messi a dispo­ sizione dal chip grafico e indivi­ duabili in uno spazio colore soli­ tamente definito da tre coordinate, come quelle RGB. Phong Shading Evoluzione del Gourad Shading che permette un'ombreggiatura più accurata (per pixel). Pixel (Picture ­ element) Componente elementare delle immagine bitmap/raster.

79


Evoluzione della Computer Grafica 3D

PNG (portable network graphics) Importante formato di file per memorizzare con o senza perdita un'immagine raster. Memorizza il canale alfa per gli effetti di tra­ sparenza. Poligono Elemento base di un modello 3D, triangolare o quadrilatero. Primitiva Grafica Nei software grafici 2D e 3D sono le forme geometriche elementari con cui iniziare a lavorare. Prospettiva Tecnica per l'esatta rappresenta­ zione di uno spazio 3D su una superficie 2D come ad esempio il monitor di un computer. Radiosity Celebre algoritmo del rendering 3D per l'implementazione dell'il­ luminazione globale. Ray Casting Algoritmo che insieme a un mo­ dello di illuminazione determina la rasterizzazione delle scene 3D.

80

Ray Tracing Evoluzione del Ray Casting per il calcolo di ombre, riflessioni e ri­ frazioni. Rendering Processo di creazione di un'im­ magine raster da quello che po­ trebbe essere un progetto di gra­ fica 2D vettoriale o una scena 3D. L'insieme di algoritmi impiegati in questo processo è chiamato motore di rendering. RGB Modello colore suddiviso nei tre canali Rosso Verde e Blu come avviene nella fisiologia dell'oc­ chio umano. E' anche il modo in cui l'hard­ ware grafico gestisce nativamen­ te le immagini digitali. Shading Processo di ombreggiatura di una superficie 3D esposta a un fonte luminosa. (Shader = Ombreggia­ tore)


Appendice B ­ Glossario

Sistema Particellare Nella grafica 3D real time e nel rendering tradizionale, i sistemi particellari servono a ricreare la dinamica fisica di molte particel­ le tra loro identiche o molto simi­ li. Tesselation Suddivide le superfici 3D in un alto numero di facce elementari. Ciò può avvenire anche dinami­ camente e in funzione della posi­ zione della superficie rispetto al punto di osservazione. Texel (Texture Element) L'equivalente del pixel per le tra­ sformazioni che applicano le tex­ ture ai poligoni. Il motore grafico considererà le texture formate da Texel, in modo similare a come la texture stessa è costituita da pi­ xel. Textures Indispensabili per la grafica 3D si suddividono in texture proce­ durali e bitmap. Le prime hanno un dettaglio virtualmente infini­ to e non comportano la memoriz­

zazione di file, spesso enormi, come nel caso delle texture Bit­ map. Texture Mapping Il processo grazie al quale le tex­ ture bitmap o procedurali vengo­ no mappate sulle superfici dei modelli 3D, secondo diversi tipi di coordinate o metodi di proie­ zione. Triple Buffering Tecnica del rendering 3D Real Time con cui vengono memoriz­ zati tre fotogrammi: quello vi­ sualizzato su schermo, il foto­ gramma successivo già renderizzato e pronto per la vi­ sualizzazione (double buffering) più un terzo fotogramma in via di composizione. Voxel (Volumetric Pixel) Pixel 3D di un volume discretiz­ zato in una matrice tridimensio­ nale. I voxel sono tipicamente impie­ gati nei processi di rendering e simulazioni fisiche volumetriche (fluidi e gas).

81


Evoluzione della Computer Grafica 3D

Vram Memoria video delle schede gra­ fiche. Wire Frame Rappresentazione grafica dei modelli 3D che fa uso di sole li­ nee; tecnica a volte supportata da un algoritmo per determinare e nascondere le linee nascoste.

82


Fin dagli albori della civiltà, l'arte grafica ha avuto la funzione di ritrarre in modo più o meno realistico il mondo che ci circonda, ma solo in epoca moderna e con l'avvento del computer si è riusciti a realizza­ re lo strumento definitivo capace di assolvere in pieno a quell'originario scopo. La computer grafica 3D grazie ai suoi molteplici livelli di precisione ri­ sulta utile in diversi ambiti, incluso il vero fotorea­ lismo con l'esatta replica di qualsiasi elemento di realtà. Questo saggio analizza le principali tappe di un percorso evolutivo che si snoda lungo intere de­ cadi d'incredibile progresso tecnologico.

librologica

Evoluzione della Computer Grafica 3D  

Fin dagli albori della civiltà, l'arte grafica ha avuto la funzione di ritrarre in modo più o meno realistico il mondo che circonda, ma solo...

Evoluzione della Computer Grafica 3D  

Fin dagli albori della civiltà, l'arte grafica ha avuto la funzione di ritrarre in modo più o meno realistico il mondo che circonda, ma solo...

Advertisement