Condividi tramite


Filtro delle trame anisotropiche (Direct3D 9)

La distorsione visibile nei texel di un oggetto 3D la cui superficie è orientata ad un angolo rispetto al piano dello schermo è detta anisotropia. Quando un pixel di una primitiva anisotropica viene mappato sui texel, la sua forma è distorta. Direct3D misura l'anisotropia di un pixel come allungamento, ovvero la lunghezza divisa per larghezza, di un pixel dello schermo mappato inversamente nello spazio delle trame.

È possibile usare il filtro delle trame anisotropiche insieme al filtro delle trame lineare o al filtro delle trame mipmap per migliorare i risultati di rendering. L'applicazione abilita il filtro delle trame anisotropiche chiamando il metodo IDirect3DDevice9::SetSamplerState. Impostare il valore del primo parametro sul numero di indice intero (0-7) della trama per cui si sta selezionando un metodo di filtro trama. Passa D3DSAMP_MAGFILTER, D3DSAMP_MINFILTER o D3DSAMP_MIPFILTER come secondo parametro per impostare il filtro di ingrandimento, il filtro di riduzione o il filtro mipmapping. Impostare il terzo parametro su D3DTEXF_ANISOTROPIC.

L'applicazione deve anche impostare il grado di anisotropia su un valore maggiore di uno. A tale scopo, chiamare il metodo IDirect3DDevice9::SetSamplerState. Impostare il valore del primo parametro sul numero di indice intero (0-7) della trama per cui si imposta il grado di isotropia. Passare D3DSAMP_MAXANISOTROPY come valore del secondo parametro. Il parametro finale deve essere il grado di isotropia.

È possibile disabilitare il filtro isotropico impostando il grado di isotropia su uno; qualsiasi valore maggiore di uno lo abilita. Controllare il flag MaxAnisotropy nella struttura D3DCAPS9 per determinare l'intervallo di valori possibile per il grado di anisotropia.

Filtraggio delle texture