如果有的话,我似乎找不到它的存在.我在使用统一缓冲区时遇到了一个问题,gl规范给出的最小尺寸只有1024个位置。我在SSBO的着色器中可以引用的位置数量是否有一个设定的最小值?例如,如果我想在一个SSBO中能够访问10,000个 mat4
s?
另外,在目前的现代硬件上,使用SSBO与使用顶点缓冲器之间是否有明显的性能差异?
使用SSBO、VBO或几何着色器大概如何比较?这是在存储扩展顶点的情况下)。如果没有一般情况下的答案,我就剖析一下。
最大的shader存储块大小可以通过以下方式获得。
GLint64 size;
glGetInteger64v(GL_MAX_SHADER_STORAGE_BLOCK_SIZE, &size)
规范保证的shader存储块大小的最小值是2^27(128MB)。