Je me forme à OpenGL et j'ai réussi à utiliser les VAO, VBO et EBO le tout dans le main. J'ai essayé de remettre un peu d'ordre avec des classes. Sans utiliser d'EBO, j'arrive à afficher ma texture mais en les utilisant, je ne vois plus ma texture.
Yo! Je viens de commencer il n'y a pas si longtemps alors peut etre que je dis n'importe quoi, mais est ce que c'est possible que quand tu appelle addEBO, tu as bind ton VBO des coordonnés de texture et pas de vertex Positions?
- Edité par KirbXCoucou 22 février 2018 à 14:38:15
« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. » D. Mendeleïev
Yo! Je viens de commencer il n'y a pas si longtemps alors peut etre que je dis n'importe quoi, mais est ce que c'est possible que quand tu appelle addEBO, tu as bind ton VBO des coordonnés de texture et pas de vertex Positions?
Je ne vois pas ce que tu veux dire KirbCoucou. Tu peux me donner la ligne du fichier qui as soulevé ta question ?
il me semble qu'il faut un avoir binder un VBO. Hors à la fin de ton addVBO tu bind 0 dans ton VBO. Donc quand tu bind ton EBO tu bind rien finalement.
- Edité par KirbXCoucou 22 février 2018 à 15:14:01
« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. » D. Mendeleïev
Dans addVBO() et addEBO(), je bind des buffers via glBindBuffer(). Vu que je n'unbind plus dans ces deux fonctions, le dernier buffer bindé est un EBO. Or dans le constructeur, à la fin, j'unbind un VBO à la ligne 18 du code ci dessus.
Ca ne pose pas problème que je bind en dernier un EBO et que j'unbind après un VBO ?
OpenGL est une machine à état, ça veut dire que tu as binder ton VBO, tu as binder ton EBO, fais les modifications nécéssaires sur ton EBO avec le VBO binder. Ensuite, tu peux unbind ton VBO sans problème. Pour le réutiliser il faudra le binder juste. Mais je pense pas que ce soit un problème à proprement parler
« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. » D. Mendeleïev
Mmmh, si personne d'autre ne réponds, il faut essayé, ça il me semble que oui, mais j'en suis pas sûr :/
EDIT :
Si jamais ça peut t'aider : Si tu comprends l'anglais : Ce tuto c'est très bien, par contre c'est openGL3 ducoup il y a des choses qui doivent changer :/
- Edité par KirbXCoucou 22 février 2018 à 16:53:27
« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. » D. Mendeleïev
J'ai unbind le EBO aussi et tout fonctionne parfaitement
Je suis aussi sur ce tutoriel mais merci (pour l'instant tout fonctionne même en 4.1)
Merci pour ton aide, sujet résolu !
OpenGL - Texture invisible après mise en place EBO
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
D. Mendeleïev
Enfait, si c'est ce que je pense, c'est même different. Quand tu génère ton EBO, et que tu fais appelle a il me semble qu'il faut un avoir binder un VBO. Hors à la fin de ton addVBO tu bind 0 dans ton VBO.
« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
D. Mendeleïev
« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
D. Mendeleïev
« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
D. Mendeleïev
« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
D. Mendeleïev
« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
D. Mendeleïev