Malha triangular

Origem: Wikipédia, a enciclopédia livre.
Exemplo de uma malha triangular representando um golfinho.

Uma malha triangular é um tipo de malha poligonal em computação gráfica. Ela consiste em um conjunto de triângulos (normalmente em três dimensões) que são conectados pelas arestas ou vértices comuns.[1]

Muitos softwares de computação gráfica e dispositivos de hardware podem operar de forma mais eficiente em triângulos agrupados em malhas do que se o mesmo número de triângulos estivesse desconectado. Isto porque, tipicamente, sistemas de computação gráfica realizam operações sobre os vértices de cada triângulo. Com triângulos individuais, o sistema tem de operar em três vértices de cada triângulo. Em uma grande malha, é comum existirem oito ou mais triângulos conectados a um único vértice - processando este vértice uma só vez, é possível realizar uma fração do trabalho e alcançar um efeito idêntico.

Muitos aplicativos gráficos lidam com malhas de triângulos. Malhas são compostas por vértices, arestas e triângulos. Aplicativos podem exigir conhecimento sobre como esses componentes estão conectados. Essas conexões podem ser gerenciadas independentemente das posições reais dos vértices.

Representação[editar | editar código-fonte]

Existem vários métodos para armazenar e trabalhar com malhas na memória do computador. Com as APIs OpenGL e DirectX existem duas maneiras principais de passar uma malha triangular para o hardware de gráficos: faixas de triângulos ou vetores de índices.

Faixa de triângulos[editar | editar código-fonte]

Uma maneira de compartilhar dados de vértices entre os triângulos são as faixas de triângulos. Com elas, cada triângulo compartilha uma aresta com um vizinho e outra aresta com o próximo vizinho. Outra forma é o leque de triângulos, que é um conjunto de triângulos conectados a um vértice central. Com estes métodos, vértices são tratados de forma eficiente, resultando no processamento de apenas N+2 vértices para desenhar N triângulos.

Vetor de índices[editar | editar código-fonte]

Com vetores de índices, uma malha é representada por dois vetores distintos, um vetor contendo os vértices, e outro vetor contendo grupos de três índices definindo quais vértices definem um triângulo. O sistema gráfico processa os vértices primeiro e depois os triângulos.

Com este método, qualquer conjunto de triângulos compartilhando um número arbitrário de vértices que pode ser armazenado, manipulado e passado para a API gráfica sem qualquer processamento intermediário.

Veja também[editar | editar código-fonte]

Referências