我创建了一个VBO(顶点缓冲对象)和VAO(顶点数组对象),并进行了以下操作:
glBindVertexArray(vao);
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glBufferData(...);
glVertexAttribPointer(...);
glEnableVertexAttribArray(0);
glBindVertexArray(0);
假设一切正常,我可以在使用vao
绘图后删除vbo
吗?
我知道缓冲区绑定到vao
,所以我认为可以这样做。
问题是,如果我在我的电脑上(Intel显卡)删除缓冲区,它可以正常工作(所有内容都正确显示),但在我朋友的电脑上(AMD)没有任何东西显示。
可能的问题是什么?
(顺便说一句,如果我不删除缓冲区,程序在我的电脑和我朋友的电脑上都可以正常工作)