O que é um OpenGL® VBO?
Ao usar as bibliotecas gráficas de computação Open Graphics Library® (OpenGL®) para programação de computadores, um objeto de buffer de vértice (VBO) é uma estrutura de dados que permite que um objeto tridimensional (3D) seja construído e armazenado na memória da placa gráfica ou hardware de gráficos. Isso permite que um VBO OpenGL® seja renderizado muito rapidamente e use muito menos recursos do sistema do que outras técnicas que usam desenho de modo imediato. Além dos ganhos em velocidade e a redução na sobrecarga gráfica, um OpenGL® VBO também é uma estrutura de dados dinâmicos - diferentemente de uma lista de exibição OpenGL® - que pode ser alterada quando estiver na memória. O conceito de um VBO OpenGL® começou com os fabricantes de hardware que incluíram originalmente - em nomes diferentes - um tipo semelhante de funcionalidade como uma extensão das bibliotecas OpenGL® que mais tarde foi padronizada pelo OpenGL® Architecture Review Board (ARB).Combinação de outros dois tipos de estruturas de dados OpenGL®. Ele abrange a funcionalidade básica de uma matriz de vértices, porque as informações para a geometria - incluindo as coordenadas, normais e cores do vértice - podem ser armazenadas em uma matriz estruturada que pode ser passada para o OpenGL® para processamento. Ao contrário de uma matriz de vértices, no entanto, um VBO OpenGL® é armazenado no lado do servidor do renderizador e não precisa acessar constantemente o lado do cliente para obter informações sobre o vértice.
Ao permitir que o VBO seja armazenado na memória gráfica, ele também assume algumas das propriedades de uma lista de exibição. A principal diferença é que um VBO OpenGL® pode ser modificado e uma lista de exibição não pode. Além disso, o VBO não é necessariamente copiado na memória gráfica como uma lista de exibição, portanto, apenas uma estrutura de dados precisa estar presente na memória.
Quando um VBO OpenGl® é finalmenteRenderizada, a distância da memória gráfica na qual é armazenada e a Unidade de Processamento de Gráficos (GPU) é muito pequena, permitindo uma rasterização muito rápida sem a necessidade de se mover primeiro por hardware mais lento do sistema. Em alguns casos, no entanto, o uso do VBOS não é suportado pelo hardware da placa gráfica. Isso pode levar a problemas de programação que removem os benefícios adicionais do uso de um VBO ou um programa que será incompatível com algumas placas gráficas.
Existem alguns métodos que podem ajudar a otimizar como um VBO OpenGL® é tratado quando usado. Uma delas é fornecer dicas para a placa gráfica ou o OpenGL®, para ajudar a determinar onde o VBO deve estar localizado na memória. Dependendo das dicas fornecidas, o VBO pode ser armazenado diretamente na memória gráfica na placa gráfica ou pode ser armazenado na principal memória de acesso aleatório (RAM) do sistema, se considerado necessário.