Texture Filtering
9/8/2008
Mobile ® Direct3D When Microsoft ® processa um primitivo, ele mapeia o primitivo 3-d até um Tela 2-D. Se o primitivo tiver uma textura, Mobile Direct3D deve usar que textura para gerar uma cor para cada pixel no primitivo é do tipo 2D processar imagem. Para cada pixel do primitivo na tela imagem, ela deve obtenha a textura um valor cor. Esse processo é chamado filtragem textura.
Quando uma operação filtro de textura é executada, a textura sendo usada é geralmente também que está sendo ampliada ou minified. Em outras palavras, ele está sendo mapeado em uma imagem primitivo que seja maior ou menor de si mesmo. Ampliação de uma textura pode resultar em muitos pixels que está sendo mapeados para um Texel. O resultado pode ser uma aparência grossas. Minification de uma textura geralmente significa que um único pixel é mapeado para muitas texels. A imagem resultante pode ser manchada ou alias. Para resolver esses problemas, alguns misturando das cores Texel devem ser executados para chegar uma cor para o pixel.
Mobile Direct3D simplifica o processo complexo de filtragem textura. Ele fornece três tipos de filtragem textura — linear filtragem, anisotropic a filtragem e mipmap filtragem. Se você não selecionar filtragem nenhuma textura, Direct3D Mobile usa uma técnica chamado mais próximo-amostragem apontar.
Cada tipo de textura filtragem tem vantagens e desvantagens. Para instância, a filtragem de textura linear pode gerar denteado bordas ou uma aparência Chunky na imagem final. No entanto, é um pouco computationally-sobrecarga método de filtragem textura. A filtragem com mipmaps geralmente produz os melhores resultados, principalmente quando combinado com filtragem anisotropic. No entanto, ela requer a maioria dos memória das técnicas que suporta Direct3D Mobile.
Aplicativos que use textura interface ponteiros devem definir o atual Texturizar método de filtragem, chamado de IDirect3DMobileDevice::SetTextureStageState método. Defina o valor do primeiro parâmetro como a número de índice inteiro (0-7) de textura para o qual você está selecionando uma textura filtragem método. Passar um do D3DMTEXTURESTAGESTATETYPE enumeração valores D3DMTSS_MAGFILTER, D3DMTSS_MINFILTER ou D3DMTSS_MIPFILTER para o segundo parâmetro para definir o filtro de ampliação, minification ou mipmapping. Passar um membro das D3DMTEXTUREFILTERTYPE tipo enumerado como o valor no terceiro parâmetro para definir o filtro de ampliação, minification ou mipmapping.
O seguinte tópicos apresentam a textura filtragem métodos que Direct3D Mobile oferece suporte.
Textura a filtragem com Mipmaps
Observação
Embora a processar Texture-Filtering estados presente na D3DMRENDERSTATETYPE tipo enumerado são substituídos por estados do estágio de textura, o IDirect3DMobileDevice::SetRenderState chamar não falha se você tentar usá-los.Em vez disso, o sistema mapeia os efeitos desses processar estados para o primeiro estágio na em cascata multitexture, estágio 0.Aplicativos não devem mixar o herdado estados processar com seus correspondente Texturizar estados do estágio, assim como os resultados imprevisíveis ocorrer.