Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.

Slides:



Advertisements
Presentazioni simili
Sistema di riferimento sulla retta
Advertisements

Ombre e riflessioni in tempo reale
BUMP MAPPING dott.ing.jun Alex Zupan –
GESTIONE DELLA PRODUZIONE
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Lezione.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 prove.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Laboratorio di Linguaggi lezione IX Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 prove generali.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Matrici di Proiezione Prospettica
M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 6 U n i v e r s i t à d e l l I n s u b r i a - 1/40 Esercizio Rasterizzazione (risultato.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Lezione.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Computer Graphics Marco Tarini Lezione 7: rasterizzazione la fabbrica dei frammenti Università dellInsubria Facoltà di Scienze MFN - Varese Corso di Laurea.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Lezione.
Costruzione di interfacce Paolo Cignoni
Lezione 2: hardware ergo triangoli
Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in Informatica Anno Accademico 2007/08.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Riconoscimento automatico di oggetti in immagini digitali
Lavorare con le matrici in OGL
1 Modelli Globali Radiosity Daniele Marini. 2 Radiosity Bilancio radiativo in un ambiente chiuso (senza scambio di energia con lesterno) Indipendente.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Le proiezioni e la prospettiva
Image Based Rendering Daniele Marini.
Daniele Marini, Maurizio Rossi
Dal modello alla visualizzazione: Verso il foto realismo Daniele Marini.
Architettura di OGL e pipe-line Daniele Marini Corso Di Programmazione Grafica.
Ad opera di: Matteo Donatelli e Maurizio Di Paolo Presentazione su : Elettropneumatica 1.
Le proiezioni e la prospettiva
Le proiezioni e la prospettiva
Superfici nascoste Daniele Marini.
Pippo.
1 Ottimizzazione della scena: culling (decimazione) Daniele Marini.
Controllare le proiezioni
Corso di Programmazione Grafica e Laboratorio Daniele Marini
Architettura di OGL e pipe-line Daniele Marini Corso Di Programmazione Grafica.
Controllare la prospettiva
Controllare la prospettiva
Architettura di OGL e pipe-line Daniele Marini Davide Gadia Davide Selmo Corso Di Programmazione Grafica aa2005/2006.
Ottimizzazione della scena: culling (decimazione) Daniele Marini.
Ottimizzazione della scena: culling (decimazione) Daniele Marini Corso di Programmazione Grafica per il Tempo Reale.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Computer Graphics Marco Tarini Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Lezione.
Sistemi Multimediali II Marco Tarini Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Sistemi Multimediali II Marco Tarini Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Costruzione di interfacce Paolo Cignoni
Computer Graphics Marco Tarini Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Lezione.
Transcript della presentazione:

Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione 3: la T in T&L

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 2/40 Riassunto puntate precedenti 1/3 Computer Graphics ( CG )... in particolare: –hardware-supported real-time rendering detto anche "HW accelerated rendering" hardware dedicato al rendeing GPU – Graphic Processing unit vs CPU – Central Processing Unit

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 3/40 Raytracing Rasterization based Image based (per es. light filed) Radiosity Point-splatting... Riassunto puntate precedenti 2/3 RENDERING PARADIGM: (Triangle-) Rasterization Based detto anche: Transform and Lighting (T&L) I.Che si usino solo le seguenti primitive di rendering : triangoli, segmenti, punti (o al limite quads, con diagonal split)

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 4/40 Riassunto puntate precedenti 3/3 renderingrendering Triangoli Quads Campi d'altezza Forme geo. di base Superfici parametriche "al volo" n-agoni Dati Volumetrici Superfici implicite Nuvole di punti

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 5/40 screen buffer Punti 3D Transform & Lighting Segmenti 3D Triangoli 3D scheda grafica Transform & Lighting video

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 6/40 Transform & Lighting... Transform : –trasformazioni di sistemi di coordinate –scopo: portare la scena davanti all'obiettivo della nostra macchina fotografica (virtaule) –piazzare i triangoli visibili sullo schermo Lighting : –illuminazione (in senso generale) –scopo: calcolare il colore finale di ogni parte della scena risultante da –le sue caratteristiche ottiche –l'ambiente di illuminazione

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 7/40... Rasterization-Based Rendering più specificatamente... 3D vertices fragment process final pixels fragments transform xz v0v0 v1v1 v2v2 rasterizer y 2D screen triangle v0v0 v1v1 v2v2 il lighting invece avviene insieme alla fase "transform" e/o alla fase "fragment process"

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 8/40 frammenti (candidati pixels) Rasterization-Based HW-Supported Rendering: triangoli Vertici (punti in R 3 ) pixel finali (nello screen-buffer) Vertici proiettati (punti in R 2 ) Z computazioni per vertice rasterizer computazioni per frammento x y z v0v0 v1v1 v2v2 set- up v0v0 v1v1 v2v2

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 9/40 frammenti (candidati pixels) Rasterization-Based HW-Supported Rendering Vertici (punti in R 3 ) pixel finali (nello screen-buffer) Vertici proiettati (punti in R 2 ) Z computazioni per vertice rasterizer computazioni per frammento set- up componenti fisiche dell'HW! Pipeline Parallelismo Efficienza inoltre, molte componenti sono replicate (negli stages collo di bottiglia)

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 10/40 frammenti (candidati pixels) Cenni storici: nei PC... Vertici (punti in R 3 ) pixel finali (nello screen-buffer) Vertici proiettati (punti in R 2 ) Z computazioni per vertice rasterizer computazioni per frammento set- up 1996 general purpose HW (con CPU) dedicated HW (con GPU)

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 11/40 frammenti (candidati pixels) Cenni storici: nei PC... Vertici (punti in R 3 ) pixel finali (nello screen-buffer) Vertici proiettati (punti in R 2 ) Z computazioni per vertice rasterizer computazioni per frammento set- up 1997 general purpose HW (con CPU) dedicated HW (con GPU)

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 12/40 frammenti (candidati pixels) Cenni storici: nei PC... Vertici (punti in R 3 ) pixel finali (nello screen-buffer) Vertici proiettati (punti in R 2 ) Z computazioni per vertice rasterizer computazioni per frammento set- up 1999 general purpose HW (con CPU) dedicated HW (con GPU)

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 13/40 frammenti (candidati pixels) Rasterization-Based HW-Supported Rendering: triangoli 3 Vertici (punti in R 3 ) pixel finali (nello screen-buffer) 3 Vertici proiettati (punti in R 2 ) Z computazioni per vertice rasterizer triangoli computazioni per frammento x y z v0v0 v1v1 v2v2 set- up v0v0 v1v1 v2v2

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 14/40 frammenti (candidati pixels) Rasterization-Based HW-Supported Rendering: segmenti 2 Vertici (punti in R 3 ) pixel finali (nello screen-buffer) 2 Vertici proiettati (punti in R 2 ) Z computazioni per vertice rasterizer triangoli computazioni per frammento x y z v0v0 v1v1 set- up v0v0 v1v1 rasterizer segmenti set- up

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 15/40 frammenti (candidati pixels) Rasterization-Based HW-Supported Rendering: punti Vertice (punto in R 3 ) pixel finali (nello screen-buffer) Vertice proiettato (punto in R 2 ) Z computazioni per vertice rasterizer triangoli computazioni per frammento x y z v1v1 set- up v1v1 rasterizer segmenti set- up rasterizer punti set- up

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 16/40 frammenti (candidati pixels) Rasterization-Based HW-Supported Rendering: Vertici (punti in R 3 ) pixel finali (nello screen-buffer) Vertici proiettati (punti in R 2 ) Z rasterizer triangoli computazioni per frammento x y z v0v0 v1v1 v2v2 set- up v0v0 v1v1 v2v2 rasterizer segmenti set- up rasterizer punti set- up computazioni per vertice

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 17/40 Transform x y z v0v0 v1v1 v2v2 v0v0 v1v1 v2v2 world Coordinates screen Coordinates Per ogni vertice: ?

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 18/40 Transform (a) (b)(a)(b) Intanto, dipende dalla pos della camera (macchina fotografica) –detta anche: pos del viewer –o eye position –o POV (Point of View)

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 19/40 Transform x y z v0v0 v1v1 v2v2 world Coordinates Strategia: 1) "transformazione di vista": portare la scena davanti alla camera e non viceversa ;-) 1 y x -z v0v0 v1v1 v2v2 view Coordinates (a.k.a. eye Coordinates) Bene... ora la geometria e' espressa in un sistema di coordianate in cui: lo zero è il centro di proiezione (l'obiettivo della camera) la camera guarda verso -z y è verso l'alto, e x e verso destra (rispetto al fotografo)

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 20/ Transform x y z v0v0 v1v1 v2v2 world Coordinates 1 Strategia: 1) "transformazione di vista": portare la scena davanti alla camera 2) "transformazione di proiezione": proietta la geometria sul piano di proiezione 2 y -z v0v0 v1v1 v2v2 view Coordinates (a.k.a. eye Coordinates) y x -z v0v0 v1v1 v2v2 v0v0 v2v2 v1v1 normalized projected coordinates x - necessario sapere i parametri interni della "camera virtuale" - in particolare, la lunghezza focale - questo causa anche la distorsione prospettica

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 21/40 Transform x y z v0v0 v1v1 v2v2 world Coordinates 1 Strategia: 1) "transformazione di vista": portare la scena davanti alla camera 2) "transformazione di proiezione": proietta la geometria sul piano di proiezione 3) " transformazione viewport": da [-1,+1] 2 a [0..res x ]x[0..res y ] (pixels) 2 y -z v0v0 v1v1 v2v2 view Coordinates (a.k.a. eye Coordinates) y x -z v0v0 v1v1 v2v2 v0v0 v2v2 v1v1 v0v0 v1v1 v2v2 screen Space 3 normalized projected coordinates 1 1 x

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 22/40 x Object Coordinates Dare ad ogni oggetto il suo sistema di coordiante privato: il suo Object Coordinates; y y y y x x x x z z z z y z

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 23/40 Object Coordinates Dare ad ogni oggetto il suo sistema di coordiante privato: il suo Object Coordinates; Durante il transform, prima di tutto portare ogni oggetto nello sist di coordinate comuni: da Object Coordinates a World Coordiantes

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 24/40 Transform x y z v0v0 v1v1 v2v2 world Coordinates 1 1) transformazione di vista 2) transformazione di proiezione 3) transformazione di viewport 2 y -z v0v0 v1v1 v2v2 view Coordinates (a.k.a. eye Coordinates) y x -z v0v0 v1v1 v2v2 v0v0 v2v2 v1v1 v0v0 v1v1 v2v2 screen Space 3 normalized projected coordinates 1 1 x x y z v0v0 v1v1 v2v2 object Coordinates 0 0) transformazione di modellazione

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 25/40 :"transformazione di vista": portare la scena davanti alla camera 1) Transformazione di vista sistema di riferimento della camera (eye coords) yeye xexe -z e OeOe y x z 0 sistema di riferimento del mondo (world coords) è un cambio di sistema di riferimento

M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 26/40 1) Transformazione di vista La posso fare con una serie di –traslazioni –rotazioni ripassino di geometria...