Bonjour à tous

Je viens de constater quelque chose de très inattendu. En effet, je viens de m'apercevoir que, dans un code qui buggait depuis 1 semaine, envoyer des int en tant que in vec2 dans un shader glsl (version 1.40) avec glVertexAttribPointer à la place d'envoyer des int en tant que in int permettait de résoudre le problème et d'obtenir le comportement souhaité.

Ma question est donc simple : y a-t-il une restriction des types que l'on peut passer en "in" dans le shader, à savoir tous types de base comme int, float ...

En d'autre termes pourquoi écrire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
#//version 140
in int numberFace
Ne fonctionne pas lorsqu'on passe un tableau d'int via glVertexAttribPointer alors que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
#//version 140
in ivec2 numberFace
fonctionne lorsqu'on passe un tableau d'int via glVertexAttribPointer.

Avez-vous d'éventuelles explications à me fournir ? Merci par avance !