Sistemi Multimediali II prove generali di compitino Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Marco Tarini Esercizio Rasterizzazione • Dati gli attributi definiti nei vertici (blu) quanto varra' l'attributo definito per frammento rosso ? 3 0.5 1 M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 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 ? 2 3 1 0.5 1 1 M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 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 ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 Transform • Una traslazione è definita da un vettore di traslazione (tx,ty,tz) • Come si scrive una matrice di traslazione? M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 Transform • Da cosa e' definita una rotazione generica? M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 Shading • In modalità flat shading, di quante normali abbiamo bisogno per ogni poligono? M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 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 ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 OpenGL • In openGL, cosa si ottinene abilitando GL_NORMALIZE? • citare un caso in cui serve farlo • citarne un altro! M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 Trasformazione • quali trasformazioni ti vengono in mente che 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 ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 Trasformazione • Cose succede se moltiplico un vettore per una matrice di traslazione? M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 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 ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 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 ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 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 ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 Texture Mapping • Data questa tessitura ad un canale, quanti livelli di mipmapping saranno necessari? • Calcolarli 1 20 20 20 4 23 20 20 0 20 7 20 0 0 12 17 M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 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 ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 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 ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 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 ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 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 ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 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 ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 Lighting • Elencare alcuni effetti di illuminazione globale • Elencare alcuni effetti di illuminazione locale M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 Geometrica pura • Quanto e' il coseno dell'angolo incluso fra questi due vettori? M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 Hardware • Quanti fonti di parallelismo conosci che vengono sfruttati dall'HW per fare rendering? M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 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 ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 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 ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 Colli di bottiglia • Quali sono i colli di bottiglia di una applicazione che 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 ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 Algoritmo del pittore • Descrivere cosa fa • Dire che svantaggi comporta M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 - 27/40 Culling • Quanti tipi di culling conosci? M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 - 28/40 Back face culling • Una volta proiettati, due triangoli assumono queste forme: V1 V2 V2 V0 V0 V1 • ad occhio: – Hanno lo stesso facing (entrabi back-facing o front-facing)? • Come si fa a calcolarlo matematicamente? M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 - 29/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? M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 - 30/40 M a r c o T a r i n i ‧ S i s t e m i M u l t i m e d i a l i I I ‧ 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 - 31/40