glDrawTransformFeedbackStream的数据来源问题
OpenGl编程指南里面的源代码有个用几何着色器渲染两个四面体的例子,实际通过几何着色器输出左侧四面体数据到feedback Object的0号绑定点的缓存中,将右侧的四面体数据输入到feedback Object的1号绑定点的缓存中,然后再用glDrawTransformFeedbackStream函数渲染。
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glBindVertexArray(vaos[0]);
glDrawTransformFeedbackStream(GL_TRIANGLES, Tfb, 0);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
glBindVertexArray(vaos[1]);
glDrawTransformFeedbackStream(GL_TRIANGLES, Tfb, 1);
因而左侧四面体是填充模式,右侧四面体是线框模式,但是我将glDrawTransformFeedbackStream的index参数交换,变成
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glBindVertexArray(vaos[0]);
glDrawTransformFeedbackStream(GL_TRIANGLES, Tfb, 1);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
glBindVertexArray(vaos[1]);
glDrawTransformFeedbackStream(GL_TRIANGLES, Tfb, 0);
应该左侧四面体是线框模式,而右侧四面体是填充模式,但实际却仍然为左侧四面体是填充模式,右侧四面体是线框模式,也就是修改参数后并没有发生变化,这是为什么呢?