在OpenGL中访问缓冲区

Noo*_*ble -2 c++ opengl

所以我知道你可以使用以下方法生成缓冲区:

GLuint Buffer = 0;
glGenBuffers (1, &Buffer);
Run Code Online (Sandbox Code Playgroud)

我被告知这将在地址中生成1个缓冲区Buffer.我也被告知如果我这样做:

GLuint Buffer = 0;
glGenBuffers (2, &Buffer);
Run Code Online (Sandbox Code Playgroud)

然后它将在地址中生成2个缓冲区Buffer.那么如何访问这个第二个缓冲区呢?

Kil*_*nDS 6

您应该传递一个数组/向量glGenBuffers,例如,如下所示:

std::vector<GLuint> buffers(2); //or std::array<GLuint, 2> buffers;
glGenBuffers(2, &buffers[0]); 
...
// Access buffer elements at buffers[0] and buffers[1]
...
glDeleteBuffers(2, &buffers[0]);
Run Code Online (Sandbox Code Playgroud)