1

我正在尝试将 vbo 附加到 vao。但是我只能让它以“旧”方式工作:

bind vao
bind vbo
glVertexAttribPointer(...)
glEnableVertexArrayAttrib(...)
unbind vbo
unbind vao

现在我希望它实现新的无绑定方式,我这样尝试:

glVertexArrayAttribFormat(...);
glVertexArrayVertexBuffer(...);
glVertexArrayAttribBinding(...);

但是,我只得到一个黑屏。

将索引缓冲区对象附加到 vao 可以工作:

glVertexArrayElementBuffer(...);

我错过了什么?

4

1 回答 1

4

好像我失踪了

glEnableVertexArrayAttrib(...)

因此,正确的替换将是

glEnableVertexArrayAttrib(...);
glVertexArrayVertexBuffer(...);
glVertexArrayAttribFormat(...);
glVertexArrayAttribBinding(...);

并且不要忘记在 glVertexArrayVertexBuffer(...) 中设置步幅,它不应该是 0!

于 2014-08-20T21:25:07.587 回答