Introduzione alla Computer Graphics



Documenti analoghi
Interazione luce - materia

Luci/Ombre. YAFARAY motore di rendering Open Source. Federico Frittelli aka fredfrittella. SUTURA-studio di progettazione.

Modelli per i materiali

Lezione1. Cos è la computer grafica. Lezione del 10 Marzo Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano

IR(3): Illuminazione Globale

Il rendering fotorealistico. Conferimento ad oggetti 3D di un aspetto particolarmente fotorealistico

Le ombre in OpenGl. Daniele Varin LS Ing. Informatica Corso di Elementi di Grafica Digitale

ScuolaSI computer grafica 3d

Applicazioni 3D avanzate

Computer Graphics. La disciplina fornisce metodi per creare elaborare memorizzare visualizzare. immagini di oggetti o scene mediante un computer

La Pipeline Grafica. Vediamo come avviene il rendering, ovvero la visualizzazione di oggetti. Introduzione. La Pipeline Grafica.

Fondamenti di Grafica Tridimensionale

Rendering & ray tracing. Implementazione e applicazione pratica

Capitolo 6 Interazione luce-materia

LA SIMULAZIONE E LA COMUNICAZIONE DEL PROGETTO ILLUMINOTECNICO: IL CASO DI PALAZZO MADAMA IN TORINO

3D e Realtà Virtuale

Processo di rendering

Dalla Sfera a Luigi del film Cars L Algoritmo di Ray Tracing

Informatica Grafica. Prof. Massimiliano Dellisanti Fabiano Vilardi. (2a parte) a.a. 2011/2012

Corso di Grafica Computazionale

Processo di rendering

Capitolo V : Il colore nelle immagini digitali

Trasformazioni 2D. Grande differenza rispetto alla grafica raster!

Rendering ed illuminazione

Ottica fisiologica (2): sistemi ottici

RILIEVO TRIDIMENSIONALE DEL «CONVENTO ROSSO», SOHAG (EGITTO)

Livello di approfondimento della lezione. Texture mapping di solito spiegato in corsi di CG di base

Fisica II - CdL Chimica. Formazione immagini Superfici rifrangenti Lenti sottili Strumenti ottici

Grafica 3D Interattiva

Animazioni 3D. Informatica Grafica I. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D

Politecnico di Milano - Facoltà del design - Laboratorio di computer grafica C2 Michele Zannoni Giovanni Gigante Tutorial 05: Materiali in Maya

Introduzione Computer Graphics

Lezione 3: Grafica 3D*

INFORMATICA E GRAFICA PER IL WEB

Grafica al calcolatore - Computer Graphics

Daniele Pantaleo. Daniele Pantaleo, Blender Tutorial: 2ª parte Cagliari, 25 Ottobre 2008

CAD 2D/3D E RENDERING

Usando 64 segmenti e 48 sides, in modo da renderlo più smussato, scalatelo lungo l asse Z, in modo da ottenere l anello.

illuminazione artificiale

REALTÀ E MODELLI SCHEDA DI LAVORO

VRay Map: VRayEdgesTex

Grafica computazionale

Illuminazione avanzata

SymCAD/C.A.T.S. modulo Canali Schema

Syllabus P.E.K.I.T. CAD

Grafica al Calcolatore Fotorealismo - 1. Introduzione

La propagazione delle onde luminose può essere studiata per mezzo delle equazioni di Maxwell. Tuttavia, nella maggior parte dei casi è possibile

Elaborazione del colore

Introduzione al 3D con Autocad

I nuovi strumenti che semplificano e velocizzano il disegno. Systems Comunicazioni srl

Università degli studi di Messina facoltà di Scienze mm ff nn. Progetto Lauree Scientifiche (FISICA) Prisma ottico

SISTEMI di PERSONAL COMPUTER

AddCAD per ZWCad. Passa alla progettazione 3D rimanendo sul tuo Cad famigliare

RADIOSITY TUTORIAL. versione originale su:

Laboratorio di Ottica, Spettroscopia, Astrofisica

Indice generale Introduzione... xv Parte I I principi fondamentali del disegno 3D...1 Capitolo 1 Introduzione al disegno tridimensionale...

Programmi per lo studio dell acustica di un ambiente

3DE Modeling Professional

Sistema operativo: Gestione della memoria

Laboratorio di Ottica, Spettroscopia, Astrofisica

Grafica e Geometria Computazionale

Grafica al calcolatore. Computer Graphics. 6 Modelli di illuminazione 18/11/12

Le texture. Informatica Grafica I. Le texture. Le texture. Le texture. Le texture. Le texture

