У меня есть простой двумерный треугольник, отображаемый на экране, я хочу обновлять данные цветового буфера каждый кадр, поэтому цвет треугольника меняется постоянно, но im not sure как эффективно обновлять данные.Как обновлять данные буфера вершин часто (каждый кадр) opengl
это код для буфера цвета:
GLfloat colourVert[] = {
0.0f, 1.0f, 0.0f,
1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f
};
GLuint colourBuffer;
glGenBuffers(1, &colourBuffer);
glBindBuffer(GL_ARRAY_BUFFER, colourBuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(colourVert), colourVert, GL_DYNAMIC_DRAW);
glEnableVertexAttribArray(1);
glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 0, 0);
ли мне нужно добавить что-то в этих строках или мне нужно изменить шейдер, может кто-нибудь объяснить, пожалуйста, спасибо за любую помощь.
Вы должны решить, какой тип OpenGL вы хотите, поскольку ответ будет во многом зависеть от этого. И, пожалуйста, укажите, какую версию. Например, es 3.0 использует VAO для хранения привязок атрибутов, а 2.0 нет. – BDL
@BDL В IOS opengl es 2.0 полностью поддерживает VAO, но не Android – Sung