Hello,
J'ai un petit soucis avec le filtrage linéaire des textures et les zones totalement transparentes de la texture en question.
Je m'explique un peu :
J'ai une texture 2D (de faible réso) qui représente un décors que je mappe sur un quad 3D face à la caméra afin qu'il serve de fond à ma scène.
Voilà mon fond :
Le pb est que mon fond contient des zones animées qui font que mon fond est vide à certains endroits (alpha=0) :
et que les zones animées sont stockées ds des textures séparées (elles aussi plaquées sur des quads) :
J'en vient donc au problème.
Lorsque je superpose mes animations sur le fond, si je ne mets pas de filtering (GL_NEAREST pour les textures), tout va bien, mais lorsque je mets un filtre linéaire, j'ai alors un pb autour (~1 pixel) des zones noires transparentes du fond qui deviennent semi transparente et un peu plus sombre à cause du filtrage.
Du coup, lorsque je rajoute mes animations par dessus, je vois désormais le contour car celui-ci s'est agrandi
La zone transparente a donc déteint un peu le contour de la zone opaque...
Actuellement j'ai "résolu" le pb de façon pas très clean en agrandissant de 1 pixel de chaque coté du contour la taille de mes textures d'animation et en y mettant une copie du pixel du contour :
De cette façon, ça marche pas trop mal au sens ou cela ne se voit pas beacoup, mais j'aimerais savoir si vous n'auriez pas une autre méthode, plus "juste".
Merci d'avance, et merci d'avoir pris le temps de tout lire