Compartilhar via


Filtragem de textura

A filtragem de textura produz uma cor para cada pixel na imagem renderizada em 2D do primitivo quando um primitivo é renderizado mapeando um primitivo 3D em uma tela 2D.

Quando o Direct3D renderiza um primitivo, ele mapeia o primitivo 3D em uma tela 2D. Se o primitivo tiver uma textura, o Direct3D deverá usar essa textura para produzir uma cor para cada pixel na imagem renderizada em 2D do primitivo. Para cada pixel na imagem na tela do primitivo, ele deve obter um valor de cor da textura. Esse processo é chamado de filtragem de textura.

Quando uma operação de filtro de textura é executada, a textura que está sendo usada normalmente também está sendo ampliada ou reduzida. Em outras palavras, ele está sendo mapeado em uma imagem primitiva que é maior ou menor do que ele mesmo. A ampliação de uma textura pode resultar em muitos pixels sendo mapeados para um texel. O resultado pode ser uma aparência robusta. A minificação de uma textura geralmente significa que um único pixel é mapeado para muitos texels. A imagem resultante pode ficar borrada ou com serrilhado. Para resolver esses problemas, alguma combinação das cores do texel deve ser executada para chegar a uma cor para o pixel.

O Direct3D simplifica o complexo processo de filtragem de textura. Ele fornece três tipos de filtragem de textura - filtragem linear, filtragem anisotrópica e filtragem mipmap. Se você não selecionar nenhuma filtragem de textura, o Direct3D usará uma técnica chamada amostragem de ponto mais próximo.

Cada tipo de filtragem de textura tem vantagens e desvantagens. Por exemplo, a filtragem de textura linear pode produzir bordas irregulares ou uma aparência robusta na imagem final. No entanto, é um método computacionalmente baixo de sobrecarga de filtragem de textura. A filtragem com mipmaps geralmente produz os melhores resultados, especialmente quando combinada com filtragem anisotrópica. No entanto, ele requer a maior parte da memória das técnicas compatíveis com o Direct3D.

Tipos de filtragem de textura

O Direct3D dá suporte às seguintes abordagens de filtragem de textura.

Nesta seção

Tópico Descrição

Amostragem do ponto mais próximo

Os aplicativos não são necessários para usar a filtragem de textura. O Direct3D pode ser definido para calcular o endereço texel, que geralmente não é avaliado como inteiros, e copia a cor do texel com o endereço inteiro mais próximo. Esse processo é chamado de amostragem do ponto mais próximo.

Filtragem de textura bilinear

A filtragem bilinear calcula a média ponderada dos 4 texels mais próximos do ponto de amostragem. Essa abordagem de filtragem é mais precisa e comum do que a filtragem de ponto mais próximo. Essa abordagem é eficiente porque é implementada em hardware gráfico moderno.

Filtragem de textura anisotrópica

Anisotropia é visível no texels a distorção de um objeto 3D cujo superfície é orientada com um ângulo em relação ao plano da tela. Quando um pixel de uma primitiva anisotrópica é mapeado para texels, sua forma é distorcida.

Filtragem de textura com mipmaps

Um mipmap é uma sequência de texturas, cada uma das quais é uma representação de resolução progressivamente mais baixa da mesma imagem. A altura e a largura de cada imagem, ou nível, no mipmap são uma potência de dois menor que o nível anterior.

 

Texturas