Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoErnesta Mereu Modificato 10 anni fa
1
Antialiasing parzialmente tratto da: Han-Wei Shen Daniele Marini Corso Di Programmazione Grafica aa2007/2008
2
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)
3
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)
4
Programmazione Grafica aa2007/20084 Aliasing temporale Si osserva aliasing anche in sequenze di immagini:
5
Programmazione Grafica aa2007/20085 Il rendering è un processo di campionamento
6
Programmazione Grafica aa2007/20086 Il rendering è un processo di campionamento rendere una curva
7
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
8
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
9
Programmazione Grafica aa2007/20089 Alias provocato da sotto- campionamento segnale 1D segnale effettivo segnale campionato
10
Programmazione Grafica aa2007/200810 Alias provocato da sotto- campionamento segnale 2d: moirée aliasing moderato aliasing più forte
11
Programmazione Grafica aa2007/200811 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
12
Programmazione Grafica aa2007/200812 Se aumentiamo la frequenza di campionamento? f=1 rpm 1 campione per rivoluzione 1 < campione/rivoluzione < 2 2 campioni/rivoluzione > 2 campioni/rivoluzione
13
Programmazione Grafica aa2007/200813 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
14
Programmazione Grafica aa2007/200814 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?
15
Programmazione Grafica aa2007/200815 Ricostruzione Dopo aver campionato (idealmente) in modo corretto, dobbiamo ricostruire il segnale continuo Si procede usando filtri di ricostruzione
16
Programmazione Grafica aa2007/200816 Alcuni filtri di ricostruzione Filtri più comuni: Box - Interpolazione Nearest neighbour Filtro a tenda Interpolazione lineare
17
Programmazione Grafica aa2007/200817 Alcuni filtri di ricostruzione Interpolazione bicubica
18
Programmazione Grafica aa2007/200818 Box Molto semplice ma non molto buono
19
Programmazione Grafica aa2007/200819 Filtro triangolare Basato su interpolazione lineare. Migliore ma ancora non smooth 32x32 Nearest neighbor Lineare
20
Programmazione Grafica aa2007/200820 Bicubico Filtro passa basso ideale: nearestneighbor lineare bicubica
21
Programmazione Grafica aa2007/200821 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
22
Programmazione Grafica aa2007/200822 Ri-campionamento Minification e Magnification – ricampiona il segnale a risoluzioni diverse Magnification Minification (in questo caso la minificazione è stata fatta male)
23
Programmazione Grafica aa2007/200823 Magnification facile da usare, ricampiona in modo semplice il segnale da ricostruire Segnale ricostruito Ricampionamento a frequenza doppia del segnale ricostruito
24
Programmazione Grafica aa2007/200824 Minification Raddoppiamo la distanza tra i campioni Si ha un effetto di sfocatura
25
Programmazione Grafica aa2007/200825 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
26
Programmazione Grafica aa2007/200826 Tecniche di Antialiasing in tempo reale Tecniche pratiche usate in hardware grafico Lavorano nello spazio schermo
27
Programmazione Grafica aa2007/200827 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
28
Programmazione Grafica aa2007/200828 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
29
Programmazione Grafica aa2007/200829 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:
30
Programmazione Grafica aa2007/200830 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
31
Programmazione Grafica aa2007/200831 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!
32
Programmazione Grafica aa2007/200832 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)
33
Programmazione Grafica aa2007/200833 Quincunx Fatti prestare qualcosa dal vicino Qualità comparabile al metodo 4x a metà del costo
34
Programmazione Grafica aa2007/200834 FLIPQUAD Pesi: 0.25 per campione Si comporta meglio di Quincunx
35
Programmazione Grafica aa2007/200835 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
36
Programmazione Grafica aa2007/200836 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)
37
Programmazione Grafica aa2007/200837 Confronto 4X - Quincunx 4X FSAA 4X Quincunx
38
Programmazione Grafica aa2007/200838 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
39
Programmazione Grafica aa2007/200839 ATI - SMOOTHVISION TM Quake3 screen shot 4x multi-sampling SMOOTHVISION™ 2x High-Quality mode
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.