Antialiasing
Da Wikipedia, l'enciclopedia libera.
L' antialiasing (delle volte abbraviato con AA) è una tecnica per ridurre l'effetto aliasing (scalettamento) quando un segnale ad alta risoluzione viene mostrato a bassa risoluzione. L'antialiasing ammorbidisce le linee smussando i bordi e omogeneizzando l'immagine.
Indice |
[modifica] Formazione dell'effetto alias
Le schede video lavorano con triangoli e linee che, per essere mostrati, devono essere campionati (sampling). Questa è la fase dove vengono stabiliti i colori dei singoli pixel e che purtroppo produce le scalinature tra gli oggetti finali. Durante la campionatura al pixel viene assegnato un solo colore prendendo come riferimento il suo centro; se un pixel appartiene ad una linea che delimita due campi, anche in questo caso prevale il colore del campo a cui appartiene il centro del pixel. Per questo motivo su linee oblique, zone con alta differenza di colore o sui bordi netti si forma l'effetto alias.
Per questo nella maggior parte dei casi, (generalmente a livello hardware) l'immagine viene campionata come se invece di un singolo pixel ce ne siano di più e al pixel finale viene assegnato il colore medio (supersampling). L'attivazione dell'effetto così chiamato Antialiasing nei videogiochi comporta però (nella maggioranza dei casi) ad una diminuzione del frame rate sviluppato dalla scheda video, proprio a causa della grande quantità di dati che quest'ultima si trova a gestire.
[modifica] Tipi di anti-aliasing
[modifica] AA spaziale
[modifica] Supersampling
Il supersampling è forse il metodo più usato. Ogni pixel viene suddiviso in più pixel che hanno un colore indipendente. Per calcolare il colore finale dei pixel viene fatta una "media" di tutti i pixel, generalmente dando una maggiore importanza ai pixel centrali. La maschera dei subpixel è l'insieme dei "frammenti" di pixel. Un ottima maschera è di 4x4px (16 subpx) anche se paga in prestazioni rispetto alle più veloci 2x2 o 3x3px.
[modifica] Polygon filtering
Con il polygon filtering vengono smussati i bordi dei poligoni lasciando però inalterata la parte interna. L'effetto alias viene eliminato tramite un filtro di bilanciamento dei colori: se due (o più) poligoni giacciono sullo stesso pixel, il colore del pixel viene determinato in base ai colori dei poligoni. Per esempio, se su un pixel ci sono due poligoni di colori diversi p1 che copre 2/3 e p2 che copre il restante terzo, il colore del pixel sarà uguale al bilanciamento dei due colori, tenendo conto che la "forza" del colore di p1 sarà doppia rispetto a quella di p2.
[modifica] Temporal antialiasing
Nelle schede video ATI Radeon X o superiori, la maschera di applicazione dell'antialiasing può essere ruotata di 180° ad ogni singolo frame, raddoppiando la quantità di filtraggio senza intaccare le prestazioni. Questo effetto può funzionare solo se gli FPS superano la frequenza di refresh del monitor.
[modifica] Gamma corrected antialiasing
Questa tecnica di antialiasing è utlizzata dalle schede video moderne per eliminare l'effetto aliasing non solo dai contorni poligonali, ma anche dalle texture ricche di trasparenze (recinzioni, staccionate, cancelli) dove altrimenti il filtro non potrebbe agire, smussando i contorni delle aree di colore contrastanti.