我有一個簡單的2D三角形顯示在屏幕上,我要更新的顏色緩衝數據的每一幀,所以三角形的顏色不斷變化,但林不知道如何有效地更新數據。如何頻繁地更新頂點緩衝數據(每幀)的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 2.0完全支持VAO,但不支持Android – Sung