【问题标题】:Binding error with OpenGL buffers and Direct State Access (DSA)OpenGL 缓冲区和直接状态访问 (DSA) 的绑定错误
【发布时间】:2018-05-31 20:54:16
【问题描述】:

当我使用 glNamedBufferStorage() 时,我从 OpenGL 收到此错误:

GL_INVALID_OPERATION error generated. Buffer must be bound.

通常我不必使用 glBindBuffer() 直接访问状态!?

这是我的 gl 调用顺序:

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 函数,所以我不明白为什么会出现问题。

【问题讨论】:

    标签: buffer opengl-4


    【解决方案1】:

    我的错,我忘了这个小家伙:glGetBufferParameteriv()。

    由 DSA 中的 glGetNamedBufferParameteriv() 替换。

    它被包装到我的类的一个方法中。

    【讨论】:

      猜你喜欢
      • 2015-12-20
      • 2021-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-05
      • 1970-01-01
      • 2019-04-01
      • 1970-01-01
      相关资源
      最近更新 更多