我可以制作的统一缓冲区对象的最大数量是多少?

时间:2013-04-11 22:38:00

标签: opengl opengl-3

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

我正在使用类似于以下内容的代码生成UBO(并假设sizedata_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);

我可以运行此代码多少次?它仅受图形卡上可用内存的限制吗?

1 个答案:

答案 0 :(得分:2)

没有“统一缓冲对象”这样的东西;只有 buffer objects 。缓冲区对象的一个​​用途是作为统一数据的存储。

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