Bonjour à tous,
Je suis développeur depuis longtemps et pour ma culture personnelle je m’intéresse en ce moment à OpenGL.
J'ai suivi les différents tutoriels disponible sur https://learnopengl.com/ afin d'appréhender les bases de la chose. Tout se passait très bien tant que je travaillais sur mon vieux PC sous windows 7.
Seulement voilà, j'ai repris les développements sur une machine windows 10 et là, c'est le drame, plus rien à l'écran. La fenêtre se créée mais reste noire (ou tout du moins de la couleur précisée dans mon glClearColor).
Le site présente un toto complet visant à créer un jeu de casse-briques assez simple, mais qui permet de se frotter à un peu tout (shaders, physique, rendu de texte, musique...).
En revenant sur mes pas, j'ai réalisé que dès le tutoriel sur le rendu du premier Sprite, j'ai l'image suivante sous mon windows 7 et le fond noir uniquement sous windows 10.
Si je prend le code obtenu à la fin du tutoriel par contre, j'ai certaines parties de mon application qui s'affichent quand même, à savoir le texte et les effets de particules. Cela me permet donc de cibler le problème.
En gros, j'ai deux façons de faire un rendu :
- soit l'objet a, pour une raison bien précise, ses propres shaders (c'est le cas de mes textes et de mes particules) et gère donc lui même son rendu (appel d'une fonction Draw propre à l'objet dans la boucle de rendu)
- soit l'objet ne possède pas ses propres shaders et là je fait donc appel à une classe de rendu, qui elle en possède, pour gérer l'affichage.
Mon texte et mes particules sont les seules choses répondant à la première catégorie et j'en déduit donc que c'est le processus lié à la seconde qui est problématique sous windows 10, seulement je ne vois pas pourquoi.
Une pièce-jointe valant mieux qu'un long discours, je vous laisse en PJ la version la plus simple (rendu d'une unique sprite), qui fonctionne parfaitement sous windows 7 (voir image plus haut), mais pas sous windows 10.
BreakoutTuto.rar
Merci à tous ceux qui ont tenu jusque là sans s'endormir![]()
Partager