Alors voilà, je viens de vivre quelque chose que je ne pourrais jamais expliquer sans votre aide
Je suis en train de faire du mix SFML Opengl. Jusqu'ici rien de choquant.
Ma scène est toute simple, elle consiste de deux quads. Le premier étant un terrain immense qui a pour texture une RenderTexture de SFML (je bind avec un sf.Texture.bind). Et l'autre c'est un sprite 3D, un billboard qui a une animation sympas!
Voici à quoi ressemble la scène (la plaque de bois c'est juste pour tester la profondeur de mon sprite) :
Pour afficher la texture correctement, j'ai du convertir les coordonnées de texture SFML (le coin en haut à gauche étant 0,0) en coordonnées de texture OpenGL (le coin en bas à gauche étant 0,0) : un petit changement était donc nécessaire pour les Y.
Maintenant passons à la supercherie!
Si je ne bind pas la texture du terrain, ou alors je fais un glBindTexture à la place, le résultat est tout à l'envers!
L'animation du sprite est incorrect!
Cependant, en prenant en compte les coordonnées de texture SFML, sans donc faire de conversions, l'animation redeviens correct, mais le sprite reste à l'envers (faudra du coup inverser les coordonnées de la texture en Y)!
D'ailleurs j'ai une autre bizarrerie, si je veux tracer un cube ou un carré blanc sur le terrain, sur les deux dernières scènes, la couleur blanche s'affiche correctement, or sur la scène avec la texture verte bindé par SFML, le carré a la couleur verte de la texture du terrain!!!!
Je n'arrive pas à voir la logique!Quelqu’un pourrait m'expliquer ces supercheries! C'est vraiment inexplicable
![]()
Partager