|
|
|
bilinear filtering
|
filtro bilineare
|
Un sistema per eliminare l'effetto mosaico dalle superfici degli oggetti
tridimensionali riprodotti a video dal computer. Offre una qualità abbastanza
elevata a fronte di un forte impegno di calcolo. Per ogni pixel sullo
schermo si calcola la media dei quattro pixel più prossimi nella texture
di riferimento. Il bilinear filtering è l'equivalente dell'antialiasing,
però applicato al texture map (motivo di riempimento). Anziché eliminare
la scalettatura di una linea, qui viene smussata la deliminazione tra
un pixel e l'altro calcolando una media pesata dei quattro pixel circostanti.
In questo modo l'immagine rimane abbastanza omogenea (benché un po' sfuocata)
anche quando l'utente esegue lo zoom del texture map di un'oggetto rappresentato
tridimensionalmente (un muro o una porta in un gioco di azione, ad esempio)
. In mancanza di questa tecnica si vedrebbero i quadratoni dei singoli
pixel e non si riconoscerebbe più lo scenario di cui si è fatto l'ingrandimento.
A questa funzione viene talvolta abbinato il posizionamento a livello
di sub-pixel o sub-texel (il texel è un pixel all'interno di un texture
map). Questo significa che il singolo pixel può essere posizionato al
di fuori dei confini fisici imposti dal pixel rappresentato a schermo,
magari a cavallo tra lo spazio di due pixel diversi, usando parte di entrambi
per creare il terzo. Nel rendering tridimensionale questo effetto rende
più realistica l'immagine ed elimina il movimento a scatti creando dei
punti di passaggio intermedi anziché dover saltare da un pixel all'altro
mentre l'immagine si muove. La tecnica viene utilizzata per correggere
l'effetto mosaico che può risultare dall'applicazione di texture (vedere
texture mapping) su oggetti 3D dalla forma complessa. E' un metodo che
richiede molta potenza di calcolo e può penalizzare sensibilmente le prestazioni
se non è svolto da un componente hardware dedicato. Vedi anche point sampling
e MIP Mapping . Il termine bilinear viene dall'operazione matematica chiamata
"interpolazione bilineare" che consiste nel prendere i due oggetti più
prossimi in orizzontale e in verticale (due dimensioni, da cui bilineare)
rispetto a un punto di riferimento e calcolarne la media così da ricavare
un singolo valore per il punto riferimento stesso. Nel rendering 3D si
prendono quattro texel che compongono la texture map e si calcola il valore
del pixel che dovrà essere rappresentato a schermo. Questo metodo viene
quasi sempre usato in abbinamento al MIP mapping e trova ulteriore perfezionamento
nel trilinear filtering.
|
Indietro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|