1
我想我明白glEnableVertexAttribArray的作用 - 它激活程序的特定屬性(如果我錯了,請糾正我)。glEnableVertexAttribArray修改了什麼對象的狀態?
我不明白,雖然是哪個對象存儲這些信息。它是程序對象嗎?也就是說,如果我做的:
glUseProgram(program);
glEnableVertexAttribArray(0);
再後來就做:
glUseProgram(program);
glDrawArray(...);
將在位置0的屬性被啓用?
或者它是否正在修改某些全局狀態,每次在每次繪製調用之前需要重新設置? 或者它是否修改了VAO的狀態?如果是這樣,那麼在沒有VAO的OpenGL ES 2.0中呢?
太好了。謝謝!爲了澄清,這意味着(在沒有VAO的OpenGL ES 2.0中),每次需要使用一組新的頂點屬性進行繪製時,我需要爲每個屬性調用glVertexAttribPointer()和glEnableVertexAttribArray(),對吧? – user2771609
你有沒有想過? – nmr
我想不是。我結束了使用ES 2.0,所以我使用了VAO。 – user2771609