Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Resa non simulativa di fenomeni ottici in real-time su architetture sprovviste di shader
1. 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` degli Studi di Napoli ”Federico II“
a
Laurea in Informatica - Anno Accademico 2008/09
Relatore: Tutor aziendale:
Dott. Francesco Isgr`
o Fausto Cardone
A. Theodorou ”Federico II“
2. 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“
3. 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“
4. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Introduzione
Obiettivi
Riproduzione grafica di alcuni fenomeni ottici:
funzionante in real-time
funzionante su architetture non pi` all’avanguardia
u
telefoni cellulari, palmari ed altri dispositivi integrati
console da gioco portatili o della passata generazione
Nintendo R WiiTM
deve apparire naturale seppur fisicamente non corretta
A. Theodorou ”Federico II“
5. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Introduzione
Fenomeni ottici
Figura: Fotografia che mostra bloom, lens flare e rim lighting
A. Theodorou ”Federico II“
6. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Introduzione
Fenomeni ottici: ingrandimento
A. Theodorou ”Federico II“
7. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Introduzione
Gli shader
Panoramica storica
Prima apparizione nel 2001, hanno rivoluzionato la pipeline
grafica
Bench´ molto diffusi, alcune architetture sono ancora restie
e
nell’adottarli
Panoramica tecnica
Il codice sorgente ` scritto dallo sviluppatore
e
Possono trasformare vertici, assemblare primitive, colorare
frammenti
Eseguiti in parallelo su stream processor vettoriali
Centinaia di gigaFLOPS in singola precisione, decine in doppia
A. Theodorou ”Federico II“
8. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Sfumatura con e senza shader
Confronto fianco a fianco
Figura: Gaussian blur Figura: Subsampling blur
A. Theodorou ”Federico II“
9. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Sfumatura con e senza shader
Confronto fianco a fianco: ingrandimento gaussian blur
A. Theodorou ”Federico II“
10. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Sfumatura con e senza shader
Confronto fianco a fianco: ingrandimento subsampling blur
A. Theodorou ”Federico II“
11. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Sfumatura con shader
Gaussian blur
Lo shader calcola la convoluzione discreta secondo una
maschera gaussiana
Si sfrutta la separabilit` lineare del kernel lungo i due assi:
a
si eseguono due passate di rendering ma la complessit` si a
riduce da quadratica a lineare
(a) Immagine originale (b) Convoluzione lungo (c) Convoluzione anche
l’asse X lungo l’asse Y
A. Theodorou ”Federico II“
12. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Sfumatura senza shader
Subsampling blur
L’immagine originale viene disegnata in trasparenza pi` volte,
u
in posizioni lievemente differenti
Viene creato un insieme di immagini a risoluzioni sempre
minori, mediante l’uso di un filtro bilineare
Si disegnano in sovrapposizione stabilendo empiricamente i
coefficienti per la trasparenza
(d) Immagine ori- (e) Immagine (f) Risoluzione (g)
ginale ”mossa“ dimezzata Sovrapposizione
A. Theodorou ”Federico II“
13. 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“
14. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Alcune tecniche implementate
Strumenti e piattaforma impiegati
Strumenti di sviluppo
Linguaggio: C++
API grafica: OpenGL
Librerie di supporto: SDL, SDL image, SDL ttf
Class library precedentemente sviluppata dall’autore
Gestione contenuti grafici: Blender, Gimp
Altro: Python, Octave
Piattaforma di sviluppo
Personal computer con scheda video dotata di stream processor
A. Theodorou ”Federico II“
15. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Resa del fenomeno di bloom
Le tecniche implementate
Variante con shader e glow additivo
Variante con shader e calcolo della luminanza media
Variante con stencil buffer
Variante con texture environment e luminanza
Figura: Il fenomeno di bloom nella realt`
a
A. Theodorou ”Federico II“
16. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Bloom: variante con texenv e luminanza
Prima 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“
17. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Bloom: variante con texenv e luminanza
Seconda parte
La maschera a toni di grigio viene scurita mediante
composizione sottrattiva
La maschera viene mossa e sfumata
L’immagine originale e la maschera vengono composte
additivamente
(c) Maschera scurita (d) Maschera sfumata
A. Theodorou ”Federico II“
18. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Bloom: variante con texenv e luminanza
Immagine originale
Figura: Ingrandimento immagine originale
A. Theodorou ”Federico II“
19. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Bloom: variante con texenv e luminanza
Composizione finale
Figura: Ingrandimento composizione finale
A. Theodorou ”Federico II“
20. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Resa del fenomeno di rim lighting
Le tecniche implementate
Variante con sottrazione tra depth buffer
Variante con shader e sottrazione tra depth buffer
Variante con delineamento dei contorni
Variante con stencil buffer
Variante con shader e prodotto scalare
Figura: Il fenomeno di rim lighting nella realt`
a
A. Theodorou ”Federico II“
21. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Rim lighting: variante con stencil buffer
Prima parte
Si disegnano i modelli interessati dall’effetto ricavando una
maschera delle loro sagome
Si inverte il contenuto binario della maschera
(a) Immagine originale (b) Maschera invertita
A. Theodorou ”Federico II“
22. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Rim lighting: variante con stencil buffer
Seconda parte
La maschera invertita viene mossa e poi sfumata
Della maschera sfumata si scarta la parte esterna alla sagoma
originale degli oggetti
La maschera finale viene composta additivamente con
l’immagine originale
(c) Maschera sfumata (d) Maschera finale
A. Theodorou ”Federico II“
23. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Rim lighting: variante con stencil buffer
Seconda parte: ingrandimento
A. Theodorou ”Federico II“
24. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Rim lighting: variante con stencil buffer
Immagine originale
Figura: Ingrandimento immagine originale
A. Theodorou ”Federico II“
25. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Rim lighting: variante con stencil buffer
Composizione finale
Figura: Ingrandimento composizione finale
A. Theodorou ”Federico II“
26. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Rim lighting: variante con stencil buffer
Composizione finale con texture
Figura: Ingrandimento composizione finale con texture
A. Theodorou ”Federico II“
27. 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“
28. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Simulazione di un ambiente naturale
Aspetti sperimentati
La simulazione allestita per sperimentare la resa degli effetti
considera i seguenti aspetti:
Integrazione contemporanea di bloom e rim lighting
Colore del cielo e riflesso sul terreno
Prospettiva aerea
Colore del sole ed effetti di lens flare e bloom
Le nuvole
Ciclo giorno/notte
A. Theodorou ”Federico II“
29. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Simulazione di un ambiente naturale
Integrazione bloom e rim lighting
(a) Integrazione effetti (b) Solo maschera
A. Theodorou ”Federico II“
30. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Simulazione di un ambiente naturale
Integrazione bloom e rim lighting: ingrandimento immagine
A. Theodorou ”Federico II“
31. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Simulazione di un ambiente naturale
Integrazione bloom e rim lighting: ingrandimento maschera
A. Theodorou ”Federico II“
32. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Simulazione di un ambiente naturale
Colore del cielo e riflesso sul terreno
(g) Terreno senza texture (h) Terreno con texture e prospetti-
va aerea
A. Theodorou ”Federico II“
33. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Simulazione di un ambiente naturale
Colore del cielo e riflesso sul terreno: ingrandimento prospettiva aerea
A. Theodorou ”Federico II“
34. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Simulazione di un ambiente naturale
Colore del sole ed effetti di lens flare e bloom
(k) Disco solare con flare (l) Effetto di bloom attivato
A. Theodorou ”Federico II“
35. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Simulazione di un ambiente naturale
Le nuvole
(m) Sovrapposizione di strati tra- (n) Sovrapposizione di strati con
sparenti texture
A. Theodorou ”Federico II“
36. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Simulazione di un ambiente naturale
Ciclo giorno/notte: il giorno
Figura: Una scena dalla simulazione: ore diurne
A. Theodorou ”Federico II“
37. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Simulazione di un ambiente naturale
Ciclo giorno/notte: la notte
Figura: Una scena dalla simulazione: ore notturne
A. Theodorou ”Federico II“
38. 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“
39. Sommario Introduzione Alcune tecniche implementate Simulazione di un ambiente naturale Conclusioni
Conclusioni
Risultati e sviluppi
Risultati
Due effetti grafici ”moderni“ adattati per architetture pi` modeste
u
con compromessi di resa e prestazioni accettabili
Sviluppi futuri
Porting su Nintendo R WiiTM
Organizzazione spaziale dei dati della scena
Ombre dinamiche in base alla posizione del sole
Sistema di LoD e detail texturing per il terreno
A. Theodorou ”Federico II“