我在我的 OpenGL 应用程序中引入了几何着色器。我的着色器有很多“变化”的变量,我从顶点着色器传递到片段着色器。现在,在介绍了几何着色器之后,我必须为每个顶点手动传递几何着色器中的每个变化值。有没有办法避免这种情况并“自动”做事?
问问题
2876 次
2 回答
2
不。
在管道中引入几何着色器后,如果要将变量从顶点着色器传递到片段着色器,则必须手动传递它们,从顶点着色器创建输入变量,并将输出变量创建到片段着色器。我不知道您使用的是哪个 GLSL 版本,但您可能需要查看GLSL 3.30 规范的第 4.3.4 节。
于 2012-04-05T18:25:00.043 回答
2
不,因为除了 noop 几何着色器之外,没有任何明智的方法可以做到这一点,如果你的几何着色器没有对几何做任何事情,为什么首先启用它?
通常,几何着色器将多个顶点作为输入并产生(不同)数量的顶点作为输出。那么哪个输入顶点应该“自动”映射到哪个输出顶点?
于 2012-04-06T00:36:20.957 回答