Ombre e riflessioni in tempo reale Daniele Marini Parzialmente tratte de: Haines-M ö ller Corso di Programmazione Grafica aa2005/2006.

Slides:



Advertisements
Presentazioni simili
Facciamo Luce Il Cuneo D'Aria.
Advertisements

Ombre e riflessioni in tempo reale
Attività di Laboratorio di
BUMP MAPPING dott.ing.jun Alex Zupan –
Progetto e realizzazione di un wrapper XML Schema per il sistema MOMIS
Incontri territoriali ott-nov INCONTRO DI PRESENTAZIONE E DIVULGAZIONE PUNTI e SPUNTI per la valutazione interna della scuola.
Rendering È quel processo di creazione di un’immagine bidimensionale a partire da un modello tridimensionale Tale immagine deve tendere a rappresentare.
Corso di Informatica grafica 1 Introduzione Quando si rappresentano modelli di oggetti 3D costituiti da facce poligonali secondo delle proiezioni alcune.
MODELLI LUCE.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Condizionamento dei segnali di misura
Applicazioni progettuali di grafica computerizzata a.a. 2008/2009 Rendering grafico.
Prof. Giovanni Raho A.A Usabilità Informatica Applicata CDL Scienze della Comunicazione scritta ed ipertestuale.
Stencil Shadows Daniele Banovaz30 maggio 2006 Elementi di Grafica Digitale, A.A
Corso di Elementi di Grafica Digitale Massimo De March
Jesi, 6 aprile Regione Marche Documento Strategico Preliminare Programmazione Fondi Strutturali
Milano, 10 Luglio SEMINARIO LA RIFORMA DELL'AUTOTRASPORTO Milano, 10 Luglio 2006 LA RIFORMA DELL'AUTOTRASPORTO. IL FILO ROSSO CHE LEGA RESPONSABILITÀ,
1 Modelli di Illuminazione Daniele Marini. 2 Obiettivo Visualizzare scene cercando di simulare al meglio la realtà Interazione luce-materiali –Modellare.
Modelli Globali Daniele Marini.
1 Superfici nascoste Daniele Marini. 2 Ray casting adatto a CSG o superfici parametriche dipende dal punto di vista è una sorta di campionamento spaziale.
Smoothing Daniele Marini.
1 Effetti impressionistici Daniele Marini. 2 Tecniche discrete di manipolazione del frame buffer: –Texture mapping –Antialiasing –Compositing –Alpha blending.
1 Modelli Globali Radiosity Daniele Marini. 2 Radiosity Bilancio radiativo in un ambiente chiuso (senza scambio di energia con lesterno) Indipendente.
Infomatica Grafica a.a DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.
Determinazione delle superfici visibili
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Illuminamento e Shading
Scuola Secondaria di 1° grado Mario Zippilli via De Vincentiis, 2 TERAMO Anno scolastico 2009/2010 Programma Nazionale Scuole Aperte AREA TEMATICA Potenziamento.
Studente: Banovaz Diego Trieste, 15/12/2008AA: 2008/2009.
Modelli di riflessione della luce
Effetti fotorealistici
Modelli Globali: Ray Tracing
Davide Gadia Davide Selmo
Modelli Globali e metodo di Radiosity
Daniele Marini, Maurizio Rossi
Texturing - Tessiture Daniele Marini.
Le ombre proiettate Daniele Marini.
Dal modello alla visualizzazione: Verso il foto realismo Daniele Marini.
Architettura di OGL e pipe-line Daniele Marini Corso Di Programmazione Grafica.
lavoro di scienze sulla luce
Enrico Lo Gatto Cranfield University
Superfici nascoste Daniele Marini.
Modelli Globali: il metodo di Radiosity
La luce E’ una particolare forma di energia detta
Modelli di Illuminazione
1 Ottimizzazione della scena: culling (decimazione) Daniele Marini.
Modelli di Illuminazione Modelli locali Daniele Marini Corso Di Programmazione Grafica aa2005/2006.
Antialiasing tratto da: Han-Wei Shen.
Corso di Programmazione Grafica e Laboratorio Daniele Marini
Trasformazioni in OGL Daniele Marini Davide Gadia Marco Ronchetti Davide Selmo Corso Di Programmazione Grafica aa2005/2006.
Architettura di OGL e pipe-line Daniele Marini Corso Di Programmazione Grafica.
Ombre e riflessioni in tempo reale Daniele Marini Parzialmente tratte de: Haines-M ö ller Corso di Programmazione Grafica aa2006/2007.
Architettura di OGL e pipe-line Daniele Marini Davide Gadia Davide Selmo Corso Di Programmazione Grafica aa2005/2006.
Le trasformazioni Daniele Marini Corso Di Programmazione Grafica aa 2005/2006.
Antialiasing parzialmente tratto da: Han-Wei Shen Daniele Marini Corso Di Programmazione Grafica aa2005/2006.
Antialiasing parzialmente tratto da: Han-Wei Shen
Shading e smoothing Daniele Marini Corso Di Programmazione Grafica aa2005/2006.
Modelli di Illuminazione Modelli locali
Ottimizzazione della scena: culling (decimazione) Daniele Marini Corso di Programmazione Grafica per il Tempo Reale.
Titolo Daniele Marini Davide Gadia Marco Ronchetti Davide Selmo Corso Di Programmazione Grafica aa2005/2006.
Controllare le proiezioni
LA LUCE Come si propaga.
L’insegnamento della fisica e delle scienze nella scuola; proposte operative per un approccio laboratoriale low-cost no cost Raggi, Fasci di Luce ed Ombre.
L'ottica studia i fenomeni luminosi.
26 maggio Co.Ge.A.P.S. “Ordini, Collegi ed Associazioni in primo piano nella certificazione dei percorsi formativi degli operatori sanitari” Napoli.
Messina, 20 novembre Lo SVILUPPO di un territorio.
Circonferenza e cerchio
Sistemi Multimediali II Marco Tarini Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Transcript della presentazione:

