[Opengl mais pas seulement] Pb du au Filtrage des textures

Pb du au Filtrage des textures [Opengl mais pas seulement] - Algo - Programmation

Marsh Posté le 03-02-2004 à 14:04:24    

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 :
http://membres.lycos.fr/davvador2416/images/DoS0.gif
 
Le pb est que mon fond contient des zones animées qui font que mon fond est vide à certains endroits (alpha=0) :
http://membres.lycos.fr/davvador2416/images/DoS1.gif
 
et que les zones animées sont stockées ds des textures séparées (elles aussi plaquées sur des quads) :
http://membres.lycos.fr/davvador2416/images/DoS2.gif
 
 
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 :sweat:  
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 :
http://membres.lycos.fr/davvador2416/images/DoS3.gif
 
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 :D
:jap:

Reply

Marsh Posté le 03-02-2004 à 14:04:24   

Reply

Marsh Posté le 03-02-2004 à 14:23:37    

ben c le pb des filtrage sur les bords. tu peux aussi passer en adressage "clamp" peut etre que ca limitera un brin la casse. (technique cheap)
sino jvois pas trop, a part s'arranger pour superposer les tout (eg ne pu faire un truc qui tombe pile poile bien au pixel pres mais plutot qui se recouvre (un cache misere quoi :D)

Reply

Marsh Posté le 03-02-2004 à 14:30:01    

chrisbk a écrit :

ben c le pb des filtrage sur les bords. tu peux aussi passer en adressage "clamp" peut etre que ca limitera un brin la casse. (technique cheap)
sino jvois pas trop, a part s'arranger pour superposer les tout (eg ne pu faire un truc qui tombe pile poile bien au pixel pres mais plutot qui se recouvre (un cache misere quoi :D)
 

Le clamp ne change rien car les trous transparents sont au milieu de ma texture de fond et non sur les bords :D
Enfin si, ça sert pour les texures des anims :) (je l'avais pas précisé, mais ça l'était déjà).
 
Sinon pour le coup du cache misère, c'est ce que j'ai fait (agrandir un peu ma texture et la mappée sur un quad légèrement +grand), ou alors j'ai pas compris ta solution :??:


Message édité par Dav Vador le 03-02-2004 à 14:32:39
Reply

Marsh Posté le 03-02-2004 à 14:32:22    

question tres con : et si tu vire les zones blanches de ta texture ? (tu laisse le fond original quoi? vu que tu repasses par dessus avec les ot bout ca devrait etre tout bon non ?

Reply

Marsh Posté le 03-02-2004 à 14:34:32    

chrisbk a écrit :

question tres con : et si tu vire les zones blanches de ta texture ? (tu laisse le fond original quoi? vu que tu repasses par dessus avec les ot bout ca devrait etre tout bon non ?

Le pb, c'est que mon fond n'est pas complet :D.
Je le récupère déjà troué, et j'ai les sprites à part :sweat: .
Là j'ai fait un montage pour montrer ce que doit donner en gros mon fond, mais j'ai pas la donnée telle quelle, c'est bien dommage :/.
 
Edit: sinon oui, ce serait tout bon et bcp + simple :D


Message édité par Dav Vador le 03-02-2004 à 14:34:56
Reply

Marsh Posté le 03-02-2004 à 14:38:00    

benr econstruit un fon d complet avec une frame de tes sprite et ton fond et utilise le a la place du troué ???

Reply

Marsh Posté le 03-02-2004 à 14:38:48    

ben ouais ? Surtout si t'as les coordonnées des trous, je vois pas le pb ?

Reply

Marsh Posté le 03-02-2004 à 14:44:34    

Joel F a écrit :

benr econstruit un fon d complet avec une frame de tes sprite et ton fond et utilise le a la place du troué ???

A ben tiens, j'ai passé toute la journée d'hier dessus et j'ai pas pensé au truc le + simple... [:ddr555]
 
Merci :jap:, c'était ma question conne du jour [:aras qui rit]  

Reply

Marsh Posté le 03-02-2004 à 14:45:10    

chrisbk a écrit :

ben ouais ? Surtout si t'as les coordonnées des trous, je vois pas le pb ?
 

Oui effectivement, c'est juste que j'y avais pas pensé...
Merci les gars ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed