与OpenGL缓冲区和直接状态访问(DSA)的绑定错误

时间:2018-05-31 12:31:21

标签: buffer opengl-4

当我使用glNamedBufferStorage()时,我从OpenGL中得到了这个错误:

GL_INVALID_OPERATION error generated. Buffer must be bound.

通常情况下,我不必使用直接状态访问的glBindBuffer()!

这是我的通话序列:

glCreateBuffers(1, &m_identifier);
...
glNamedBufferStorage(m_identifier, static_cast< GLsizeiptr >(bytes + offset), data, GL_DYNAMIC_STORAGE_BIT);
...
glNamedBufferSubData(m_identifier, static_cast< GLintptr >(offset), static_cast< GLsizeiptr >(bytes), data);

我只使用DSA功能,所以我不明白为什么会遇到问题。

1 个答案:

答案 0 :(得分:0)

我的坏,我忘记了这个小小的一个:glGetBufferParameteriv()。

由DSA中的glGetNamedBufferParameteriv()替换。

它被包裹在我班级的方法中。