Ombre e riflessioni in tempo reale

Slides:



Advertisements
Presentazioni simili
/ fax
Advertisements

BUMP MAPPING dott.ing.jun Alex Zupan –
LEZIONI DI OTTICA per le scuole medie Dott
COORDINATE POLARI Sia P ha coordinate cartesiane
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
Meccanica 8 31 marzo 2011 Teorema del momento angolare. 2° eq. Cardinale Conservazione del momento angolare Sistema del centro di massa. Teoremi di Koenig.
Ottica geometrica 2 11 gennaio 2013
Ottica geometrica 1 18 gennaio 2013
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.
Scuola Primaria “A.Mantegna “ – Padova -
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 prove.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 prove generali.
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 2004/05 Lezione.
Applicazioni progettuali di grafica computerizzata a.a. 2008/2009 Rendering grafico.
I numeri relativi by iprof.
Stencil Shadows Daniele Banovaz30 maggio 2006 Elementi di Grafica Digitale, A.A
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.
Modelli del colore 2 Daniele Marini.
Colore Eidomatico e Percezione del colore 3
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.
Lavorare con le matrici in OGL
1 Modelli Globali Radiosity Daniele Marini. 2 Radiosity Bilancio radiativo in un ambiente chiuso (senza scambio di energia con lesterno) Indipendente.
Modellazione di terreni a risoluzione adattiva
Infomatica Grafica a.a DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Determinazione delle superfici visibili
Illuminamento e Shading
Corso di Fisica I vettori in Fisica
Modelli d’illuminazione locale radiometrici
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
Modelli di riflessione della luce
1101 = x 10 x 10 x x 10 x = CORRISPONDENZE
Effetti fotorealistici
Modelli Globali: Ray Tracing
Percezione visiva e percezione del colore Effetti e illusioni
Image Based Rendering Daniele Marini.
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
Le proiezioni e la prospettiva
Superfici nascoste Daniele Marini.
1 Struttura di un sistema grafico e frame buffer Daniele Marini.
1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
La luce E’ una particolare forma di energia detta
Modelli di Illuminazione
Controllare le proiezioni
Corso di Programmazione Grafica e Laboratorio Daniele Marini
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.
Controllare la prospettiva
Architettura di OGL e pipe-line Daniele Marini Davide Gadia Davide Selmo Corso Di Programmazione Grafica aa2005/2006.
Ombre e riflessioni in tempo reale Daniele Marini Parzialmente tratte de: Haines-M ö ller Corso di Programmazione Grafica aa2005/2006.
Modelli di Illuminazione Modelli locali
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.
lun mar mer gio ven SAB DOM FEBBRAIO.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Transcript della presentazione:

Ombre e riflessioni in tempo reale Corso di Programmazione Grafica per il Tempo Reale Ombre e riflessioni in tempo reale Daniele Marini Parzialmente tratte de: Haines-Möller

Perchè Dare maggiore realismo Creare ”un’atmosfera” Blade of Darkness Neverwinter Nights

Cosa si ottiene Più indizi per comprendere la profondità e la forma Più facile l’orientamento

Definizioni Sorgenti di luce Creatori d’ombra, ricevitori d’ombra Sorgente Creatore e ricevitore Creatore Ricevitore

Tipologie Tipi di sorgenti Point light ombra area light ombra penombra

Ombre nette, ombre sfumate (penombre)

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

Ombre piane Un oggetto proietta un’ombra su una superficie piana Il meccanismo è simile a una proiezione prospettica: si tratta di individuare la matrice di proiezione

Proiezione dell’ombra y l v y=0 p ombra Matrice di proiezione:

Proiezione su un piano qualsiasi Equazione del piano: Equazione del punto proiettato v n p Matrice di proiezione

Memorizzare ombre pre-computate in texture

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 renderman della Pixar Calcola il rendering a partire dalla sorgente (il bianco indica punti più lontani, il nero più vicini)

Profondità di memorizzata 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. Per ogni pixel compara distanza da luce di con Profondità di memorizzata In shadow map shadow depth map

Risultato

Shadow volumes Crea porzioni di volume in ombra da ciasun poligono illuminato (triangolo) Ciascun traingolo crea 3 quadrilateri semi-infiniti proiettati Quelli rivolti verso l’ossrvatore sono frontfacing, gli altri backfacing

Come funziona Per testare un punto incrementa un contatore ogni volta che attraversi un lato frontafcing della piramide ombra e decrementa quando atraversi un backfacing Se il contatore è maggiore di zero allora il pixel è in ombra backfacing frontfacing

Shadow volume usa stencil buffer È un altro buffer di OGL in genere 8 bit 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 Rendered image result

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 passo: rendi nello stencil buffer i poligoni frontfacing rispetto allo shadow volume, incrementa il contatore. 3rd passo: rendi nello stencil buffer i poligoni backfacing rispetto allo shadow volume, decrementa il contatore. 4th passo: rendi le luci diffusive e speculari con lo stencil buffer a 0.

Image courtesy of NVIDIA Inc. Esempio Image courtesy of NVIDIA Inc.

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

Cercare gli spigoli di bordo (silhouette) Dalla sorgente le ombre proiettate da spigoli interni non contribuiscono allo shadow volume. Trovare gli spigoli della silhouette elimina molti quadrilateri di shadow volume inutili.

Screen space Con la disponibilità di pixel shader sono nati algoritmi che operano sul piano immagine. Screen space ambient occlusion (SSAO) può essere eseguito nella GPU. Per ogni pixel si valuta il livello di occlusione interrogando il buffer di profondità

Screen space Ambient Occlusion Il grado di occlusione viene valutato calcolando la differenza di profondità del pixel con un pixel scelto casualmente Si usa un kernel ruotato in modo casuale per scegliere il pixel di comparazione Gli artefatti vengono eliminati con un antialiasing

Screen space Ambient Occlusion E’ molto efficace per generare self shadows La complessità dipende solo dalla dimensione dell’immagine generata

Z-buffer Ambient Occlusion Una copia dello z-buffer viene clampata, sfumata e sottratta dallo z-buffer Si genera così una mappa di differenze La mappa di differenze può esser ulteriormente clampata e e scalata per controllare la intensità dell’ombra

Z-buffer Ambient Occlusion Nell’ultimo passo si sottrae la mappa così generata dalla immagine E’ indipendente dal numero di poligoni, molto veloce Adatto per self shadows

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

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

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:

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

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