OpenGL 获取当前绑定的顶点缓冲区和索引缓冲区

OpenGL get currently bound vertex buffer and index buffer

我目前正在使用 C++ 中的 OpenGL,我正在尝试通过识别当前绑定的顶点缓冲区和索引缓冲区是什么来进行调试。我有三个功能。

GLint getBoundVAO()
{
    GLint id = 0;
    glGetIntegerv(GL_VERTEX_ARRAY_BINDING, &id);
    return id;
};

GLint getBoundVBO()
{
    GLint id = 0;
    // ???
    return id;
};

GLint getBoundIBO()
{
    GLint id = 0;
    // ???
    return id;
};

我将如何以与获取 VAO 类似的方式获取顶点缓冲区和索引缓冲区?我查看了 OpenGL 页面 https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGet.xhtml,但没有看到允许我获取索引或顶点缓冲区的值。

参见“参数”部分 here。用于绑定缓冲区的符号常量与用于 glGet* 的符号常量匹配(但带有 _BINDING 后缀)。

对于顶点缓冲对象,使用:

glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &id);

对于索引缓冲区,使用:

glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, &id);