Resa non simulativa di fenomeni ottici in real-time su architetture sprovviste di shader

Post on 23-Jun-2015

742 views 0 download

description

Presentazione tenuta durante la seduta di laurea dell'autore il giorno 22 Luglio 2009.

Transcript of Resa non simulativa di fenomeni ottici in real-time su architetture sprovviste di shader

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

RESA NON SIMULATIVA DI FENOMENIOTTICI IN REAL-TIME SU ARCHITETTURE

SPROVVISTE DI SHADER

Angelo Theodorou, 566/2558

Universita degli Studi di Napoli ”Federico II“

Laurea in Informatica - Anno Accademico 2008/09

Relatore:Dott. Francesco Isgro

Tutor aziendale:Fausto Cardone

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Sommario

1 Introduzione

2 Alcune tecniche implementate

3 Simulazione di un ambiente naturale

4 Conclusioni

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

1 Introduzione

2 Alcune tecniche implementate

3 Simulazione di un ambiente naturale

4 Conclusioni

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

IntroduzioneObiettivi

Riproduzione grafica di alcuni fenomeni ottici:funzionante in real-timefunzionante su architetture non piu all’avanguardia

telefoni cellulari, palmari ed altri dispositivi integraticonsole da gioco portatili o della passata generazioneNintendo R© WiiTM

deve apparire naturale seppur fisicamente non corretta

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

IntroduzioneFenomeni ottici

Figura: Fotografia che mostra bloom, lens flare e rim lighting

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

IntroduzioneFenomeni ottici: ingrandimento

Figura: Fotografia che mostra bloom, lens flare e rim lighting

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

IntroduzioneGli shader

Panoramica storicaPrima apparizione nel 2001, hanno rivoluzionato la pipelinegraficaBenche molto diffusi, alcune architetture sono ancora restienell’adottarli

Panoramica tecnicaIl codice sorgente e scritto dallo sviluppatorePossono trasformare vertici, assemblare primitive, colorareframmentiEseguiti in parallelo su stream processor vettorialiCentinaia di gigaFLOPS in singola precisione, decine in doppia

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Sfumatura con e senza shaderConfronto fianco a fianco

Figura: Gaussian blur Figura: Subsampling blur

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Sfumatura con e senza shaderConfronto fianco a fianco: ingrandimento gaussian blur

Figura: Gaussian blur Figura: Subsampling blur

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Sfumatura con e senza shaderConfronto fianco a fianco: ingrandimento subsampling blur

Figura: Gaussian blur Figura: Subsampling blur

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Sfumatura con shaderGaussian blur

Lo shader calcola la convoluzione discreta secondo unamaschera gaussianaSi sfrutta la separabilita lineare del kernel lungo i due assi:si eseguono due passate di rendering ma la complessita siriduce da quadratica a lineare

(a) Immagine originale (b) Convoluzione lungol’asse X

(c) Convoluzione anchelungo l’asse Y

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Sfumatura senza shaderSubsampling blur

L’immagine originale viene disegnata in trasparenza piu volte,in posizioni lievemente differentiViene creato un insieme di immagini a risoluzioni sempreminori, mediante l’uso di un filtro bilineareSi disegnano in sovrapposizione stabilendo empiricamente icoefficienti per la trasparenza

(d) Immagine ori-ginale

(e) Immagine”mossa“

(f) Risoluzionedimezzata

(g)Sovrapposizione

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

1 Introduzione

2 Alcune tecniche implementate

3 Simulazione di un ambiente naturale

4 Conclusioni

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Alcune tecniche implementateStrumenti e piattaforma impiegati

Strumenti di sviluppoLinguaggio: C++API grafica: OpenGLLibrerie di supporto: SDL, SDL image, SDL ttfClass library precedentemente sviluppata dall’autoreGestione contenuti grafici: Blender, GimpAltro: Python, Octave

Piattaforma di sviluppoPersonal computer con scheda video dotata di stream processor

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Resa del fenomeno di bloomLe tecniche implementate

Variante con shader e glow additivoVariante con shader e calcolo della luminanza mediaVariante con stencil bufferVariante con texture environment e luminanza

Figura: Il fenomeno di bloom nella realta

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Bloom: variante con texenv e luminanzaPrima parte

Si ricava la luminanza di un pixel a partire dal suo colore:Y = 0.299 · R + 0.587 · G + 0.114 · B

(a) Immagine originale (b) Luminanza

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Bloom: variante con texenv e luminanzaSeconda parte

