2012-10-10 5 views
1

En dehors de code, je voudrais savoir ce que cette erreur sur:Erreur lors de la compilation shader GLSL

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

que je suis tombé sur tout en compilant mon vertex shader en GLSL (une expérience pour transformer la rétroaction) avec Nsight sur Ubuntu. Je veux dire, quelles sont toutes les causes possibles de cette erreur?

Répondre

1

Il semble que vous liez deux attributs de sommet différents au même emplacement dans votre code OpenGL.

Par exemple, lorsque vous liez les attributs que vous faites habituellement ceci:

glBindAttribLocation(program, 0, "AttributeName"); 

Ce que vous devez faire est d'utiliser le même indice pour les deux attributs:

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

Générer un autre emplacement d'attribut de sommet générique et cela devrait disparaître. Vous pouvez utiliser tous les nombres non négatifs que vous aimez (dans une petite plage).

Gardez également à l'esprit que glBindAttribLocation doit être appelée avant de lier le programme.