Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Il sottosistema geometrico
La Pipeline di Rendering
La pipeline di rendering si suddivide in due parti
Sottosistema geometrico: porta la geometria del
modello nelle coordinate dello schermo
Sottosistema raster: accende i pixel dello schermo
del giusto colore in funzione della geometria,
dell'illuminazione e delle texture.
Nei sistemi programmabili queste due parti sono
affidate a due shader:
Vertex shader: fa i conti delle trasformate
geometriche per ogni vertice del modello
Pixel (Fragment) shader: calcola il colore per ogni
pixel.
Sottosistema geometrico
Sottosistema raster
Trasformazione di Traslazione
Trasformazione di scalatura
Trasformazione di rotazione
Le coordinate omogenee
Trasformazioni e coordinate
omogenee
Altre trasformazioni:riflessione
Deformazione (shear)
Composizione di Trasformazioni
Trasformazioni 3D
Traslazione 3D
Scalatura 3D
Rotazione 3D
Le proiezioni
Proiezioni Prospettiche
La proiezione di ogni insieme di linee parallele
non parallele al piano di proiezione converge
in un punto detto vanishing point (punto di
convergenza).
Il numero di questi punti infinito, come il
numero delle possibili direzioni di fasci di rette
parallele.
1 Punti di fuga
2 Punti di fuga
3 punti di fuga
Proiezioni Parallele
Si classificano in base alla relazione che c tra
la direzione di proiezione e la normale al piano
di proiezione.
Se la direzione di proiezione coincide con la
normale al piano di proiezione si parla di
proiezione ortografiche. Nel caso contrario si
parla di proiezione obliqua.
Proiezioni Ortografiche
Direzione di
proiezione
allineata ad un
asse principale
Vista prospettica
Vista dallalto
Vista frontale
Vista laterale
Proiezione Isometrica
Assonometria isometrica: la direzione di
proiezione identificata da una delle bisettrici
degli ottanti dello spazio cartesiano.
Proiezioni Oblique
Sono il tipo pi generale di proiezioni
parallele, caratterizzate dal fatto che i
proiettori possono formare un angolo
qualsiasi con il piano di proiezione.
Synthetic camera
(Macchina fotografica virtuale)
La metafora pi utilizzata per la descrizione delle
relazioni osservatore-scena quella della
synthetic camera.
Lapparecchio fotografico oggetto della metafora
molto semplice e costituito da un
parallelepipedo in cui la faccia anteriore presenta
un foro di diametro infinitesimo (pinhole camera)
e sulla faccia posteriore, coincidente con la
pellicola fotografica, si formano le immagini
x
,
z/d
yp
y
z/d
Modeling
Lutilizzo di trasformazioni di modeling la
maniera usuale per definire oggetti nella
scena in un sistema di coordinate conveniente
e poi trasformarli nel sistema di coordinate del
mondo.
Le altre tre trasformazioni sono legate al
punto di vista.
Trasformazioni di vista
Definire la trasformazione di vista vuol dire
definire il volume che contiene gli oggetti
visibili (volume di vista).
Il volume un poliedro che si pu definire
individuando un rettangolo che ne la sezione
e le quattro rette che passano attraverso i
vertici del rettangolo.
Lasse v definito per proiezione del view-up vector VUP sul piano di vista.
Lasse u, ortogonale agli altri due ed scelto in modo da formare un
sistema di coordinate right-handed.
Il contenuto della finestra sul Piano di vista, sar mappato sulla viewport e
qualunque parte del mondo 3D proiettata sul piano di vista, ma fuori dalla
finestra, non sar visualizzata.
Umin+[Umax-Umin]/2
Vmin+[Vmax-Vmin]/2
Proiezioni Parallele
Parallele:
la Direction of Projection
(DOP) la retta PRP-CW.
Ortografiche:
DOP // VPN.
Oblique:
DOP non // VPN.
Volume Di Vista
Il volume di vista limita quella porzione del
mondo che deve essere tagliata e proiettata
sul piano di vista.
Per le proiezioni prospettiche il volume una
piramide semi-infinita, con vertice nel PRP e
spigoli che passano attraverso I vertici della
finestra sul piano di vista.
Tasformazione di Viewport
Il contenuto del volume di vista deve essere
mappato sulla superficie del dispositivo di
output.
Il primo passo quello di trasformalo da
coordinate del mondo a coordinate
normalizzate di proiezione (Normalized
Projection Coordinates NPC), un sistema di
riferimento definito su un semicubo con
centro di una faccia nellorigine.
Normalizzazione
Il volume di vista viene trasformato in un
volume canonico in nuove coordinate: NPC
(Normalized Projection Coordinates). Il
risultato viene mappato nel 3D viewport, che
e contenuto nel cubo unitario (0 0 0 )
(1 1
1 ).
Disegnando le primitive ignorando la Z si
ottiene limmagine da mandare al display.
y:yp=z:d
y:yp=d+z:d
Mper=
Clipping
Fare il clipping in coordinate del mondo (WC)
molto dispendioso.
Soluzione: prima normalizzazione, poi clipping.
Normalizzazione: ridurre il volume di vista ad un
volume canonico.
Esistono due volumi canonici:
Implementazione
Dobbiamo moltiplicare per le matrici di
normalizzazione (Npar o Nper ), effettuare il clipping,
proiettare (usando le matrici viste in precedenza),
poi portare in coordinate di dispositivo.
Clipping
al Volume Canonico
Estensione degli algoritmi di
Cohen-Sutherland codici di 6 bits.
Sistemi di Coordinate
Abbiamo usato i seguenti sistemi di coordinate:
3D Modeling Coordinates
3D World Coordinates
3D VRC
3D NPC
2D Device Coordinates