glDrawTransformFeedbackStream的数据来源问题

zzllvlv 2020-12-24 06:03:20
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);

应该左侧四面体是线框模式,而右侧四面体是填充模式,但实际却仍然为左侧四面体是填充模式,右侧四面体是线框模式,也就是修改参数后并没有发生变化,这是为什么呢?
...全文
135 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
发帖
OpenAPI

2244

社区成员

OpenAPI
社区管理员
  • OpenAPI社区
加入社区
帖子事件
创建了帖子
2020-12-24 06:03
社区公告
暂无公告