Ошибка привязки с буферами OpenGL и прямым доступом к состоянию (DSA)
Я получил эту ошибку от OpenGL, когда я использую glNamedBufferStorage():
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, поэтому не понимаю, почему у меня возникла проблема.
1 ответ
Мой плохой, я забыл этот маленький: glGetBufferParameteriv().
Заменяется на glGetNamedBufferParameteriv() в DSA.
Это было завернуто в метод моего класса.