Problème avec les textures en opengl - C++ - Programmation
Marsh Posté le 17-07-2006 à 21:08:14
mh ... en fait tu veux qu'on modifie un tuto à ta place ?
jveux pas dire, mais un code complet dans un message, c'est un peu indigeste :s
Marsh Posté le 17-07-2006 à 21:28:24
ben en fait, après relecture, je m'apercois que la seule difficulté que j'ai est de transformer les pixels 'noirs' de la texture en pixels transparents
Marsh Posté le 17-07-2006 à 21:42:12
ah ! c'est différent ^^ ca c'est une question renseigne toi (google) sur la fonction glTexEnv , glBlendMode ... et ce qui s'y rapporte (skuz pour le manque de précision, mais ca fait au moins 6 mois que j'ai plus touché aux textures openGL...
en fait il suffit de spécifier à openGL de quelle manière les polygones doivent être dessinés... par défaut, ils cachent ceux dessinés en dessous... mais si tu veux de la transparence, il faudra que quand opengl dessine un pixel, il efface pas celui du dessous, mais se "mélange" avec lui.
Ceci dit, si tu veux juste effacer les parties VRAIMENT toutes noires (ce qui risque d'etre moche car il n'y aurra aucun fondu si ya un dégradé de noir) il faut recréer ton tableau de texture non pas en rgb, mais en rgba (rouge vert bleu et alpha) en mettant ttes les valeurs alpha à 1.0f, sauf la ou c'est noir. ensuite, quand tu construiras ta texture, il faudra mettre GL_RGBA à la place de GL_RGB.
Ou tu peux faire un mix des deux techniques en modulant la valeur alpha en fonction de la "sombreur" des pixels, mais je suis pas sur que ce soit vraiment utile
Marsh Posté le 02-08-2006 à 10:03:46
ok merci pour votre réponse et désolé pour le retard de la mienne
Bon je pense que je vais faire ainsi : en fait mon image est en tons de gris donc r=g=b.
De ce fait, je vais faire en sorte que r=g=b=a (comme ca quand c'est noir, donc que r=0,a=0)
Qu'en pensez vous ?
Marsh Posté le 14-07-2006 à 19:01:03
Bonjour, voici le code de la lecon 19 de nehe que j'ai modifié :
je souhaitais ne générer que l'explosion (essayer donc de le compiler pour voir), légèrement vue du dessus (la forme rectangulaire de la zone de particules ne me dérange pas), ce afin de l'insérer dans une scène déjà existante dans un autre programme
ici, l'explosion marche parfaitement, cependant, quand je l'insère dans l'autre scène, on voit que la texture de particle (pour l'avoir, télécharger la ici : http://nehe.gamedev.net/data/lessons/devc/lesson19.zip) (je l'ai recompressé en jpeg) est rectangulaire et à des bords noirs !!! alors qu'on ne devrait voir que la sphère lumineuse (le centre de l'image). J'espère que vous avez compris, car c'est pas évident à expliquer si vous ne téléchargez pas les fichiers
Merci d'avance de votre aide
NC