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);

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

2,245

社区成员

发帖
与我相关
我的任务
社区描述
OpenAPI
社区管理员
  • OpenAPI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