Os VBOs OpenGL (objetos de buffer de vértice) foram desenvolvidos para melhorar o desempenho do OpenGL ( OpenGL ES 2.0 no meu caso). A lógica é que, com a ajuda dos VBOs, os dados não precisam ser copiados da memória do cliente para a placa gráfica por quadro.
No entanto, a meu ver, a cena do jogo muda continuamente: a posição dos objetos muda, a mudança de escala e rotação, eles são animados, explodem, desovam ou desaparecem.
Nesse ambiente altamente dinâmico, como na cena dos jogos de computador, qual é o sentido de usar VBOs , se os VBOs precisariam ser construídos com base em cada quadro?
Você pode me ajudar a entender como tirar praticamente proveito dos VBOs em jogos de computador? Pode haver mais VBOs baseados em vértices (por exemplo, um por um objeto) ou sempre deve haver exatamente exatamente um VBO presente para cada ciclo de desenho?
fonte
Você pode ter quantos VBOs quiser. Você também pode ter cada quadro de animação em um VBO ou animação inteira em um VBO. Você também pode usar a animação Por vértice, que é feita com os mesmos dados, mas transformada em vertex shader (programa).
Se você mudar de posição, rotação ou escala do objeto, ele não mudará o VBO, apenas a matriz de transformação.
Portanto, se você tiver memória suficiente, poderá transferir todos os seus dados para a memória gráfica na fase de inicialização.
fonte