Corso On- Line sulle Tecnologie di Rendering
a Cura di Arch. Stefano Giuliani
Prima
Seconda Terza
Quarta Quinta
Sesta Parte
Grafica Vettoriale, Bitmap e bit
Il rendering questa magia! E' proprio questo quello che avevo pensato
quando per la prima volta partecipai ad una dimostrazione di una scheda
grafica acceleratrice ( la famosa Targa ) basata su sistema Dos e processore
486 a 66 MHz con 16 megabyte di ram, il software era il neonato 3d studio
alla prima versione. La cosa più strana è che l'oggetto
dell'applicazione del rendering, nonostante l'entusiasmo del dimostratore,
fosse una semplice sfera. In fase dimostrativa ci fu fatto notare come
il risultato della luce applicata tramite uno spot ,generasse un ombra
con sfumatura graduale sulla superficie della sfera stessa, il tutto per
merito del nuovo sistema grafico a 24 bit della scheda Targa ( .tga),
nonché la velocità di elaborazione, che a quel tempo era
di 5 secondi per generare un rendering di una sfera con algoritmo di Phong,
fosse estremamente ridotta. Naturalmente per elaborare un modello architettonico
3d generato da Autocad si richiedeva un tempo maggiore, e cosi i tempi
di attesa per un rendering di buona qualità lievitavano a 4 ore
o anche intere giornate. Era il 1989 e l'elaborazione grafica entrava
nel mercato "User PC" cercando di rincorrere i risultati ottenuti
dalle workstation grafiche avanzate come Silicongraphic e Sun, vendute
a prezzi inaccessibili.
Il problema a quei tempi era come ottimizzare il peso del modello e della
relativa scena per ridurre drasticamente i tempi di elaborazione, facendo
presente che per ottenere un immagine di alta qualità bisognava
generare un file bitmap di almeno due milioni di Pixel.
La differenza da un immagine Bitmap tipica di 3dstudio e un disegno vettoriale
tipico di Autocad è nel sistema grafico utilizzato.
Il formato bitmap è generato da una matrice di punti ( mappa di
bit ), può essere paragonato al sistema di visualizzazione del
televisore o del monitor dove l'immagine è composta da una serie
di pixel ( fosfori ).Il sistema Pal è composto da una matrice 720
x 576 punti quindi da 414.720 pixel ma le risoluzione dell'immagine bitmap
possono essere di diversa forma e grandezza, la dimensione del file è
proporzionale al numero di pixel presenti. Ad ogni cella può essere
assegnato un colore differente scelto su una tavolozza colori del sistema
grafico. I vecchi sistemi grafici erano ad 8 bit, questo voleva dire che
la tavolozza non poteva contenere più di 256 colori, il bit è
la singola informazione digitale con cui il computer trasmette le informazioni
e può essere paragonato ad un interruttore acceso e spento ( 0
, 1 ). L'informazione contenuta è determinata dalle possibili combinazioni
di questi interruttori, nel caso di un bit potremmo avere solo due combinazioni(
acceso o spento), quindi 2 colori ( in genere Bianco o nero ), 8 bit generano
256 combinazioni, 16 bit ne generano 65.536 , e infine 24 bit danno 16,8
milioni di combinazioni e quindi altrettanti colori da poter utilizzare
nella nostra matrice, generando così una sfumatura omogenea del
campo cromatico, vi ricordate il rendering della sfera nella dimostrazione
del sistema grafico a 24 bit ?
Ma purtroppo il sistema bitmap rimane un formato molto pesante in quanto
per identificare un pixel è necessario un byte (combinazione di
bit) e per ottenere un immagine di buona qualità sono necessarie
matrici di almeno 1000 x 1000 pixel, generando file di grandezza uguale
a un milione di byte o meglio un Megabyte.
Un immagine di un megabyte in genere può essere stampata non oltre
il formato A4, in quanto un ingrandimento maggiore darebbe origine al
fenomeno di aliasing (scalettatura), rendendo i pixel visibili ad occhio
nudo. Questo effetto si genera quando le linee di rappresentazione non
sono ortogonali e ancor più quando l'angolo è minimo rispetto
all'ortogonalità generando la spezzettatura visiva della linea.
Per ridurre il suddetto fenomeno è stato introdotto un algoritmo
di correzzione chiamato antialiasing che permette di fondere le aree contrastate
al fine di ingannare l'occhio
Per ridurre la dimensione del file bitmap sono stati studiati formati
grafici di compressione come il "Tiff"e il "Jpg" o
"Jepg" dove la grandezza del file è inversamente proporzionale
alla perdita di qualità regolabile tramite parametri in fase di
salvataggio.
Il sistema vettoriale è invece una rappresentazione generata per
coordinate, quindi per rappresentare una linea sul monitor il computer
trasferisce le informazioni delle coordinate xyz relative al punto di
origine e di destinazione, alla scheda grafica, che a sua volta le converte
in segnali video per essere rappresentata dal monitor.
Il formato vettoriale ha come vantaggio la possibilità di rappresentare
diverse primitive grafiche senza aumentare di molto il peso del file,
infatti per una linea determinata nello spazio tridimensionale sono necessari
solo 6 numeri relativi alle suddette coordinate xyz di origine e destinazione.
In fase di stampa del formato vettoriale, il computer procederà
a trasmettere queste informazioni non più alla scheda grafica ma
bensì ad una periferica di stampa come un plotter.
La qualità della stampa finale è determinata dalla risoluzione
del plotter o stampante, espressa a sua volta in D.p.i. cioè punti
per pollice, cosi per una stampa a 300 Dpi saranno generati circa 300
punti di inchiostro su 2,5 cm di carta , quindi per stampare una linea
in vettoriale, senza scalettature, anche su grandi formati sono necessarie
solo 4 informazioni ( senza le 2 delle coordinate z destinate al 3D) e
quindi avremmo un file con dimensione di 4 Byte più tutte le informazioni
base necessarie al sistema.
Riassumendo, il formato bitmap è utilizzato per rappresentare immagini
fotografiche generate da programmi come Adobe Photoshop e 3D Studio(Rendering),
quello vettoriale invece per illustrazioni o modelli in 2d o 3d in wireframe
(fil di ferro) generati rispettivamente da programmi come Corel draw,
Adobe Illustrator e Autocad .
Il processo di rendering fonde queste due tecnologie applicando delle
mappe bitmap ai modelli vettoriali e calcolando tramite gli algoritmi,
la posizione, la prospettiva , l'illuminazione, le ombre e tutti i fattori
presenti nei disturbi naturali come la riflessione, la trasparenza, la
rifrazione etc.. generando in finale un immagine bitmap di qualità
fotorealistica.
Bisogna specificare che nella scena destinata al rendering finale, il
tempo di elaborazione dipende dai seguenti fattori :
1. Numero di poligoni e facce del modello 3D
2. Numero di Luci applicate Spot, Omni, Luce solare
3. Dimensione delle Mappe applicate
4. Tipo di algoritmo usato Flat, Phong, Raytrace, Radiosity,
5. Grandezza del file da generare in pixel
Oggi un buon computer di fascia media è basato su sistema Windows
2000 con processore Pentium III o AMD rispettivamente con velocità
di clock di 1000 MHz ovvero un Gigahz, 256 Megabyte di ram e scheda grafica
3d a 64 bit, permettendo di sviluppare dei modelli architettonici digitali
costituiti da una varietà di particolari, oltre il limite di percettibilità
dell'occhio umano.
I tempi per elaborare un rendering si sono ridotti e in alcuni casi il
processo avviene in tempo reale.
È possibile generare delle animazioni complesse in poche ore e
navigare interattivamente su una base ottimizzata della nostra scena.
Qualsiasi modello 3d può essere elaborato digitalmente, e le fasi
si suddividono in :
1. Creazione del modello 3d
2. Mappatura preliminare
3. Applicazione texture
4. Posizionamento fonti luminose
5. Scelta della vista
6. Rendering
7. Animazione
Nel prossimo articolo illustreremo come eseguire una mappatura preliminare,
prendendo come riferimento il programma Autocad 2000 della Autodesk .
La fase di creazione del modello 3d viene tralasciata per la varietà
degli obiettivi e la grande quantità dei contenuti, pertanto si
consiglia una consultazione di un manuale per l'utilizzo del Cad professionale.