shorzy
Messages postés94Date d'inscriptionjeudi 23 novembre 2000StatutMembreDernière intervention 1 juin 2013
-
9 févr. 2010 à 00:22
shorzy
Messages postés94Date d'inscriptionjeudi 23 novembre 2000StatutMembreDernière intervention 1 juin 2013
-
18 mars 2010 à 11:08
Salut à Tous
Je voudrais Dessiner un Sprite (Texturer Donc)
La Texture est entierement Noir sauf une Forme en Blanc.
Je veux que seule la Forme resorte !!!
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_COLOR,GL_ONE_MINUS_SRC_COLOR);
Jusque là tout va Bien !!
La partie Noire n'est pas Visible.
Seule resort la Forme !!
Le Problème aparait lorsqu'un Objet Transparent s'interpose entre 'Nous' et le Sprite
=> Le Sprite n'est pas 'mélanger'
Cela parait normal selon le Code ci dessus, mais se n'est pas ce que je veux !!
Je voudrais mélanger le Sprite dans ce cas là..
Apparement, il faudrait que j'écrive dans le Depth_Buffer mais quelle opération réaliser ?
Certainement comme un Stencil, mais Comment l'Adapter sur le Depth_buffer
HELP !!!
underprog
Messages postés19Date d'inscriptionsamedi 7 novembre 2009StatutMembreDernière intervention16 mai 2010 16 mars 2010 à 14:11
Plutot que le blending ou l'utilisation des stencils buffers, tu peux utiliser des images en 32 bits (avec canal alpha)...
Dans ton code de chargement de texture, mets bien 'GL_RGBA' a la place de GL_RGB.
Et pour le rendu de ton sprite :
glEnable(GL_ALPHA_TEST);
glAlphaFunc(GL_GREATER, 0.7f); // Rendu des pixels ayant une composante alpha supérieur a 0.7 (fait varier cette valeur a ta convenance)
// ...
// Selection de la texture
// Rendu Sprite
// ...
shorzy
Messages postés94Date d'inscriptionjeudi 23 novembre 2000StatutMembreDernière intervention 1 juin 2013 18 mars 2010 à 11:08
Effectivement.
Je ne pensais pas utilisé cette méthode-ci puisque l'Image existe déjà et n'est pas en 32 Bits.
Je vais Modifier l'Image, même voire même créer un Bout de Programme pour y arrivé. (Si c'est le Cas je le Posterais avec un Liens ici)
J'utiliserais ensuite la méthode GL_ALPHA_TEST.
Je pensais qu'il existait d'autre méthode (Acrobatique)
Merci de m'avoir rappelé cela