Qual é o efeito gráfico que ocorre nas texturas distantes não mapeadas?


18

Todos nós sabemos sobre o mapeamento mip . Reduz a qualidade da textura quando uma textura está mais distante.

Sem o mapeamento mip, uma textura parece "piscar", como o topo da montanha aqui:

insira a descrição da imagem aqui

Existe algum nome específico para isso?

Quero escrever uma frase como "Apliquei o mapeamento mip para resolver o efeito ___" ou "Isso é conhecido como ___ e ocorre quando o mapeamento mip não é usado".


2
Adicionando uma imagem do que você está falando iria melhorar muito a questão :)
Vaillancourt

@AlexandreVaillancourt Obrigado pela sugestão - Adicionado. :)
joehot200

Respostas:


20

O que você está procurando é um alias. É um pouco diferente do aliasing de arestas 3D rígidas desenhadas na tela. Ambos vêm renderizando pixels muito estritamente, com uma cor ou outra. Os métodos de suavização de borda, como o mapeamento mip, apenas ajudam a desfocar as bordas, para que as cores intermediárias sejam renderizadas. Isso pode ser aplicado a texturas únicas, mas também a toda a tela.

Observe, no entanto, que o mapeamento mip não é a única solução para isso. Você também pode usar outros algoritmos de interpolação processual.


3
"Desfocar as bordas" não é uma boa maneira de descrever o que acontece. Esse tipo de antialiasing é sobre o uso de mais amostras da textura original para determinar a cor de cada pixel. Como os mapas mip são cópias menores da textura original, coletar uma única amostra de um mapa mip é como coletar várias amostras da textura original. Também vale a pena notar que os mapas mip são apenas uma otimização para o desempenho da renderização. Você pode obter o mesmo efeito colhendo mais amostras da textura original ao renderizar.
Roger Dahl

@RogerDahl Eu nunca ouvi falar disso "tirando mais amostras da textura original" para substituir o mapeamento Mip. Como é chamado (para que eu possa pesquisar no Google)?
joehot200

3
@ joehot200: "Mip-mapping" é apenas uma otimização baseada em pré-cálculo para o downscaling adequado. Em geral, se você estiver redimensionando uma imagem de forma que um pixel de saída corresponda ao espaço coberto por N pixels na origem, será necessário usar pelo menos esses N pixels (e talvez mais) como entrada. Isto é obviamente computacionalmente caro. Por ter versões pré-calculadas da fonte nas escalas 2 ^ -k para cada valor razoável de k, você pode trapacear e ler essencialmente N pixels de uma só vez.
R ..

Claro que é realmente uma aproximação abaixo do ideal e produz alguns artefatos de alias. O que seria melhor do que ter versões em escala de 2 ^ -n pré-calculadas da textura de origem seria ter versões pré-calculadas com banda limitada ainda em dimensões completas. Isso permitiria uma amostragem correta, mas obviamente consumiria muito (provavelmente proibitivo) mais memória.
R ..

Eu sei que alguns jogos (especialmente os ligeiramente mais antigos) têm um controle deslizante chamado anti-aliasing. Tão auto-explicativo.
Daniel

14

4
@ joehot200 O que você quer dizer com "relacionado"? Alias ​​é precisamente o que o mipmapping resolve, entre outras coisas. Alias é o "efeito" que ocorre.
snake5

3
O termo "subamostragem" também aparece aqui, porque sua renderização está tirando muito poucas amostras da textura para capturar com precisão sua aparência média ao longo do espaço do pixel renderizado; portanto, pequenas alterações nos pontos de amostra (por exemplo, pequenos movimentos da câmera) resultam em muito valores de saída diferentes (cintilantes / cintilantes)
DMGregory

6

Existe algum nome específico para isso?

Essa cintilação de que você está falando é chamada neste caso de efeito / padrão moiré . É uma forma de aliasing espacial, como já mencionado em outras respostas. No entanto, o aliasing em si pode resultar em muito mais coisas do que apenas padrões moiré.


1

Eu ouvi o termo "popping and boiling" aplicado ao apelido que você está mostrando naquela montanha ao fundo. Não é um termo matemático, mas é descritivo. Portanto, seria o aliasing sobre o qual você escreveria seu artigo se quisesse inventar uma solução diferente para o problema e usá-la para obter dinheiro (subsídios, promoção acadêmica). "Estourar e ferver" pode ser o que você chamaria em uma demonstração (por dinheiro do VC).


0

Gostaria apenas de acrescentar que há outro efeito colateral de não usar o mapeamento mip: você não apenas obterá o hediondo hediondo (veja a teoria de Nyquist sobre o que está acontecendo), mas provavelmente também obterá uma redução no desempenho, já que os acessos de textura tornam-se incoerentes e debulham o sistema de memória / cache da sua GPU.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.