我可以使用 glGenBuffers
函数生成多少个缓冲区?
我可以尝试生成 8192 个(或更多)缓冲区吗?
我只渲染一个缓冲区,但我需要存储许多缓冲区。
int i = 0;
glGetIntegerv(GL_MAX_DRAW_BUFFERS, &i);
返回
8
。这是缓冲区的最大计数,即在同一时间渲染。我对吗?
最佳答案
GL_MAX_DRAW_BUFFERS
值与 glGenBuffers
无关,但与片段着色器可以写入的缓冲区有关(请参阅 glDrawBuffers
)。
标准中的缓冲区数量没有限制,您可以创建任意数量的缓冲区。然而,您受到内存的限制,因此如果您计划存储大量数据,像 glBufferData
这样的调用可能会因 GL_OUT_OF_MEMORY
而失败
关于c++ - 最大缓冲区数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10512399/