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

39
Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni RESA NON SIMULATIVA DI FENOMENI OTTICI IN REAL-TIME SU ARCHITETTURE SPROVVISTE DI SHADER Angelo Theodorou, 566/2558 Universit` a degli Studi di Napoli ”Federico II“ Laurea in Informatica - Anno Accademico 2008/09 Relatore: Dott. Francesco Isgr` o Tutor aziendale: Fausto Cardone A. Theodorou ”Federico II“

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

Page 1: 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“

Page 2: 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

Sommario

1 Introduzione

2 Alcune tecniche implementate

3 Simulazione di un ambiente naturale

4 Conclusioni

A. Theodorou ”Federico II“

Page 3: 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

1 Introduzione

2 Alcune tecniche implementate

3 Simulazione di un ambiente naturale

4 Conclusioni

A. Theodorou ”Federico II“

Page 4: 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

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“

Page 5: 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

IntroduzioneFenomeni ottici

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

A. Theodorou ”Federico II“

Page 6: 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

IntroduzioneFenomeni ottici: ingrandimento

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

A. Theodorou ”Federico II“

Page 7: 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

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“

Page 8: 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

Sfumatura con e senza shaderConfronto fianco a fianco

Figura: Gaussian blur Figura: Subsampling blur

A. Theodorou ”Federico II“

Page 9: 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

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

Figura: Gaussian blur Figura: Subsampling blur

A. Theodorou ”Federico II“

Page 10: 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

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

Figura: Gaussian blur Figura: Subsampling blur

A. Theodorou ”Federico II“

Page 11: 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

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“

Page 12: 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

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“

Page 13: 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

1 Introduzione

2 Alcune tecniche implementate

3 Simulazione di un ambiente naturale

4 Conclusioni

A. Theodorou ”Federico II“

Page 14: 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

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“

Page 15: 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 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“

Page 16: 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

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“

Page 17: 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

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“

Page 18: 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

Bloom: variante con texenv e luminanzaImmagine originale

Figura: Ingrandimento immagine originale

A. Theodorou ”Federico II“

Page 19: 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

Bloom: variante con texenv e luminanzaComposizione finale

Figura: Ingrandimento composizione finale

A. Theodorou ”Federico II“

Page 20: 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 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“

Page 21: 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

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“

Page 22: 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

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“

Page 23: 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

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“

Page 24: 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

Rim lighting: variante con stencil bufferImmagine originale

Figura: Ingrandimento immagine originale

A. Theodorou ”Federico II“

Page 25: 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

Rim lighting: variante con stencil bufferComposizione finale

Figura: Ingrandimento composizione finale

A. Theodorou ”Federico II“

Page 26: 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

Rim lighting: variante con stencil bufferComposizione finale con texture

Figura: Ingrandimento composizione finale con texture

A. Theodorou ”Federico II“

Page 27: 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

1 Introduzione

2 Alcune tecniche implementate

3 Simulazione di un ambiente naturale

4 Conclusioni

A. Theodorou ”Federico II“

Page 28: 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

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“

Page 29: 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

Simulazione di un ambiente naturaleIntegrazione bloom e rim lighting

(a) Integrazione effetti (b) Solo maschera

A. Theodorou ”Federico II“

Page 30: 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

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

(c) Integrazione effetti (d) Solo maschera

A. Theodorou ”Federico II“

Page 31: 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

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

(e) Integrazione effetti (f) Solo maschera

A. Theodorou ”Federico II“

Page 32: 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

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“

Page 33: 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

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“

Page 34: 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

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“

Page 35: 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

Simulazione di un ambiente naturaleLe nuvole

(m) Sovrapposizione di strati tra-sparenti

(n) Sovrapposizione di strati contexture

A. Theodorou ”Federico II“

Page 36: 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

Simulazione di un ambiente naturaleCiclo giorno/notte: il giorno

Figura: Una scena dalla simulazione: ore diurne

A. Theodorou ”Federico II“

Page 37: 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

Simulazione di un ambiente naturaleCiclo giorno/notte: la notte

Figura: Una scena dalla simulazione: ore notturne

A. Theodorou ”Federico II“

Page 38: 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

1 Introduzione

2 Alcune tecniche implementate

3 Simulazione di un ambiente naturale

4 Conclusioni

A. Theodorou ”Federico II“

Page 39: 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

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“