La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione."— Transcript della presentazione:

1 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

2 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 2 0 0 4 / 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

3 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 2 0 0 4 / 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)

4 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 2 0 0 4 / 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

5 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 2 0 0 4 / 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

6 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 2 0 0 4 / 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

7 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 2 0 0 4 / 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"

8 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 2 0 0 4 / 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

9 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 2 0 0 4 / 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)

10 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 2 0 0 4 / 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)

11 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 2 0 0 4 / 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)

12 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 2 0 0 4 / 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)

13 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 2 0 0 4 / 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

14 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 2 0 0 4 / 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

15 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 2 0 0 4 / 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

16 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 2 0 0 4 / 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

17 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 2 0 0 4 / 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: ?

18 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 2 0 0 4 / 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)

19 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 2 0 0 4 / 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)

20 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 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 20/40 1 1 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

21 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 2 0 0 4 / 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

22 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 2 0 0 4 / 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

23 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 2 0 0 4 / 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

24 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 2 0 0 4 / 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

25 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 2 0 0 4 / 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

26 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 2 0 0 4 / 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...


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

Presentazioni simili


Annunci Google