Antialiasing parzialmente tratto da: Han-Wei Shen Daniele Marini Corso Di Programmazione Grafica aa2007/2008.

Slides:



Advertisements
Presentazioni simili
Ombre e riflessioni in tempo reale
Advertisements

Elaborazione numerica del suono
Analisi e progettazione dei processi interfunzionali
Filtri digitali Introduzione.
Filtri Multirate e Banchi di Filtri
Digital Data Acquisition
Claudio Girelli Università degli studi di Verona Roma 29 ottobre 2008
Prof. Tozzi Gabriele – ITIS G. Marconi - Verona
Amplificatori Operazionali-1
1. Sistema di comunicazione
MASOERO FEDERICA Progetto web cooperativo:
Come preparare la tesi di laurea
CAMPIONAMENTO (CENNI) Marina Ruggieri, Ernestina Cianca, Modulo di Elaborazione dei Segnali (Colleferro), Nuovo Ordinamento, aa
Esperimentazioni di Fisica 2 a.a. 2008/09
Lantialiasing nelle schede video Metodi e tecniche di correzione.
Computer Graphics Marco Tarini Lezione 7: rasterizzazione la fabbrica dei frammenti Università dellInsubria Facoltà di Scienze MFN - Varese Corso di Laurea.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Fonti di finanziamento della ricerca: nessuna
Strumentazione per bioimmagini
QuOnto: Driver per SQLite e Derby e test su database di dimensione crescente A cura di: Francesco Menniti.
STRATEGIE DI ACQUISIZIONE DELLE FORNITURE ICT Paolo Atzeni Dipartimento di Informatica e Automazione Università Roma Tre 02/12/2008 (materiale da: Manuali.
BPR: BUSINESS PROCESS REENGINEERING
il laboratorio del gioco ☺animazione ☺ ricerca/azione ☺ apprendimento
Dal tempo continuo al tempo discreto
La conversione analogico-digitale, campionamento e quantizzazione
Laboratorio di El&Tel Elaborazione numerica dei segnali: analisi delle caratteristiche dei segnali ed operazioni su di essi Mauro Biagi.
1 Esempio : Utile per considerare limportanza delle ALTE FREQUENZE nella ricostruzione del segnale, in particolare dei FRONTI di SALITA e di DISCESA (trailing.
architettura dei sistemi informatici
ADSL VOIP Voice Over IP.
Limiti al trasferimento di informazione u Il tempo necessario per trasmettere dellinformazione dipende da: –la velocita di segnalazione (cioe quanto velocemente.
Texturing - Tessiture Daniele Marini.
1 Effetti impressionistici Daniele Marini. 2 Tecniche discrete di manipolazione del frame buffer: –Texture mapping –Antialiasing –Compositing –Alpha blending.
Campionamento e ricostruzione di segnali SEZIONE 7
Infomatica Grafica a.a DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.
14 giugno 2011 Rasterizzazione Prof. Roberto Pirrone.
Udine, 15 maggio giuseppina trifiletti Tre lezioni per indagare sul mistero di MATERIA ENERGIA INFORMAZIONE.
Moodle International Conference Roma -21/22 ottobre Moodle come strumento per il Combat Teaching Tommasi Marco Università degli Studi di Udine.
DINAMICA DEMOGRAFICA 2007 Popolazione residente al : abitanti (popolazione legale validata da parte ISTAT)
Comune di Saluggia Bilancio di Previsione COMUNE DI SALUGGIA IL BILANCIO DI PREVISIONE 2008.
GRANDEZZE ANALOGICHE E DIGITALI
Scienza Industria Tecnologia S.I.T. srl Novembre 2008
Appunti di Storia di Olbia
Effetti fotorealistici
Daniele Marini, Maurizio Rossi
Texturing - Tessiture Daniele Marini.
Le ombre proiettate Daniele Marini.
Programmazione grafica 1
Superfici nascoste Daniele Marini.
1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati.
Corso Di Programmazione Grafica aa 2007/2008
Texturing Daniele Marini Corso Di Programmazione Grafica aa2007/2008.
Antialiasing tratto da: Han-Wei Shen.
Corso di Programmazione Grafica e Laboratorio Daniele Marini
Architettura di OGL e pipe-line Daniele Marini Corso Di Programmazione Grafica.
1 Ottimizzazione della scena Daniele Marini. 2 Esigenze del RT rendering maggiori frame /sec risoluzione più alta oggetti più accurati e realistici.
Ottimizzazione della scena Daniele Marini. Esigenze del RT rendering maggiori frame /sec risoluzione più alta oggetti più accurati e realistici 2 Programmazione.
Display list e picking Daniele Marini Corso Di Programmazione Grafica e Laboratorio.
Ombre e riflessioni in tempo reale Daniele Marini Parzialmente tratte de: Haines-M ö ller Corso di Programmazione Grafica aa2006/2007.
1 Ottimizzazione della scena Daniele Marini. 2 Esigenze del RT rendering maggiori frame /sec risoluzione più alta oggetti più accurati e realistici.
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.
Antialiasing parzialmente tratto da: Han-Wei Shen Daniele Marini Corso Di Programmazione Grafica aa2005/2006.
Antialiasing parzialmente tratto da: Han-Wei Shen
Corso di Programmazione Grafica e Laboratorio Prof. Daniele Marini.
Controllare le proiezioni Daniele Marini Corso Di Programmazione Grafica aa 2007/2008.
Informazioni e dati A. Ferrari. Informazione automatica Informatica deriva dalla contrazione di altri due termini: informazione e automatica e sta a significare.
a cura di maurizio tiriticco
Visione e Percezione Matlab Filtri Lineari Operazioni su immagini Piramidi Gaussiane Esercitazione 4 Maggio.
Elaborazione e trasmissione delle immagini Anno Accademico Esercitazione n.4 Pisa, 20/10/2004.
Bit singolo e burst u un canale che trasmette voce tollera bene gli errori distribuiti uniformemente –perche’ errori singoli hanno effetti simili al rumore.
Transcript della presentazione:

Antialiasing parzialmente tratto da: Han-Wei Shen Daniele Marini Corso Di Programmazione Grafica aa2007/2008

Programmazione Grafica aa2007/20082 Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e frequenza di campionamento –aliasing c’è ovunque in computer graphics poichè il rendering è un processo di campionamento –Esempi: linee a dente di sega (jagged lines) false tramature di texture (moirée)

Programmazione Grafica aa2007/20083 Aliasing spaziale di linee e di texture Osserviamo aliasing sia su singole linee o bordi (denti di sega) sia su texture (moirée)

Programmazione Grafica aa2007/20084 Aliasing temporale Si osserva aliasing anche in sequenze di immagini:

Programmazione Grafica aa2007/20085 Il rendering è un processo di campionamento

Programmazione Grafica aa2007/20086 Il rendering è un processo di campionamento rendere una curva

Programmazione Grafica aa2007/20087 Veloce rassegna di campionamento di segnali Due passi nella rappresentazione digitale di un segnale: campionamento e ricostruzione –Campionamento: da segnale continuo a campioni discreti –Ricostruzione: dai valori discreti al segnale continuo Aliasing può derivare da entrambi i passaggi

Programmazione Grafica aa2007/20088 Alias provocato da sotto- campionamento una ruota sembra girare in senso inverso Osserva solo a 1/4 della frequenza problema di sotto campionamento

Programmazione Grafica aa2007/20089 Alias provocato da sotto- campionamento segnale 1D segnale effettivo segnale campionato

Programmazione Grafica aa2007/ Alias provocato da sotto- campionamento segnale 2d: moirée aliasing moderato aliasing più forte

Programmazione Grafica aa2007/ Alias e spettro Si può comprendere il fenomeno dell’aliasing considerando che lo spettro di un segnale a supporto finito si ripete periodicamente Se la frequenza di campionamento è inferiore alla frequenza massima del segnale queste ripetizioni si sovrappongono nelle code

Programmazione Grafica aa2007/ Se aumentiamo la frequenza di campionamento? f=1 rpm 1 campione per rivoluzione 1 < campione/rivoluzione < 2 2 campioni/rivoluzione > 2 campioni/rivoluzione

Programmazione Grafica aa2007/ Quanto basta? qual’è la giusta frequenza di campionamento? teorema del campionamento (o limite di Nyquist) - la frequenza di campionamento deve essere almeno doppia della massima frequenza del segnale due campioni in questo periodo

Programmazione Grafica aa2007/ Si può evitare totalmente aliasing Dato il limite di Nyquist ? In realtà no – la frequenza massima potrebbe essere infinita, segnale non limitato in banda La maggior parte delle scene grafiche non sono bandlimited: bordi netti non possono mai venire campionati correttamente in modo digitale (point sampling) Come si può correggere o limitare l’aliasing?

Programmazione Grafica aa2007/ Ricostruzione Dopo aver campionato (idealmente) in modo corretto, dobbiamo ricostruire il segnale continuo Si procede usando filtri di ricostruzione

Programmazione Grafica aa2007/ Alcuni filtri di ricostruzione Filtri più comuni: Box - Interpolazione Nearest neighbour Filtro a tenda Interpolazione lineare

Programmazione Grafica aa2007/ Alcuni filtri di ricostruzione Interpolazione bicubica

Programmazione Grafica aa2007/ Box Molto semplice ma non molto buono

Programmazione Grafica aa2007/ Filtro triangolare Basato su interpolazione lineare. Migliore ma ancora non smooth 32x32 Nearest neighbor Lineare

Programmazione Grafica aa2007/ Bicubico Filtro passa basso ideale: nearestneighbor lineare bicubica

Programmazione Grafica aa2007/ Ricampionamento Supponiamo che i campioni siano a intervalli unitari: 0,1,2,3,4,… Ricampionare in modo che la loro distanza valga a –a < 1 produce magnification –a >1 produce minification

Programmazione Grafica aa2007/ Ri-campionamento Minification e Magnification – ricampiona il segnale a risoluzioni diverse Magnification Minification (in questo caso la minificazione è stata fatta male)

Programmazione Grafica aa2007/ Magnification facile da usare, ricampiona in modo semplice il segnale da ricostruire Segnale ricostruito Ricampionamento a frequenza doppia del segnale ricostruito

Programmazione Grafica aa2007/ Minification Raddoppiamo la distanza tra i campioni Si ha un effetto di sfocatura

Programmazione Grafica aa2007/ Minification Più difficile La frequenza del segnale è troppo alta per evitare aliasing Soluzioni possibili: –Accresci l’ampiezza del filtro passa basso del filtro ideale sinc - sfoca l’immagine –Prima sfoca l’immagine (con qualunque metodo), poi ricampionala

Programmazione Grafica aa2007/ Tecniche di Antialiasing in tempo reale Tecniche pratiche usate in hardware grafico Lavorano nello spazio schermo

Programmazione Grafica aa2007/ Algoritmi basati su spazio schermo Approccio comune: campiona più fittamente la scena e calcola la media (sovracampionamento) È più difficile: i bordi hanno infinite frequenze idea risultato

Programmazione Grafica aa2007/ Differenti schemi di sovracampionamento Formula comune: c(i,x,y): colore del campione i per pixel(x,y) ; w i : peso Diversi schemi di sovracampionamento

Programmazione Grafica aa2007/ Campionamento perturbato (Jittered) Il campionamento regolare non può eliminare l’aliasing, può solo ridurlo! Perché ? Poiché i bordi richiedono la presenza di alte frequenze infinite –Questo dà anche luogo a oscilazioni ai bordi Jittering rimpiazza l’aliasing con rumore Si usa nel ray tracing Esempio:

Programmazione Grafica aa2007/ Tecniche di multicampionamneto con A-buffer Prende >1 campione / pixel, suddivide la computazione tra campioni entro il pixel –Lighting –Texturing Fattori di forza: aliasing dei bordi e accurato trattamento della trasparenza

Programmazione Grafica aa2007/ A-buffer Per trattare meglio i bordi si usa una maschera di ricoprimento per pixel La maschera di ricoprimento, la profondità e il colore costituiscono un fragment Durante il rendering i fragment possono esser scartati quando necessario (test di profondità) Quando tutti i poligoni sono stati resi, i fragment vengono fusi in un solo colore visibile –Costa in memoria!

Programmazione Grafica aa2007/ Multicampionamento: Quincunx Genera 2 campioni per pixel w 1 =0.5, w 2 =0.125, w 3 =0.125, w 4 =0.125, w 5 =0.125 (filtro triangolare 2D ) Il campione centrale viene sovrapesato (pixel di centro= 0.5, pixel d’angolo = 4*0.125=0.5)

Programmazione Grafica aa2007/ Quincunx Fatti prestare qualcosa dal vicino Qualità comparabile al metodo 4x a metà del costo

Programmazione Grafica aa2007/ FLIPQUAD Pesi: 0.25 per campione Si comporta meglio di Quincunx

Programmazione Grafica aa2007/ FSAA (full screen anti-aliasing) Rendi la scena a una risoluzione molto più alta poi fanne la media Nvidia GeForce 2: usa ordered grid supersampling (OGSS) 3dfx voodo 5: rotated grid supersampling (RGSS) – elimina meglio alias 2x or 4x: numero di subpixels per ciascun pixel Costoso: l’intera scena può dover essere resa più volte! OGSS RGSS

Programmazione Grafica aa2007/ Multisampling AA Nvidia GeForce3 – per accrescere performance 2x RGSS e 4x OGSS Non si inviano più texture per subpixels – usa la stessa texture di colore per i subpixels Usata solo sui pixel di contorno – GPU ha più intelligenza (è la maggiore differenza dal sovra campionamento)

Programmazione Grafica aa2007/ Confronto 4X - Quincunx 4X FSAA 4X Quincunx

Programmazione Grafica aa2007/ Jittering: ATI - SMOOTHVISION TM usa un pattern di campionamento jittered Ogni pixel ha (2x, 4x, 8x) locazioni di campionamneto alternative pre- programmate, jittered. Pseudo-random-look (La visione umana è meno sensibile a configurazioni di campionamento casuali) Possibili locazioni per SMOOTHVISION 4x

Programmazione Grafica aa2007/ ATI - SMOOTHVISION TM Quake3 screen shot 4x multi-sampling SMOOTHVISION™ 2x High-Quality mode