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 :

Afficher une texture sur un GL_Quads


Sujet :

OpenGL

  1. #21
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut
    Citation Envoyé par Loulou24
    Citation Envoyé par Zoso_
    La boite de dialogue est générée par : auxDIBImageLoad
    C'est une fonction de la library AUX.
    Marrant. Surtout pour une bibliothèque portable. Et si jamais on veut traiter l'erreur dans le programme, on ne peut pas se passer de la boîte de dialogue ?
    Je t'avoue que je ne sais pas comment on pourrait faire pour se passer de cette boite de dialogue. C'est assez genant c est certains.

  2. #22
    Nouveau Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Salut,

    Voila, je m'essayais moi aussi au texturing, évidemment avec les mêmes tutos. Et j'ai eu le même problème.

    Pour le résoudre, j'ai mis le fichier .bmp à la racine du lecteur C. Apparement, en chemin absolu ca marche mieux. Mais j'ai pas trop creusé.

    Gaël

  3. #23
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 219
    Points : 44
    Points
    44
    Par défaut
    J'ai toujours le même souci dans ma fonction :

    AUX_RGBImageRec* LoadBMP(char* fileName){
    ifstream in(fileName,ios::in);
    if (!in.is_open())
    exit(-1); //Erreur
    in.close();
    return auxDIBImageLoad((LPCWSTR)fileName);
    }
    Le programme quitte toujours sur l'erreur, le fichier n'est donc pas ouvert et je ne sais vraiment pas pourquoi... fileName semble être un chemin correct pourtant (j'ai même testé le chemin absolu à partir de C: ) et j'ai redimensionné mon image qui fait 64x64...

    Si quelqu'un sait d'ou vient le problème

    Merci d'avance,

    Alex

  4. #24
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 219
    Points : 44
    Points
    44
    Par défaut
    Je bloque toujours sévèrement sur l'histoire...

  5. #25
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 28
    Points : 26
    Points
    26
    Par défaut
    fonctionne sous windows uniquement, la fonction gère un fichier BMP 24bits :

    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
     
    GLubyte * LoadBMP(const string & Filename) const
    {
      GLubyte * Dest = NULL;
      HBITMAP hBMP;										
      BITMAP   BMP;												
      hBMP = (HBITMAP)LoadImage(GetModuleHandle(NULL), Filename.c_str(), IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE);
     
       if (hBMP) 
       {
         // le fichier a bien été chargé
         GLenum Format = GL_BGR;
         GetObject(hBMP, sizeof(BMP), &BMP);			
     
         GLuint DataSize = BMP.bmWidth * BMP.bmHeight * 3;
     
         Dest = new GLubyte[DataSize];
         GLubyte * Src = (GLubyte *)BMP.bmBits;
         memcpy(Dest, Src, DataSize);
     
         DeleteObject(hBMP);
       }
      return Dest;
    }
    En utilisant le chemin absolu ça doit marcher... /!\ au '//' '\' '/' dans le chemin absolu du fichier bmp.

Discussions similaires

  1. Afficher une texture sur la fenêtre en tailel réelle
    Par Matthieu Brucher dans le forum OpenGL
    Réponses: 17
    Dernier message: 02/07/2008, 12h22
  2. Réponses: 4
    Dernier message: 12/09/2005, 19h23
  3. Afficher une texture "pleine" sur un support non c
    Par Mastero dans le forum DirectX
    Réponses: 20
    Dernier message: 27/01/2005, 13h28
  4. Afficher une texture plein ecran en 2D
    Par venomelektro dans le forum OpenGL
    Réponses: 8
    Dernier message: 07/10/2004, 12h30
  5. afficher une fenetre_B sur une autre fenetre_A
    Par dibak dans le forum C++Builder
    Réponses: 14
    Dernier message: 10/10/2003, 23h50

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