La maschera a toni di grigio viene scurita mediantecomposizione sottrattivaLa maschera viene mossa e sfumataL’immagine originale e la maschera vengono composteadditivamente

(c) Maschera scurita (d) Maschera sfumata

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Bloom: variante con texenv e luminanzaImmagine originale

Figura: Ingrandimento immagine originale

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Bloom: variante con texenv e luminanzaComposizione finale

Figura: Ingrandimento composizione finale

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Resa del fenomeno di rim lightingLe tecniche implementate

Variante con sottrazione tra depth bufferVariante con shader e sottrazione tra depth bufferVariante con delineamento dei contorniVariante con stencil bufferVariante con shader e prodotto scalare

Figura: Il fenomeno di rim lighting nella realta

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Rim lighting: variante con stencil bufferPrima parte

Si disegnano i modelli interessati dall’effetto ricavando unamaschera delle loro sagomeSi inverte il contenuto binario della maschera

(a) Immagine originale (b) Maschera invertita

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Rim lighting: variante con stencil bufferSeconda parte

La maschera invertita viene mossa e poi sfumataDella maschera sfumata si scarta la parte esterna alla sagomaoriginale degli oggettiLa maschera finale viene composta additivamente conl’immagine originale

(c) Maschera sfumata (d) Maschera finaleA. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Rim lighting: variante con stencil bufferSeconda parte: ingrandimento

La maschera invertita viene mossa e poi sfumataDella maschera sfumata si scarta la parte esterna alla sagomaoriginale degli oggettiLa maschera finale viene composta additivamente conl’immagine originale

(e) Maschera sfumata (f) Maschera finale

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Rim lighting: variante con stencil bufferImmagine originale

Figura: Ingrandimento immagine originale

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Rim lighting: variante con stencil bufferComposizione finale

Figura: Ingrandimento composizione finale

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Rim lighting: variante con stencil bufferComposizione finale con texture

Figura: Ingrandimento composizione finale con texture

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

1 Introduzione

2 Alcune tecniche implementate

3 Simulazione di un ambiente naturale

4 Conclusioni

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Simulazione di un ambiente naturaleAspetti sperimentati

La simulazione allestita per sperimentare la resa degli effetticonsidera i seguenti aspetti:

Integrazione contemporanea di bloom e rim lightingColore del cielo e riflesso sul terrenoProspettiva aereaColore del sole ed effetti di lens flare e bloomLe nuvoleCiclo giorno/notte

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Simulazione di un ambiente naturaleIntegrazione bloom e rim lighting

(a) Integrazione effetti (b) Solo maschera

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Simulazione di un ambiente naturaleIntegrazione bloom e rim lighting: ingrandimento immagine

(c) Integrazione effetti (d) Solo maschera

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Simulazione di un ambiente naturaleIntegrazione bloom e rim lighting: ingrandimento maschera

(e) Integrazione effetti (f) Solo maschera

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Simulazione di un ambiente naturaleColore del cielo e riflesso sul terreno

(g) Terreno senza texture (h) Terreno con texture e prospetti-va aerea

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Simulazione di un ambiente naturaleColore del cielo e riflesso sul terreno: ingrandimento prospettiva aerea

(i) Terreno senza texture (j) Terreno con texture e prospettivaaerea

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Simulazione di un ambiente naturaleColore del sole ed effetti di lens flare e bloom

(k) Disco solare con flare (l) Effetto di bloom attivato

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Simulazione di un ambiente naturaleLe nuvole

(m) Sovrapposizione di strati tra-sparenti

(n) Sovrapposizione di strati contexture

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Simulazione di un ambiente naturaleCiclo giorno/notte: il giorno

Figura: Una scena dalla simulazione: ore diurne

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

Simulazione di un ambiente naturaleCiclo giorno/notte: la notte

Figura: Una scena dalla simulazione: ore notturne

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

1 Introduzione

2 Alcune tecniche implementate

3 Simulazione di un ambiente naturale

4 Conclusioni

A. Theodorou ”Federico II“

Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni

ConclusioniRisultati e sviluppi

RisultatiDue effetti grafici ”moderni“ adattati per architetture piu modestecon compromessi di resa e prestazioni accettabili

Sviluppi futuriPorting su Nintendo R© WiiTM

Organizzazione spaziale dei dati della scenaOmbre dinamiche in base alla posizione del soleSistema di LoD e detail texturing per il terreno

A. Theodorou ”Federico II“