最大缓冲区数

WOR*_*SER 4 c++ opengl buffer

我可以使用glGenBuffers函数生成多少个缓冲区?我可以尝试生成8192(或更多)缓冲区吗?

我只渲染一个缓冲区,但我需要存储许多缓冲区.

int i = 0;
glGetIntegerv(GL_MAX_DRAW_BUFFERS, &i);
Run Code Online (Sandbox Code Playgroud)

回报8.这是缓冲区的最大计数,即同时渲染.

我对吗?

Kil*_*nDS 5

GL_MAX_DRAW_BUFFERS值与之无关,glGenBuffers但是片段着色器可以写入缓冲区(请参阅参考资料glDrawBuffers).

标准中的缓冲区数量没有限制,您可以根据需要创建任意数量的缓冲区.但是你受到内存的限制,所以如果你计划存储大量数据,那么这样的调用glBufferData可能会失败GL_OUT_OF_MEMORY