我正在尝试将vbo附加到vao。但是我只能让它以“旧”的方式工作:
bind vao
bind vbo
glVertexAttribPointer(...)
glEnableVertexArrayAttrib(...)
unbind vbo
unbind vao
现在我希望它实现新的无绑定方式,我试着这样做:
glVertexArrayAttribFormat(...);
glVertexArrayVertexBuffer(...);
glVertexArrayAttribBinding(...);
然而,我只得到一个黑屏。
将索引缓冲区对象附加到vao可以工作:
glVertexArrayElementBuffer(...);
我错过了什么?
答案 0 :(得分:4)
好像我不见了
glEnableVertexArrayAttrib(...)
因此,正确的替换将是
glEnableVertexArrayAttrib(...);
glVertexArrayVertexBuffer(...);
glVertexArrayAttribFormat(...);
glVertexArrayAttribBinding(...);
并且不要忘记在glVertexArrayVertexBuffer(...)中设置步幅,它不应该是0!