Computer Graphics
Marco Tarini
Università dell’Insubria
Facoltà di Scienze MFN di Varese
Corso di Laurea in Informatica
Anno Accademico 2005/06
prove generali di compito
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 2/40
Esercizio Rasterizzazione
• Dati gli attributi definiti nei vertici (blu)quanto varra' l'attributo definito per frammento rosso ?
0.5
1
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 3/40
Esercizio Rasterizzazione 2:correzione prospettica
• Dati gli attributi definiti nei vertici (blu)e le coordinate affini dei vertici (verdi)quanto varra' l'attributo definito per frammento rosso ?
0.5
1
32
1
1
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 4/40
Geometria proiettiva
• Nella rappresentazione a coordinate omogenee, cosa distingue un punto da un vettore?
la quarta coordinata! Nei vettori vale 0 nei punti 1
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 5/40
Transform
• Una traslazione è definita da un vettoredi traslazione (tx,ty,tz)
• Come si scrive una matrice di traslazione?
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 6/40
Transform
• Da cosa e' definita una rotazione generica?
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 7/40
Shading
• In modalità flat shading,di quante normali abbiamo bisogno per ogni poligono?
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 8/40
Shading
• Che differenza c'e' fra shading Gouraud e shading Phong?– quale è più caro computazionalmente?– quale dà risultati migliori?– quale è implementato in openGL?
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 9/40
OpenGL
• In openGL, cosa si ottinene abilitandoGL_NORMALIZE?
• citare un caso in cui serve farlo
• citarne un altro!
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 10/40
Trasformazione
• quali trasformazioni ti vengono in menteche preservano gli angoli?
• e che NON li preservano?
• cita un motivo del perchè è imporatante
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 11/40
Trasformazione
• Cose succede se moltiplico un vettore per una matrice di traslazione?
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 12/40
Texture Mapping
• Quanti accessi alla tessitura vengono interpolati per frammento, se uso il filtro LINEAR ?
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 13/40
Depth Test
• Cosa serve l'algoritmo di depth-test?
• Cosa devo interpolare per utilizzarlo?
• Che strutture mi servono?
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 14/40
Struttura Hardware
• Quanti tipi di memoria a bordo delle scheda grafica conosci?
• Per ogni tipo, dire se durante il rendering– vengono letti– vengono scritti– vongono sia letti che scritti– e, in quale fase del pipeline
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 15/40
Texture Mapping
• Data questa tessitura ad un canale, quanti livelli di mipmapping saranno necessari?
• Calcolarli1 20 2020
4 23 20200 20 7 20
0 0 1217
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 16/40
Trasformazione
• Cosa succede dopo la seguente catena di comandi OpenGL– glTranslatef(1,1,1);– glRotatef(30,0,1,0);– glTranslatef(-1,-1,-1);
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 17/40
Sistemi di coordinate
• La matrice di MODEL:– da che sistema di coordinate parte– a che sitema di coordinate arriva– quale e' il suo scopo
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 18/40
OpenGL
• Quali matrici di trasformazione vengono tenute nello stato di OpenGL?
– perchè si tengono distinte?
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 19/40
Lighting
• Quale sara' la componente diffuse nel seguente caso:– normale (non normalizzata): ( 1, 1, 0) – posizione luce: (10,20,13)– posizione punto da illuminare: (-22,20,13)– componente ambient del materiale:
(0.5,0.5,0.5)– luce perfettamente bianca
(componente diffuse della luce: ?)
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 20/40
Lighting
• Cosa è e a cosa serve il fattore di attenuazione della luce?
• Come si calcola?
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 21/40
Lighting
• Elencare alcuni effetti di illuminazione globale
• Elencare alcuni effetti di illuminazione locale
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 22/40
Geometrica pura
• Quanto e' il coseno dell'angolo incluso fra questi due vettori?
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 23/40
Hardware
• Quanti fonti di parallelismo conosciche vengono sfruttati dall'HWper fare rendering?
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 24/40
Schermo
• Se la mia applicazione riempe uno screen-buffer a risoluzione 640x480, a 50 FpS,quale e' il suo fill-rate ?
• Cosa cambia se aggiungo che la depth complexity è 2.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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 25/40
Normali e Aree
• Ho un triangolo definito dai seguenti punti(+1,+1,0)(0,+1,+1)(+2,0,+2)
• Quale e' la sua normale?• Quale e' la sua area?
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 26/40
Colli di bottiglia
• Quali sono i colli di bottiglia di una applicazioneche faccia uso di rendering interattivo?
• Ti ricordi con che termine si identifica una applicazione che ha tali colli 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 ‧ 2 0 0 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 27/40
Algoritmo del pittore
• Descrivere cosa fa• Dire che svantaggi comporta
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 28/40
Culling
• Quanti tipi di culling conosci?
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 29/40
Back face culling
• Una volta proiettati, due triangoli assumono queste forme:
• ad occhio:– Hanno lo stesso facing (entrabi back-facing o front-
facing)?
• Come si fa a calcolarlo matematicamente?
V0
V1
V2
V1
V2
V0
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 5 / 0 6 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a - 30/40
Mesh
• Cosa vuol dire che una mesh e' two-manifold?
• Cosa vuol dire che una mesh e' chiusa?
• Cosa vuol dire che una mesh e' orientabile?
Top Related