GLSL关联多个统一的采样器缓冲区

目前我不确定我的VBO和TBO如何与我的着色器中的特定的统一采样器缓冲区相关联,我没有将它们与位置或vbo / tbo联系在一起。 它似乎仍然工作,但现在,我正在使用多个samplerbuffers,如何建立连接特定的TBO和制服。 我需要使用glUniformX吗?

对于维也纳国际组织,你不使用制服,而是尊重他们,而是使用着色器属性。

关于纹理缓冲区对象(TBO),您可以在着色器中绑定其统一的位置,

layout (binding = 0) uniform sampler2D tex_object; 

您也可以使用glGetUniformLocation获取其位置,然后使用glUniformi( location, tbo)设置TBO统一值。

为了把VBO和TBO绑在一起使用glTexBuffer

 // Attach the VBO to TBO. glGenTextures(1, &tbo); glBindTexture(GL_TEXTURE_BUFFER, tbo); glTexBuffer(GL_TEXTURE_BUFFER, GL_RGBA32F, vbo);