Condividi tramite


Filtro della texture

Il filtraggio della texture produce un colore per ogni pixel nell'immagine sottoposta a rendering 2D della primitiva quando viene eseguito il rendering di una primitiva 3D su una schermata 2D.

Quando Direct3D esegue il rendering di una primitiva, esegue il mapping della primitiva 3D a uno schermo 2D. Se la primitiva ha una texture, Direct3D deve usarla per produrre un colore per ogni pixel nell'immagine di rendering 2D della primitiva. Per ogni pixel nell'immagine sullo schermo della primitiva, deve ottenere un valore di colore dalla texture. Questo processo è denominato Filtraggio della texture.

Quando viene eseguita un'operazione di filtro delle texture, quella usata viene in genere anche ingrandita o minimizzata. In altre parole, viene eseguito il mapping in un'immagine primitiva più grande o più piccola di se stessa. L'ingrandimento di una texture può comportare il mapping di molti pixel a un texel. Il risultato può essere un aspetto in blocchi. La minimizzazione di una texture spesso significa che un singolo pixel viene mappato a molti texel. L'immagine risultante può essere sfocata o con alias. Per risolvere questi problemi, è necessario eseguire alcune combinazioni dei colori del texel per arrivare a un colore per il pixel.

Direct3D semplifica il processo complesso di filtro delle texture. Offre tre tipi di filtro delle texture: filtro lineare, filtro anisotropico e filtro mipmap. Se non si seleziona alcun filtro delle texture, Direct3D usa una tecnica denominata campionamento del punto più vicino.

Ogni tipo di filtraggio delle texture presenta vantaggi e svantaggi. Ad esempio, il filtro lineare delle texture può produrre bordi frastagliati o un aspetto in blocchi nell'immagine finale. Tuttavia, si tratta di un metodo di filtraggio delle texture a basso sovraccarico di calcolo. L'applicazione di filtri con mipmap produce in genere i risultati migliori, soprattutto se combinati con filtri anisotropici. Tuttavia, richiede la maggior parte della memoria delle tecniche supportate da Direct3D.

Tipi di filtraggio della texture

Direct3D supporta gli approcci di filtraggio delle texture seguenti.

In questa sezione

Argomento Descrizione

Campionamento del punto più vicino

Le applicazioni non sono necessarie per usare il filtraggio delle texture. Direct3D può essere impostato in modo che calcoli l'indirizzo del texel, che spesso non restituisce numeri interi e copia il colore del texel con l'indirizzo del numero intero più vicino. Questo processo viene denominato campionamento del punto più vicino.

Filtraggio bilineare delle texture

Il filtro bilineare calcola la media ponderata dei 4 texel più vicini al punto di campionamento. Questo approccio al filtro è più accurato e comune rispetto al filtro del punto più vicino. Questo approccio è efficiente perché viene implementato nell'hardware grafico moderno.

Filtraggio anisotropo delle texture

L'anisotropia è la distorsione visibile nei texel di un oggetto 3D la cui superficie è orientata a un angolo rispetto al piano dello schermo. Quando si esegue il mapping di un pixel da una primitiva anisotropica ai texel, la sua forma viene distorta.

Filtraggio delle texture con mipmap

Un mipmap è una sequenza di texture, ognuna delle quali è una rappresentazione progressivamente più bassa della stessa immagine. L'altezza e la larghezza di ogni immagine, o livello, nella mipmap è una potenza di due dimensioni inferiori al livello precedente.

 

Texture