是否可以在vbos创建后添加vbos?例如(伪码):
glGenVertexArrays(1, &_vao);
glBindVertexArray(_vao);
// do init stuff
glBindVertexArray(0);
// Much much later in a galaxy far away
glBindVertexArray(_vao);
glGenBuffers(1, &_instance_vbo);
glBindBuffer(GL_ARRAY_BUFFER, _instance_vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(blee), blee, GL_STATIC_DRAW);
glEnableVertexAttribArray(_vpos_att);
glVertexAttribPointer(_vpos_att, 3, GL_FLOAT, GL_FALSE, 0, (void*)0);
// Draw到目前为止还没有真正起作用。查看绑定vbos到我的vao (使用GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING)显示没有缓冲区绑定。尽管这可能是另一个问题。
发布于 2018-11-10 00:37:34
因此,在调试了更多之后,我发现是的,这是可能的。稍后您可以添加缓冲区,但是它们需要指向它们自己的属性。
我的问题来自于我可以让多个vbos对一个属性做出贡献。那不管用。对于该场景,您需要多个vaos。
https://computergraphics.stackexchange.com/questions/8246
复制相似问题