Compartilhar via


Filtragem de textura anisotrópica (Direct3D 9)

A distorção visível nos texels de um objeto 3D cuja superfície é orientada em um ângulo em relação ao plano da tela é chamada de anisotropia. Quando um pixel de uma primitiva anisotrópica é mapeado para texels, sua forma é distorcida. O Direct3D mede a anisotropia de um pixel como o prolongamento - ou seja, comprimento dividido pela largura - de um pixel de tela é mapeado inverso no espaço de textura.

Você pode usar a filtragem de textura anisotrópica em conjunto com filtragem de textura linear ou a filtragem de textura mipmap para melhorar os resultados da renderização. Seu aplicativo habilita a filtragem de textura anisotrópica chamando o método IDirect3DDevice9::SetSamplerState . Defina o valor do primeiro parâmetro como o número de índice inteiro (0-7) da textura para a qual você está selecionando um método de filtragem de textura. Passe D3DSAMP_MAGFILTER, D3DSAMP_MINFILTER ou D3DSAMP_MIPFILTER para o segundo parâmetro para definir o filtro de ampliação, minificação ou mipmapping. Defina o terceiro parâmetro como D3DTEXF_ANISOTROPIC.

Seu aplicativo também deve definir o grau de anisotropia para um valor maior que um. Faça isso chamando o método IDirect3DDevice9::SetSamplerState . Defina o valor do primeiro parâmetro como o número de índice inteiro (0-7) da textura para a qual você está definindo o grau de isotropia. Passe D3DSAMP_MAXANISOTROPY como o valor do segundo parâmetro. O parâmetro final deve ser o grau de isotropia.

Você pode desabilitar a filtragem isotrópica definindo o grau de isotropia como um; qualquer valor maior que um o habilita. Verifique o sinalizador MaxAnisotropy na estrutura D3DCAPS9 para determinar o possível intervalo de valores para o grau de anisotropia.

Filtragem de textura