4
我需要幫助來查看它們之間的權衡。OpenGL - glDrawElements vs頂點數組對象
- 在我看來,
glDrawElements()
需要獲取索引數據「live」作爲參數。 - 另一方面,如果我使用VAO,那麼在啓動過程中我緩衝數據,驅動程序可能決定將它放在GPU上,然後在渲染期間我只有綁定 VAO並呼叫
glDrawArrays()
。
有沒有辦法將優勢結合起來?我們是否也可以緩衝索引數據?
那麼在頂點着色器中該怎麼看呢?它可以使用索引並在頂點位置數組中查找它嗎?
由於問題是關於VAO的,所以還值得一提的是'GL_ELEMENT_ARRAY_BUFFER'綁定是VAO狀態的一部分。因此,您可以在VAO設置期間綁定一次緩衝區,並且不必在每次繪製調用之前再次將其綁定。那麼這將發生作爲綁定VAO的一部分。 –