Ombre e riflessioni in tempo reale Daniele Marini Parzialmente tratte de: Haines-M ö ller Corso di Programmazione Grafica aa2005/2006

Programmazione Grafica aa2005/20062 Perchè Dare maggiore realismo Creare ”un’atmosfera” Neverwinter Nights Blade of Darkness

Programmazione Grafica aa2005/20063 Cosa si ottiene Più indizi per comprendere la profondità e la forma Più facile l’orientamento

Programmazione Grafica aa2005/20064 Ricevitore Sorgenti di luce Creatori d’ombra, ricevitori d’ombra Sorgente Creatore Creatore e ricevitore Definizioni

Programmazione Grafica aa2005/20065 Tipi di sorgenti Point light ombra area light ombrapenombra Tipologie

Programmazione Grafica aa2005/20066 Ombre nette, ombre sfumate (penombre)

Programmazione Grafica aa2005/20067 Come considerare le ombre Come oggetti separati (l’ombra di Peter Pan) Come volumi di spazio buio Come posizioni da cui la luce di una sorgente non è visibile Notare che sono in ombra facce rivolte in senso opposto alla sorgente

Programmazione Grafica aa2005/20068 Memorizzare ombre pre- computate in texture

Programmazione Grafica aa2005/20069 Due algoritmi principali per geometrie qualsiasi Shadow mapping e shadow volumes –Considera un volume buio, è il più diffuso e implementato hardware Lavora in tempo reale… Shadow mapping è usato dal software rendering della Pixar Calcola il rendering a partire dalla sorgente (il bianco indica punti più lontani, il nero più vicini)

Programmazione Grafica aa2005/ Shadow Map Quando si calcola il rendering, controlla il punto osservato rispetto allo shadow buffer – Se la profondità del punto è maggiore (epsilon) del valore di shadow buffer l’oggetto è in ombra. shadow depth map Per ogni pixel compara distanza da luce di con Profondità di memorizzata In shadow map

Programmazione Grafica aa2005/ Risultato

Programmazione Grafica aa2005/ Shadow volumes Crea porzioni di volume in ombra da ciasun poligono illuminato (triangolo) Ciascun traingolo crea 3 quadrilateri proiettati

Programmazione Grafica aa2005/ Come funziona Per testare un punto conta il numero di poligoni tra esso e il punto di vista Se ci sono più poligoni frontfacing che backfacing allora è in ombra frontfacing backfacing

Programmazione Grafica aa2005/ Shadow volume usa stencil buffer È un altro buffere di OGL in genee 8 bits per pixel Quando si calcola rendering con stencil buffer si possono eseguire somme, sottrazioni etc. L’immagine ottenuta si può usare come maschera per le fasi successive di rendering Stencil Buffer Mask result Rendered image

Programmazione Grafica aa2005/ Come si implementa shadow volumes con stencil buffer 4 passi [Heidmann91]: – 1st Passo: rendi la scena con solo la luce ambiente – Inibisci l’aggiornamento dello Z-buffer e la scrittura nel color buffer (disegna solo nello stencil). – 2nd pass: rendi nello stencil buffer i poligoni frontfacing rispetto allo shadow volume, incrementa il conteggio. – 3rd pass: rendi nello stencil buffer i poligoni backfacing rispetto allo shadow volume, decrementa il conteggio. – 4th pass: rendi le luci diffusive e speculari con lo stencil buffer a 0.

Programmazione Grafica aa2005/ Esempio Image courtesy of NVIDIA Inc.

Programmazione Grafica aa2005/ Unire più volumi ombra Uno spigolo condiviso da due poligoni che ostacolano la luce creano quadrilateri che sono simultaneamente front e backfacing Questo spigolo interno genera 2 quadrilateri che si annullano

Programmazione Grafica aa2005/ Cercare gli spigoli di bordo (silhouette) Dalla sorgente le ombre proiettate da spigoli interno non contribuiscono allo shadow volume. Trovare gli spigoli della silhouette elimina molti qaudrilateri di shadow volume inutili.

Programmazione Grafica aa2005/ Riflessioni piane Le riflessioni si possono simulare con environment mapping Non è adatto per superfici piane Anche la riflessione piana (specchio piano) aiuta a capire la scena e le forme, accresce il realismo Basato sulla legge della riflessione speculare: –L’angolo di incidenza è uguale all’angolo di riflessione

Programmazione Grafica aa2005/ Riflessioni piane Poniamo il piano in z=0 Applichiamo la trasformazione glScalef(1,1,-1); Il risultato: z

Programmazione Grafica aa2005/ Riflessioni piane Nel calcolo delle ombre il backfacing diventa frontfacing! Anche le luci devoono venire riflesse È necessario applicare il clipping (si usa lo stencil buffer) Esempio di clipping:

Programmazione Grafica aa2005/ Planar reflections Come funziona il rendering? 1) metti nello stencil buffer i poligoni del piano di base 2) calcola il modello scalato con (1,1,-1), ma mascheralo con lo stencil buffer 3) rendi il piano di base (semi-trasparente) 4) rendi il modello non trasformato con la scala

Programmazione Grafica aa2005/ Esempio Invece del trucco della trasformazione di scala si puà riflettere la posizione di camera e la direzione del piano Quindi rendere l’immagine riflessa da quella camera