Bonjour à tous et à toutes, et merci de m'accorder un peu de votre temps
J'essaie d'utiliser les Uniform Buffers sous OpenGL. Je dispose déjà d'une classe VertexBuffer dont le but est de charger VBO/IBO/VAO à partir de tableaux contenant les attributs du VB. Tout fonctionne très bien. Idem pour le programme. Le Vertex Buffer est rendu avec un programme simple de test, contenant un uniform block que je veux lié à un Uniform Buffer.
Voici mon problème :
> Tout fonctionne si je génère d'ABORD le programme, l'Uniform Buffer, et bind l'uniform block du program à l'Uniform Buffer
PUIS génère le Vertex Buffer. Au rendu, toute modification de l'Uniform Buffer modifie bien l'uniform block du programme, comme on peut s'y attendre
> Mais si je génère d'ABORD le VertexBuffer, PUIS le programme et l'Uniform Buffer (et son binding à l'uniform block du programme), alors plus rien ne s'affiche au rendu...
> Comme si l'ordre dans lequel les différents types de buffer étaient crées importaient...
Debug : j'ai vérifié que tous les buffers (uniform, vertex, etc...) étaient bien crées et avec les bonnes valeurs sous gDEbugger et aussi j'ai watché sous Visual les différentes valeurs des objets GL crées : tous sont corrects (point de binding, buffer objetcs, program objects...) et aucune fonction de GL ne retourne d'erreur (testé avec (glGetError()) )
Auriez-vous des idées ?
Vous remerciant par avance,
Mathieu
Partager