IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Autre PB avec Glew (conflit gl - glew ?)


Sujet :

OpenGL

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 55
    Points : 47
    Points
    47
    Par défaut Autre PB avec Glew (conflit gl - glew ?)
    Voila, grace à f56bre (merci encore ) j'ai résolu mon pb dasn mon application test sur VBO.

    Elle utilise un tableau serialisé qui stocke pour chaque vertex la couleur , la position et les cordonnees de texture.

    Mon cube s'affiche bien avec une couleur par face. Donc il est temps d'y appliquer une texture.
    Et là souci avec ma fonction 'convertImageToTexture()' qui converti une image en texture GL (j'ai une autre application dans laquelle ma fonction marche parfaitement, où dans le header j'utilise gl.h). Sans avoir à l'appeler sa simple présence fait planter l'appli ??? (si je la commente tout va bien). Cette fonction appelle une autre fonction qui elle n'est pour rien dans le plantage.

    Y a t-il des conflits entre Glew et certaines fonctions Gl?
    Ca n'a peut etre rien avoir

    Merci de votre aide.

    voici le code de ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
    GLuint convertImageToTexture(const char *nomFichier)
    {
        GLuint glID;
        SDL_Surface * picture_surface = NULL;
        SDL_Surface * gl_surface = NULL;
        SDL_Surface * gl_fliped_surface = NULL;
        Uint32 rmask, gmask, bmask, amask;
     
        picture_surface = IMG_Load(nomFichier);
        if (picture_surface == NULL)
        {
    	   std::cerr << "Impossible de charger Fichier image! \n";
    	   return 0;
        }
     
    #if SDL_BYTEORDER == SDL_BIG_ENDIAN
     
        rmask = 0xff000000;
        gmask = 0x00ff0000;
        bmask = 0x0000ff00;
        amask = 0x000000ff;
    #else
     
        rmask = 0x000000ff;
        gmask = 0x0000ff00;
        bmask = 0x00ff0000;
        amask = 0xff000000;
    #endif
     
        SDL_PixelFormat format = *(picture_surface->format);
        format.BitsPerPixel = 32;
        format.BytesPerPixel = 4;
        format.Rmask = rmask;
        format.Gmask = gmask;
        format.Bmask = bmask;
        format.Amask = amask;
     
        gl_surface = SDL_ConvertSurface(picture_surface,&format,SDL_SWSURFACE);
     
        gl_fliped_surface = flipSurface(gl_surface);
     
        glGenTextures(1, &glID);
     
        glBindTexture(GL_TEXTURE_2D, glID);
     
     
        glTexImage2D(GL_TEXTURE_2D, 0, 4, gl_fliped_surface->w,
                     gl_fliped_surface->h, 0, GL_RGBA,GL_UNSIGNED_BYTE,
                     gl_fliped_surface->pixels);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
     
        glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
     
     
        SDL_FreeSurface(gl_fliped_surface);
        SDL_FreeSurface(gl_surface);
        SDL_FreeSurface(picture_surface);
     
    	std::cerr << "Load TEXTURES : OK, id :" << glID << "\n";
     
        return glID;
    }
     
    SDL_Surface * flipSurface(SDL_Surface * surface)
    {
        int current_line,pitch;
        SDL_Surface * fliped_surface = SDL_CreateRGBSurface(SDL_SWSURFACE,
                                       surface->w,surface->h,
                                       surface->format->BitsPerPixel,
                                       surface->format->Rmask,
                                       surface->format->Gmask,
                                       surface->format->Bmask,
                                       surface->format->Amask);
     
     
     
        SDL_LockSurface(surface);
        SDL_LockSurface(fliped_surface);
     
        pitch = surface->pitch;
        for (current_line = 0; current_line < surface->h; current_line ++)
        {
            memcpy(&((unsigned char* )fliped_surface->pixels)[current_line*pitch],
                   &((unsigned char* )surface->pixels)[(surface->h - 1  -
                                                        current_line)*pitch],
                   pitch);
        }
     
        SDL_UnlockSurface(fliped_surface);
        SDL_UnlockSurface(surface);
        return fliped_surface;
    }

  2. #2
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Glew ne peut entrer en "conflit" car elle permet juste d'accéder à un certain nombre de fonctions OpenGL, donc la réponse à ta question

    (conflit gl - glew ?)
    non, pas de problème

    Les drivers de ta carte vidéo sont à jour ?

Discussions similaires

  1. Réponses: 17
    Dernier message: 12/07/2006, 22h04
  2. Choix d'un autre SGBD avec ASP
    Par Tragnee dans le forum ASP
    Réponses: 5
    Dernier message: 24/04/2006, 11h55
  3. Excel : lien hypertexte vers un autre fichier avec nom page
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/11/2005, 09h33
  4. [VB.Net] Un autre probleme avec controle DropDownList
    Par angelevil dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/03/2005, 14h59
  5. Transparence autre qu'avec le noir...
    Par Ptibibi dans le forum DirectX
    Réponses: 11
    Dernier message: 07/06/2004, 18h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo