如何解决几何着色器和绘图调用
我正在处理使用几何着色器的旧代码库。它使用“glProgramParameteriEXT(...) 来启用和指定 GS 的输入/输出。有问题的代码是渲染曲线。
GS 的输入(通过上述方法而不是在 GLSL 中使用布局说明符)是 GL_LInes_ADJACENCY,输出是 GL_TRIANGLE_STRIP。在实际的 GLSL 几何着色器中,代码按照 GL_LInes 的预期吐出两个 EmitVertex()。最终在执行 drawcall 时,会使用 glDrawElements (GL_LInes,....)。绘制调用不应该与 GS 输出的 GL_TRIANGLE_STRIP 匹配吗?我不太熟悉几何着色器,所以我一定错过了一些东西。如果是这种情况,openGL 被告知要画线,它是如何计算出要画三角形的?
谢谢!
解决方法
primitive几何着色器从输入图元中生成图元。绘制调用决定了输入原始类型; GS 确定输出原语类型。 OpenGL“弄清楚”它正在绘制三角形,因为这就是 GS 所说的绘制。 GS 是 OpenGL 的一部分;妨碍 OpenGL 的并不是什么外来实体。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。