Problème de transparence sur texture opengl [Résolu]

Signaler
Messages postés
71
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
21 octobre 2007
-
Messages postés
71
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
21 octobre 2007
-
bonsoir
la transparence sur la texture tga ne s'affiche pas, pourtant j'utilise le code ci-dessous et je ne vois pas quoi d'autre à ajouter ou modifier au code
merci d'avance pour un eventuel tuyau:

#include <gl/glext.h>


class Csdl
{
   public:  
GLuint texture_name;
 
void LoadTexture(const char*file,GLuint texture)
     {
        SDL_Surface *image=IMG_Load(file);          
   
    if (image==NULL)
    {
       MessageBox(NULL,"Image pas chargée","debug",MB_ICONSTOP|MB_OK);
    }
  GetObject(image, sizeof(image), &image);                                                                 
  glGenTextures(1,&texture_name);
  glBindTexture(GL_TEXTURE_2D,texture);      
 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);
 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);
 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
 
 if(strstr(file,".tga"))
  gluBuild2DMipmaps(GL_TEXTURE_2D, 3, image->w, image->h,
    GL_BGRA, GL_UNSIGNED_BYTE, image->pixels);
 
  if(strstr(file,".bmp"))
  gluBuild2DMipmaps(GL_TEXTURE_2D, 3, image->w, image->h,
    GL_BGR, GL_UNSIGNED_BYTE, image->pixels);
   
  if(strstr(file,".jpg"))       
  gluBuild2DMipmaps(GL_TEXTURE_2D, 3, image->w, image->h,
    GL_RGB, GL_UNSIGNED_BYTE, image->pixels); 
                        
  glEnable(GL_TEXTURE_2D);
  glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  glEnable(GL_BLEND);
  DeleteObject(image);             
 
    }                                                            
};

2 réponses

Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
T'es sur du GL_BGRA ? Sinon, l'argument 3 devrait
plutot etre 4 deja, et ca me parait bizzare comme arguement, je pense
plutot que tu devrais avoir un truc de ce genre (cas un enum GL_RGBA ou
l'autre):

gluBuild2DMipmaps(GL_TEXTURE_2D, GL_BGRA, image->w, image->h, GL_RGBA, GL_UNSIGNED_BYTE, image->pixels);

http://neogamedev.chable.net/index.php?PageID=2033
Messages postés
71
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
21 octobre 2007

salut
MERCI  luhtor ca fonctionne avec en argument le "4"
maintenant la transparence est OK