Saiba o que é e para o que serve o tão badalado Tessellation

#Artigo Publicado por Anônimo, em .

Directx 11 tessellation, o que é e para que serve

IMAGEaHR0cDovLzMuYnAuYmxvZ3Nwb3QuY29tL19mOVhiT3hvYlRSWS9TdzJ1YmFxaXVXSS9BQUFBQUFBQUFJWS9rd0tOWnlZa3ZlMC9zMzIwL2R4MTEuanBn

Com a recente badalação em torno do Directx 11, você provavelmente já ouviu falar muito sobre uma de suas maiores características novas, o tessellation. Como conceito, o tessellation não é bastante inovador, você apenas pega um polígono e o corta em pedaços menores. Mas porque que isto seria um grande negócio? E como se beneficiar dessa tecnologia em jogos? Neste artigo, vamos dar uma olhada na razão do porque do tessellation está trazendo profundas mudanças para gráficos 3D no PC, e como a NVIDIA ® GeForce ® GTX 400 GPUs série tessellation proporciona um desempenho inovador. Na sua forma mais básica, o tessellation é um método de decomposição de polígonos em pedaços menores. Por exemplo, se você pegar um quadrado e cortá-lo em diagonal, você irá "tesselar" este quadrado em dois triângulos. Por si só, o tessellation pouco faz para melhorar o realismo. Por exemplo, em um jogo, isso realmente não importa se um quadrado é processado como dois triângulos ou dois mil triângulos - O tessellation só melhora o realismo se novos triângulos são aproveitados para descrever novas informações.

IMAGEaHR0cDovL2ltZzk4LmltYWdlc2hhY2sudXMvaW1nOTgvMjIvdGVzc2VsbGF0aW9uLmpwZw==

A maneira mais simples e mais popular de se colocar triângulos novos é usar uma técnica chamada mapeamento de deslocamento (displacement mapping). Um mapeamento de deslocamento é uma textura que armazena informações da mais alta prioridade. Quando o aplicamos a uma superfície, ele permite que os vértices da superfície sejam deslocados para cima ou para baixo com base na informação da altura. Por exemplo, o artista gráfico pode pegar um bloco de mármore e deslocar os vértices para formar uma escultura. Outra técnica popular é aplicar os mapas de deslocamento sobre o terreno para esculpir as crateras, cânions e picos.

Como o tessellation, o mapeamento de deslocamento tem sido aperfeiçoado por um longo tempo, mas até recentemente, nunca realmente tinha sido utilizado. A razão é que para o mapeamento de deslocamento para ser eficaz, a superfície deve ser composta por um grande número de vértices. Vamos tomar o exemplo da escultura em mármore. Se o bloco de mármore for constituído de oito vértices, nenhuma quantidade de deslocamento relativo entre eles pode produzir a relíquia de um dragão. Uma relíquia detalhada pode ser formada apenas se houver suficientes vértices da base de malha para retratar a nova forma. Em essência o mapeamento de deslocamento necessita do tessellation, e vice-versa. Com o Directx 11, o tessellation e o mapeamento de deslocamento finalmente se unirão em uma união feliz, e como esperado, os desenvolvedores de jogos, o já estão utilizando. Jogos populares como Alien vs Predator e Metro 2.033 usam o tessellation para produzir modelos de aparência mais bem acabada, e desenvolvedores como Valve e id Software prometem que irão trabalhar para aplicar essas técnicas nos personagens de suas futuras franquias.

IMAGEaHR0cDovL3d3dy5zZWxlY3RnYW1lLmNvbS5ici93cC1jb250ZW50L2FycXVpdm9zL3Rlc3NlbGF0aW9uLmpwZw==

IMAGEaHR0cDovL2hvdGhhcmR3YXJlLmNvbS9hcnRpY2xlaW1hZ2VzL0l0ZW0xNDQ3L3Rlc3NlbGF0aW9uLmpwZw==

Depois de um modelo grosseiro (à esquerda) passa pelo tessellation, um bom modelo é produzido (meio). Quando aplicamos o mapeamento de deslocamento (direita abaixo), os personagens adquirem um realismo próximos a de um filme. © Kenneth Scott, da id Software 2008.

Porque o Directx 11 tessellation pipeline é programável, e que pode ser usado para resolver um grande número de problemas gráficos. Vejamos quatro exemplos.

http://www.nordichardware.com/image3.php?id=9578

YmtLdFkyRzNGYlU=

1 - Perfeito Mapeamento de colisão (Bump Mapping)

No seu conceito mais básico, o mapeamento de deslocamento pode ser usado como um substituto para as técnicas de mapeamento de colisão. Nas técnicas atuais, o mapeamento normal cria a ilusão de superfícies irregulares através de um sombreamento de pixel "melhorado". Todas essas técnicas funcionam apenas em casos especiais, e são apenas parcialmente convincentes quando eles não funcionam. Tomemos o caso de mapeamento de oclusão parallax, uma forma muito avançada de mapeamento de colisão. Embora produza a ilusão de sobreposição de geometria, ele só funciona em superfícies planas e somente no interior do objeto (veja imagem acima). O verdadeiro mapeamento de deslocamento não tem nenhum desses problemas e produz resultados precisos em todos os ângulos de visão.

