O que é um buffer de vértice opengl®?
Um buffer de vértice Open Graphics Library® (OpenGL®) é uma área de memória de computador frequentemente localizada diretamente em uma placa gráfica que permite acesso muito rápido a uma matriz de vértices e suas propriedades. Na maioria das vezes, um buffer de vértice OpenGL® é usado para criar um objeto buffer de vértice (VBO), permitindo que objetos dentro de uma cena tridimensional (3D) sejam renderizados como parte de uma lista de exibição e não no modo imediato. Ocasionalmente, no entanto, um buffer de vértice pode ser usado fora de um VBO para armazenar informações sobre um objeto ou ajudar a facilitar as transformações em modelos complexos. Deve -se notar que um buffer de vértice não precisa estar localizado na memória da placa gráfica, porque pode ser alocada como qualquer estrutura de dados. Se o buffer de vértice opengl® for usado como parte de um VBO, a placa gráfica que está sendo usada deve suportar a extensão especial do OpenGL® VBO para garantir que o buffer seja colocado na memória gráfica.Apenas um buffer simples, uma área de memória alocada na qual os dados podem ser armazenados. Torna -se um buffer de vértice quando uma matriz de vértices é armazenada nele. Uma matriz de vértices OpenGL® é uma variedade de estruturas de dados que define todas as propriedades dos vértices individuais. Esta informação pode incluir os locais x, y e z do vértice na cena 3D, a cor do vértice, as propriedades normais e outras.
Na renderização do modo imediato, os comandos OpenGL® são executados diretamente, conforme são chamados de dentro de um programa. É desnecessário nesses casos ter uma matriz de vértices, porque os comandos para colocar e desenhar um vértice podem ser dados diretamente ao hardware, embora isso possa causar sérios problemas de desempenho. Para renderização de modo não inediada, as informações sobre um objeto ou modelo 3D precisam primeiro ser colocadas em uma matriz de vértices, para que ele tenha uma estrutura que o OpenGL® possa interpretar facilmente; thaA matriz T deve então ser armazenada em uma área especial de memória conhecida como buffer de vértice opengl®.
Por si só, o buffer de vértice não possui necessariamente nenhum atributo especial além de ser uma coleção completa de informações usadas para desenhar um objeto. Quando o buffer OpenGL® Vertex é convertido em um objeto buffer de vértice OpenGL® através da extensão OpenGL, no entanto, ocorre uma sequência especial de eventos para ajudar a otimizar o desenho do objeto definido no buffer de vértices. Ou seja, o buffer é alocado e armazenado na memória da placa gráfica, no lado do servidor do cliente do cliente-servidor OpenGl® usa. Alguns cálculos também podem ser realizados com antecedência no VBO, para que possa ser renderizado o mais rápido possível. Fora de um VBO, um buffer de vértice simples geralmente não recebe esse tratamento e pode ser alocado e usado como qualquer outro tipo de dados.