我正在尝试将 vbo 附加到 vao。但是我只让它以“旧”方式工作:
bind vao
bind vbo
glVertexAttribPointer(...)
glEnableVertexArrayAttrib(...)
unbind vbo
unbind vao
现在我想让它实现新的无绑定(bind)方式,我这样试过:
glVertexArrayAttribFormat(...);
glVertexArrayVertexBuffer(...);
glVertexArrayAttribBinding(...);
但是我只得到一个黑屏。
虽然将索引缓冲区对象附加到 vao 仍然有效:
glVertexArrayElementBuffer(...);
我错过了什么?
最佳答案
我好像不见了
glEnableVertexArrayAttrib(...)
因此,正确的替换应该是
glEnableVertexArrayAttrib(...);
glVertexArrayVertexBuffer(...);
glVertexArrayAttribFormat(...);
glVertexArrayAttribBinding(...);
并且不要忘记在 glVertexArrayVertexBuffer(...) 中设置步幅,它不应该为 0!
关于c++ - 将顶点缓冲区对象附加到顶点数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25411599/