Rendering. Visione Artificiale - 11 dicembre Agenda (1 di 2) - Rendering Real-Time e non Real Time. - Ambienti di moodellazione non Real Time

Lezione 19: Grafica in tempo reale. I problemi del Real Time. I problemi del Real Time. I problemi del Real Time. I problemi del Real Time

Introduzione all'animazione

LASER Navigation srl

La Visione Artificiale. La vis ione delle macchine La vis ione umana Acquis izione di immag ine

Il Porto Virtuale. Modello 3D del Porto di Genova. Prof. Alessandro De Gloria. Università degli Studi di Genova

Introduzione INTRODUZIONE

Open Source 3D Engine. OpenGL Rendering System. Il Framework

Shading Rendering. IUAV dcp corso Disegno Digitale. Camillo Trevisan

Agli operatori degli Uffici Passaporto

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri

Dimostrare alla Scuola media: dal perché al rigore spontaneamente

Laboratorio di Progettazione 3M B. Fisica Tecnica. Calcolo del Fattore medio di luce diurna

la soluzione che ti aiuta a progettare più rapidamente, riducendo i costi di sviluppo e scongiurando il rischio di costosi errori

Coordinate 3D. Coordinate cartesiane. Coordinate 3D. Coordinate cartesiane. Coordinate cartesiane. Sinistrorsa. Destrorsa

Decorazione Piastrelle

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Information Visualization

Macromedia Flash. Realizzato da Emanuela Scionti

FINALMENTE SUL TREPPIEDE WINDOWS con PREGEO, AutoCAD, PFCAD e tutto quello che serve per la massima autonomia ed efficienza in campagna.

Indice. Ventilazione Standard

OTTICA TORNA ALL'INDICE

Trasformazioni nello spazio Grafica 3d

DEFINIZIONE di CARTA. Carta di Mercatore Schermata ArcView. Generalità sulle carte e sui GIS 1

Introduzione a 3ds Max

Esercitazioni di Informatica Grafica A.A

Transcript:

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 Cinema ed intrattenimento Un numero consistente di film, pubblicita, video, etc. adotta tecniche di CG 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 ) ( ) { i i i, i, i }, ( i, i, i) { j j ( l, m, n) }, m V = v v = x y z x y z T = t t = v v v v V 3 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 R 2, 4 per R 3 ) Trasformazioni affini, lineari e proiettive come moltiplicazioni di matrici Es: traslazione in R 2 GPU ottimizzate per eseguire moltiplicazioni matriciali (~milioni di vertici/s) 13 Esempio Rappresentazione C. Cartesiane (2D) C. Omogenee xv xv Vertice V = y V = y V V 1 1. rotazione di angolo θ 2. traslazione di Δ, Δ 3. scalatura di s, s x x y y M R cosθ sinθ = sinθ cosθ M Δ Δ= Δ S x y M R s x 0 = 0 s M y cosθ sinθ 0 = sinθ cosθ 0 0 0 1 1 0 Δ x M Δ = 0 1 Δ y 0 0 1 S s x 0 0 = 0 sy 0 0 0 1 ' ' trasformazione finale V = M ( M V + Δ ) ( ) S R V = M M M V = M V S Δ R 14

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 Ω n θ w ' ' dw x 18

Bidirectional Reflectance Distribution Function xw, ', w BRDF, fr ( ) 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 R λ L λ θ θ V α I = I k V R α r λ s ( ) λ k s α: esponente >1 ks: coefficiente di riflessione speculare (caratteristiche del materiale) 1.2 1 0.8 0.6 0.4 alpha=1 alpha=2 alpha=10 alpha=100 0.2 0 0 0.5 1 1.5 2-0.2 21 Riflessione diffusiva Legge di Lambert r La luce riflessa e identica in ogni direzione Dipende dall angolo di incidenza Non dipende dall angolo di visuale I = I k L n λ d ( ) λ n R λ L λ θ θ V 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 2 o ordine Riflessione speculare e diffusiva (no rifrazione) Nessuna ombra portata n R λ L λ θ θ V I I k I = + k ( L n) + k ( V R ) α tot a λ d λ s λ λ 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 n AB n A n B V 1 n B n A T B T A Calcolo il colore nei vertici Interpolo il colore nei punti interni V 2 V 3 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 V 1 T B Problema: la riflessione speculare concentrata vicino ad un vertice viene stirata lungo il triangolo T A V 2 V 3 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 T A V 1 V 2 V 3 Piu conti, miglior resa grafica 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 It + γ 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 z Internet Ray Tracing Competition, www.irtc.org 39 Alcuni esempi (2) z 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 2000 6000 fotoni 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 1993: Doom (~15M copie) 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 46