Pergunta

esperamos uma questão sensível desta vez ...

Veja na foto como a metade superior tem as texturas procurando ok, mas, em seguida, a metade inferior (depois de rodado um pouco mais) a textura está se separando, e você pode ver o interior da forma? os polígonos têm dissappaered?

O que é este problema chamado? Eu preciso saber, então eu sei o que procurar quando corrigi-lo!

Aliás, eu estou fazendo isso em Papervision. Se você por acaso sabe a correção (ou se é possível), vou dar-lhe permissão para se sentir bem adicional sobre si mesmo se você pode me apontar na direção certa.

O que é isso chamado?

montes, Obrigado!

Foi útil?

Solução

Nós o chamamos de "z de combate" - mas um termo mais comum é z-ordenação ou z-buffer problemas

.

Vou tentar explicar o problema sem diagramas 1º.

3D renderizadores trabalho desenhando os polígonos de trás para frente. Ele faz isso através da atribuição de cada polígono para um de um número discreto de posições. Isso funciona para a maioria das cenas.

Você tem um problema quando não existirem vagas o suficiente para ser capaz de decidir qual polígono é na frente de outro.

Para resolvê-lo - isso vai depender da sua aplicação, mas há uma série de coisas que devem ser comuns a todos:

  1. Verifique se a caixa delimitadora do mundo é tão pequeno quanto possível.
  2. Aumentar a profundidade de cor de seu monitor. Ambos OpenGL e Direct3D pode amarrar o número de slots z para a resolução da tela.
  3. Aumentar o número / diminuir o tamanho de seus triângulos. triângulos menores vão ser menos afetados por isso -., mas vai diminuir o desempenho, pois há mais de desenhar

Se você estiver executando no Windows, você deve definir a área de trabalho para a resolução de cor mais alta. Você aplicativo pode pegar isso como padrão para uso.

Você pode alternar entre OpenGL e Direct3D prestação? Se sim, então tente tanto, pode dar resultados melhores do que o outro.

Outras dicas

Parece ser um problema de buffer Z, de alguma forma. Eu não estou familiarizado com o que você está usando lá, embora, então eu provavelmente não pode realmente ajuda.

Parece-me mais como um decalque que deu errado em vez de z de combate. Z de combate geralmente tem algumas bordas irregulares. A matriz de projeção para esse triângulo particular pode estar errado (considerando que a extensão do problema depende da posição da câmera).

É chamado linear mapeamento , é uma forma de mapear as texturas no polígono. Mas este método não é perspectiva corrigido, o que leva a texturas quebrados em ângulos extremos.

Mapeamento Linear Perspectiva mapeamento textura corrigida

o mapeamento de textura linear (para cima) e perspectiva corrigido mapeamento de textura (para baixo).

A única solução é adicionar mais polígonos, que vai bater performance (Veja este demo).

Você tem várias texturas e / ou polígonos Overlayed?

A partir daqui, parece que o problema que você começa quando você tem superfícies exatamente coincidentes, mas os erros de ponto flutuante significa que você não vê de forma consistente o caminho certo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top