1

除了代码,我想知道这个错误是关于什么的:

two vertex attribute variables (named a and n) were assigned to the same generic vertex attribute

我在 Ubuntu 上使用 Nsight 在 GLSL(变换反馈实验)中编译我的顶点着色器时遇到了这个问题。我的意思是,这个错误的所有可能原因是什么?

4

1 回答 1

1

看起来您正在将两个不同的顶点属性绑定到 OpenGL 代码中的同一位置。

例如,当您绑定属性时,您通常会这样做:

glBindAttribLocation(program, 0, "AttributeName");

您必须做的是对两个属性使用相同的索引:

glBindAttribLocation(program, 0, "AttributeNameOne");
glBindAttribLocation(program, 0, "AttributeNameTwo");

生成另一个通用顶点属性位置,这应该会消失。您可以使用您喜欢的任何非负数(在小范围内)。

还要记住,在链接程序之前必须调用 glBindAttribLocation。

于 2012-10-10T16:16:42.193 回答