除了代码之外,我想知道这个错误是什么:
two vertex attribute variables (named a and n) were assigned to the same generic vertex attribute
我在USLntu上使用Nsight在GLSL(转换反馈的实验)中编译顶点着色器时遇到的。我的意思是,这个错误的所有可能原因都是什么?
答案 0 :(得分:1)
看起来您将两个不同的顶点属性绑定到OpenGL代码中的相同位置。
例如,绑定属性时通常会这样做:
glBindAttribLocation(program, 0, "AttributeName");
您必须做的是为两个属性使用相同的索引:
glBindAttribLocation(program, 0, "AttributeNameOne");
glBindAttribLocation(program, 0, "AttributeNameTwo");
生成另一个通用顶点属性位置,这应该会消失。 你可以使用你喜欢的任何非负数(在很小的范围内)。
还要记住,在链接程序之前必须调用glBindAttribLocation。