Bonjour,
J'ai un soucis avec OpenGL et les textures.
Comment afficher une texture png , en gérant les couleurs transparantes?
Car lorsque j'affiche une texture elle s'affiche mais avec un contour blanc, comment pourrais-je l'enlever ?
Merci beaucoup![]()
Bonjour,
J'ai un soucis avec OpenGL et les textures.
Comment afficher une texture png , en gérant les couleurs transparantes?
Car lorsque j'affiche une texture elle s'affiche mais avec un contour blanc, comment pourrais-je l'enlever ?
Merci beaucoup![]()
Bonsoir,
je suis toujours bloqué pour la transparence.
Je suis sur une piste, c'est ajouté une couche alpha grace a Gimp et l'importé sous forme de TGA bien entendu.
Donc a ma classe voiture, je voudrais ajouter la texture tga avec la couche alpha activé, comme c'est possible ? Car j'ai vu sur un tuto d'utilisé par exemple GLbmp pour les tga mais il reste introuvable (lien mort). Alors peut etre que graphicEx ?
mais je ne sais pas du tout l'utilisé, je vous remercie d'avance.
Bonne soirée![]()
Oui sous OpenGL la transparence c'est en fait du blending...que peut être basé sur l'Alpha
les fonctions clés sont donc :
là tu actives le blending et tu déclares que celui-ci est basé sur le canal Alpha de la source, mais tu as des tas d'autres combinaisons possible
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);![]()
Je te remercie pour cette réponse.
Pour cela je doit gérer quel format d'image ? le TGA ? ou le BMP passe très bien :S
Car je n'arrive qu'a importé du bmp malheureusement.
Cordialement
Mais je comprend pas un truc, je ne peu pas mettre de canal alpha sur mon bmp non ?
Je vais allez voir tes liens.
Moi j'ai entendu dire que je pouvais charger les pixels de l'image et que le pixel :
0,255,42,255 je le transformais en 0,255,42,0
Cela peu marcher ?
EDIT : Pour l'exemple, je suppose que son TGA a une couche alpha ?
Mais je vois pas comment il l'active, car j'ai commenté les lignes :
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
Et ca marche toujours :S
Partager