1

我可以在 OpenGL 3.2+ 中创建的最大统一缓冲区对象数量是多少?

我正在使用类似于以下的代码来生成 UBO(并假设size其中data_pointer包含有效数据)

GLuint uboIndex = 0;
glGenBuffers(1, &uboIndex);
glBindBuffer(GL_UNIFORM_BUFFER, uboIndex);

glBufferData(GL_UNIFORM_BUFFER, size, data_pointer, GL_DYNAMIC_DRAW);
glBindBuffer(GL_UNIFORM_BUFFER, 0);

我可能会运行此代码多少次?它仅受显卡上可用内存的限制吗?

4

1 回答 1

3

没有“统一缓冲区对象”之类的东西;只有缓冲区对象。缓冲区对象的用途之一是作为统一数据的存储。

OpenGL 对可以创建的缓冲区对象的数量没有明确的限制。您可以创建多少主要取决于 OpenGL 实现可以分配多少内存。

于 2013-04-12T02:21:31.003 回答