Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoGioachino Grandi Modificato 10 anni fa
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...
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.