Introduzione alla Computer Graphics

Reviews
Introduzione alla Computer Graphics Informatica Grafica CdLS a ciclo unico in Ingegneria Edile-Architettura a.a. 2008/09 Computer Graphics e Image Processing Image processing – Insieme di teorie ed algoritmi per la elaborazione di immagini (raster) Modifiche di contrasto, luminosita’ Individuazione di contorni di oggetti o regioni Correzione di colore … Computer Graphics – Insieme di teorie ed algoritmi per la visualizzazione (rendering) di solidi su uno schermo bidimensionale Trasformazioni geometriche di figure piane o di solidi Calcolo dell’illuminazione e delle ombre Simulazione delle caratteristiche ottiche delle superfici (riflessione, rifrazione, trasparenza, opacita’) … 2 Applicazioni della CG Ambito ludico – Videogiochi, giochi per computer Un numero consistente di film, pubblicita’, video, etc. adotta tecniche di CG Cinema ed intrattenimento – CAD Visualizzazione scientifica Medical Imaging Simulazione e realta’ virtuale Geographical Information Systems 3 Esempio 1 (computer art) 4 Esempio 2 (Medical imaging, GIS) 5 Esempio 3 (computer games) 6 Il fattore tempo nella CG Non Real Time – Non ha importanza quanto tempo e’ richiesto per il rendering di un’immagine (e.g., CAD, computer art) algoritmi arbitrariamente complessi Non c’e’ necessita’ di hardware specializzato Real Time – il rendering di un’immagine deve avvenire entro un tempo predefinito (e.g., giochi, applicazioni interattive), anche a costo di perdere in qualita’ algoritmi semplici Hardware specializzato (GPU) 7 Rendering Modellazione di oggetti tridimensionali Trasformazioni geometriche Illuminazione e shading Texture mapping Rasterizzazione 8 Modellazione di solidi - geometria Geometria – “Triangle mesh”: superfici di solidi rappresentate come insieme di triangoli con vertici a comune 9 Modellazione di solidi – geometria (2) Come rappresentare la triangle mesh Mesh = (V , T ) V = {vi | vi = ( xi , yi , zi )} , ( xi , yi , zi ) ∈ 3 T = {t j | t j = ( vl , vm , vn )} , vm ∈ V 10 Descrizione di un solido - aspetto Texture Mapping – – Adattamento di un’immagine raster su una triangle mesh Conferisce realismo all’oggetto rappresentato 11 Trasformazioni geometriche In coordinate omogenee – – Dai singoli oggetti ad un unico spazio 3d (world space) Proiezione del world space sul piano di vista Rimozione delle superfici nascoste Clipping dei poligoni 12 Coordinate omogenee Vettori n+1 dimensionali (3 dim. per R2, 4 per R3) Trasformazioni affini, lineari e proiettive come moltiplicazioni di matrici – Es: traslazione in R2 GPU ottimizzate per eseguire moltiplicazioni matriciali (~milioni di vertici/s) 13 Esempio Rappresentazione Vertice C. Cartesiane (2D) ⎡x ⎤ V =⎢ V⎥ ⎣ yV ⎦ ⎡ cos θ =⎢ ⎣ sin θ − sin θ ⎤ cos θ ⎥ ⎦ C. Omogenee ⎡ xV ⎤ V = ⎢ yV ⎥ ⎢ ⎥ ⎢1 ⎥ ⎣ ⎦ ⎡ cos θ M R = ⎢ sin θ ⎢ ⎢ 0 ⎣ ⎡1 M Δ = ⎢0 ⎢ ⎢0 ⎣ ⎡ sx MS = ⎢0 ⎢ ⎢0 ⎣ − sin θ cos θ 0 0⎤ 0⎥ ⎥ 1⎥ ⎦ 1. rotazione di angolo θ MR 2. traslazione di Δ x , Δ y ⎡Δ x ⎤ Δ=⎢ ⎥ ⎣Δ y ⎦ ⎡ sx MS = ⎢ ⎣0 3. scalatura di s x , s y trasformazione finale 0⎤ sy ⎥ ⎦ V ' = M S ⋅ (M R ⋅V + Δ ) V ' = (M S ⋅ M Δ ⋅ M R ) ⋅V = M ⋅V 14 Δx ⎤ 1 Δy⎥ ⎥ 0 1 ⎥ ⎦ 0 0⎤ sy 0⎥ ⎥ 0 1⎥ ⎦ 0 Rimozione delle superfici nascoste Calcolo del p. scalare tra la normale alla superficie (piana) e l’angolo di visuale – se positivo, superficie non visibile Ordinamento su z tra superfici visibili – Algoritmi complessi 15 Clipping dei poligoni La rimozione di superfici, l’ordinamento in profondita’ ed i contorni dell’aera di visualizzazione creano nuovi vertici (nuovi triangoli) 16 Sottosistema raster Calcolo del colore dei punti – Modelli di illuminazione Applicazione delle texture sulle superfici visibili Formazione del raster nel frame buffer della memoria video 17 Equazione della luce Equazione di illuminazione Ω w' dw' w n θ x 18 Bidirectional Reflectance Distribution Function BRDF, f r x, w ', w Misura la quanita’ di luce riflessa in una data direzione – ( ) – Funzione della direzione del raggio incidente e della direzione di vista Si misura con gonioreflettometri 19 Fenomeni ottici rilevanti per il calcolo dell’illuminazione Riflessione – – – Materiali opachi Diffusiva (sup. “scabra”) Speculare (sup. “liscia”) Rifrazione – Materiali trasparenti 20 Riflessione speculare e angolo di visuale n Lλ Rλ α V θ θ ks I r = I λ ⋅ k s ⋅ V ⋅ Rλ ( ) α α: esponente >1 ks: coefficiente di riflessione speculare (caratteristiche del materiale) 1.2 1 0.8 alpha=1 alpha=2 alpha=10 alpha=100 0.6 0.4 0.2 0 0 -0.2 0.5 1 1.5 2 21 Riflessione diffusiva Legge di Lambert – La luce riflessa e’ identica in ogni direzione Dipende dall’angolo di incidenza n Lλ Rλ θ θ V – Non dipende dall’angolo di visuale I r = I λ ⋅ kd ⋅ Lλ ⋅ n ( ) 22 Modelli di illuminazione Globale (CG Non Real Time) – Tengono conto di (alcune tra) Riflessioni (di ogni ordine) Ombre portate Rifrazione Trasparenza – Ray Tracing, Photon Mapping, Radiosity Locale (CG Real Time) – – Il calcolo viene semplificato in modo tale che possa essere compiuto in tempi sufficientemente brevi Modello di Phong 23 Modello (locale) di Phong Luci puntiformi, e nessuna riflessione 2o ordine Riflessione speculare e diffusiva (no rifrazione) Nessuna ombra portata n Lλ Rλ θ θ V I = I tot ⋅ ka + ∑ I λ ⋅ ⎡ kd ⋅ Lλ ⋅ n + k s ⋅ V ⋅ Rλ ⎢ ⎣ λ∈lights ( ) ( ) α ⎤ ⎥ ⎦ 24 Dove calcolare l’equazione di illuminazione Trade-off tra costo e resa – – – Una volta per superficie (flat shading) In alcuni punti (e.g., nei vertici) in modo esatto e negli altri in maniera interpolata (Gouraud shading) In tutti i punti (Phong shading), piu’ adatto per superfici con riflessione localizzata 25 Gouraud Shading Triangolo -> superficie piana 1 sola normale Vertici condivisi tra triangoli nAB nA nB V1 nB nA TB TA V2 V3 Calcolo il colore nei vertici Interpolo il colore nei punti interni Pseudo-normale sul vertice calcolata interpolando le normali a tutti i triangoli che contengono il vertice 26 Gouraud Shading (2) Calcolo esatto del colore sui vertici (applicando un modello di illuminazione), basandosi sulle pseudonormali calcolate colore nei punti interni ottenuto interpolando i colori calcolati nei vertici Problema: la riflessione speculare concentrata vicino ad un vertice viene “stirata” lungo il triangolo V1 TB TA V2 V3 27 Phong Shading Ho le pseudo-normali nei vertici (calcolate come visto prima) Interpolo le pseudo-normali nei punti interni al triangolo (tutti, o alcuni) Calcolo il colore (applicando l’equazione di Phong) per i punti dove ho una pseudo-normale (Eventualmente) interpolo il colore dove non ho pseudonormali Piu’ conti, miglior resa grafica V1 TA V2 V3 28 Applicazione di texture Se il texture non assorbe interamente la luce, il colore calcolato tramite il modello di illuminazione e l’algoritmo di shading si puo’ comporre con il colore del texture I ' = (1 − γ ) ⋅ I t + γ ⋅ I 0 ≤ γ ≤1 29 Bump mapping Alterazione delle normali alla superficie – – Modifica la maniera in cui la luce viene riflessa Simula “rugosita’” del materiale geometry + Bump map Modifica le normali = Bump mapped geometry 30 Rasterizzazione di poligoni Algoritmo di Bresenham Annerire un solo pixel – – Per ascissa (se la pendenza e’ < 45°) Per ordinata (se la pendenza e’ > 45°) Quello dove si concentra la maggior parte della linea 31 Rasterizzazione di circonferenze Si divide la circonferenza in ottanti, e si fa il conto esatto per un solo ottante, replicando il resto per simmetria 32 Aliasing Effetto di scalettatura dovuto al contrasto bianco/nero di pixel adiacenti 33 Verso il rendering fotorealistico Modelli di illuminazione globale – – – Ray tracing Photon mapping Radiosity 34 Ray Tracing Tiene conto di – – – Riflessione speculare e (in qualche modo) diffusiva Rifrazione (trasparenza) Ombre portate 35 Ray Tracing (2) Tracciare i singoli raggi luminosi – – Dall’occhio alla sorgente luminosa (e non viceversa) Infatti, molti raggi emessi dalla sorgente non colpiscono l’occhio (si sprecherebbe tempo) 36 Ray tracing (3) raggio primario: dall’occhio al primo oggetto – – – Se la superficie ha riflessione diffusiva: tanti raggi ombra quante sono le luci Si calcola l’illuminazione del punto come somma dei contributi di ogni luce Si trovano le ombre portate 37 Ray tracing (4) Se la superficie ha riflessione speculare - rifrazione – – Si calcolano anche i raggi speculari / trasparenza secondo le leggi dell’ottica Per ciascuno di questi si calcolano i raggi ombra, e cosi’ via 38 Alcuni esempi Internet Ray Tracing Competition, www.irtc.org 39 Alcuni esempi (2) http://www.q4rt.de/ 40 Limiti del ray tracing Resa non corretta della riflessione diffusiva In teoria, per calcolare il colore in A dovrei considerare anche il raggio 2-C-A Da A, invece che 2 raggi ombra, dovrei tirare “infiniti” raggi ombra C 41 Photon Mapping “sparare” fotoni nella scena, e calcolare come si distribuiscono dopo un certo numero di riflessioni/rifrazioni etc. Mappa di fotoni come contributo aggiuntivo, ad esempio, al ray tracing – – Riflessione diffusiva Caustiche 42 Photon Mapping (2) Esempio di formazione di caustica con photon mapping + ray-tracing 0 1000 fotoni 2000 6000 43 Rendering non fotorealistico Applicazioni: – – – Disegno tecnico Entertainment (cartoni animati) Tecniche artistiche varie 44 Chi fa cosa nel rendering Real Time Applicazione (e.g., gioco interattivo) – – Stabilisce quali solidi debbano essere visualizzati Ne mette in memoria una descrizione (geometria e texture) Scheda video (con acceleratore 3d) – – – – – – Costruisce la scena 3d inserendo tutti i solidi in un sistema di coordinate comune Crea la vista 2d proiettando la scena sul piano dello schermo Stabilisce quali facce dei solidi sono visibili e quali non lo sono Applica texture e bump map su ciascuna superficie Calcola il colore (lighting) di ogni punto delle facce visibili modelli di illuminazione locali Crea il raster (…in un 15mo di secondo o meno) 45 Da Doom a AutoCAD Fino agli anni ’90 – – Scheda video: ~ frame buffer + adattatore grafico Software grafico: macchine specializzate (Silicon Graphics), dal costo molto elevato Giochi che richiedono abilita’ di rendering cominciano ad avere grande diffusione Si apre un largo mercato per l’hardware grafico I costi si abbattono Schede video: ~ frame buffer + adattatore grafico + 3d acceleration GPU Le applicazioni grafiche diventano possibili su home PC 1993: Doom (~15M copie) – – 46

Related docs
Introduzione
Views: 3  |  Downloads: 0
INTRODUZIONE MENU PROGRAMMA
Views: 4  |  Downloads: 0
Introduzione all'uso di APPLET- JAVA
Views: 0  |  Downloads: 0
Guida Introduzione Prodotto
Views: 7  |  Downloads: 0
Computer Graphics - Indice
Views: 0  |  Downloads: 0
Introduzione_ANSYS_1_
Views: 2  |  Downloads: 0
Introduzione Descrizione tabelle database
Views: 46  |  Downloads: 0
Other docs by dblock21
Users marcsigal Desktop term papers TermPap
Views: 219  |  Downloads: 0
CorpDocs-Audit Committee Charter
Views: 201  |  Downloads: 7
Break Through Nutrition Plan
Views: 1121  |  Downloads: 64
CELEBRITY HEADS
Views: 498  |  Downloads: 0
Employee reference release form
Views: 507  |  Downloads: 8
Duke Bio 25 Study Questions
Views: 864  |  Downloads: 15
Accenture Partnership Agreement
Views: 287  |  Downloads: 13
Equipment inventory list
Views: 788  |  Downloads: 24
Form T (Timber) (PDF) Forest Activities Schedule
Views: 256  |  Downloads: 1