2 - Modelos com melhor aparência

O outro sócio natural do tessellation é o algoritmo de refinamento (refinement algorithms). O algoritmo de refinamento pega um modelo grosseiro, e com a ajuda do tessellation, cria um modelo mais atraente. Um exemplo popular é PN-Triangles (também conhecida como N-patches). O algoritmo PN-Triangles converte os modelos de baixa resolução em superfícies curvas, que são depois redesenhadas como uma malha de triângulos finamente "tesselados". Grande parte dos artefatos visuais que poluem os jogos que conhecemos hoje como; blocos nas articulações dos personagens, roda de carro com aspecto poligonal e características faciais grosseiras, podem ser eliminados com a ajuda de algoritmos. Por exemplo, o PN-Triangles é usado em STALKER: Call of Pripyat para produzir modelos com faces mais suaves, mais parecidas com modelos reais.

3 - Detalhes de níveis sem quebras

Nos jogos com grandes ambientes abertos, provavelmente você deve ter notado que objetos distantes, muitas vezes, entram e saem do seu campo de visão. Isto é devido ao motor de jogo de comutação entre os diferentes níveis de detalhe, ou LOD, que tenta manter a carga de trabalho geométrico em equilíbrio. Até este ponto, não houve nenhuma maneira fácil de alterar o nível de detalhe continuamente, pois exigiria manter várias versões do mesmo modelo ou do ambiente. O tessellation dinâmico resolve este problema em cheio, através da variação do nível de detalhe. Por exemplo, um prédio distante em primeiro plano de vista, pode ser processado com apenas dez triângulos, quando você se aproximar, suas características proeminentes emergem e triângulos extras são usados para descrever detalhes como a janela e telhado. Quando você finalmente chegar à porta, milhares de triângulos são dedicados a tornar o bronze antigo em algo real, onde cada sulco é meticulosamente esculpido com mapeamento de deslocamento. Com o tessellation dinâmico, objetos de "popping" são eliminados, e ambientes de jogos podem ser escalados para ver detalhes bem de perto e geometricamente ilimitados.

4 - Obra escalável

Para os desenvolvedores, o tessellation melhora a eficiência de suas condutas de criação de conteúdo. Ao descrever sua motivação para a utilização de tessellation, Jason Mitchell da Valve diz: "Estamos interessados na habilidade da tecnologia que nos permitem usar escala para cima e para baixo. Ou seja, queremos construir um modelo de uma vez e ser capazes de escalá-lo até a qualidade máxima próxima de um filme... Por outro lado, queremos ser capazes de, naturalmente, a escala de qualidade mais baixa, para atender às necessidades de processamento em tempo real em um determinado sistema com processamento de baixa escala. "Essa capacidade de criar um modelo de uma vez e usá-lo em diferentes plataformas significa menor tempo de desenvolvimento, e para os jogadores de PC, a mais alta qualidade de imagem possível em sua GPU.

Como as Geforce GTX 400 GPUs lidam com o tessellation

IMAGEaHR0cDovL3d3dy5ibG9nY2RuLmNvbS93d3cuam95c3RpcS5jb20vbWVkaWEvMjAwNi8wMS9VbnJlYWwzZW5naW5lLWJlcnNlcmtlcl9jZy5qcGc=

Os projetos tradicionais de GPU utilizam um motor de geometria simples para executar o tessellation. Esta abordagem é análoga a GPU e aos primeiros projetos que usaram um único pixel pipeline para executar o sombreamento de pixel. Vendo como pixels pipelines cresceram de uma única unidade de muitas unidades em paralelo e como ele ganhou uma posição dominante no realismo 3D, nós projetamos nossa arquitetura de tessellation para ser paralela desde o início.

As Geforce GTX 400 GPUs são construídas com até quinze unidades de tessellation, cada uma com hardware dedicado para vertex fetch, tessellation, e transformações de coordenadas. Elas operam com quatro motores de varredura paralela que transformam triângulos recém "tesselados" em um córrego fino de pixels para sombreamento. O resultado é um avanço em desempenho do tessellation em cerca de 1,6 bilhões de triângulos por segundo em desempenho sustentado. Comparado com o mais rápido produto concorrente, a Geforce GTX 480, é até 7.8x mais rápida, medida pelo site independente Bjorn3D.

dzdlYzY1N1E3Q3c=

YVFhOTctQXBXdmM=

!

M1hkc0VibFZoa2M=

Conclusão

Depois de muitos anos de tentativa e erro, o tessellation veio finalmente à fruição no PC. Jogos impressionantes como Metro 2033 já mostram o potencial do tessellation. Com o tempo, o tessellation será crucial e indispensável assim como o sombreamento de pixel. Percebendo a sua importância, a NVIDIA começou a buscar o processo de construção de uma arquitetura paralela de tessellation. O resultado é a linha de GPUs Geforce GTX 400, um verdadeiro avanço no realismo e desempenho de tessellation geométrico.

Anônimo
Anônimo
Publicações em Destaque