在我的应用程序中,我需要通过glUseProgram(程序)在两个GLSL程序之间切换。我想知道我是否写道:
glUseProgram(program1)
buf1 = glGenBuffers(1)
glUseProgram(program2)
buf2 = glGenBuffers(1)
buf1和buf2可以是相同的值吗?即,每个程序都有自己的缓冲区,还是共享缓冲区?
答案 0 :(得分:5)
创建缓冲区对象绝不会受到当前程序的影响。因此调用glUseProgram
对缓冲区对象的创建没有影响。它们与正在使用的任何程序无关。