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 :

Opengl & Vista, crash sur glTexImage2D


Sujet :

OpenGL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 53
    Points : 36
    Points
    36
    Par défaut Opengl & Vista, crash sur glTexImage2D
    Hello, voila mon soucis

    lorsque que j'utilise la fonction glTexImage2D sous vista (Visual studio 2005), j'ai un gros crash dans atioglxx.dll

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    glTexImage2D(GL_TEXTURE_2D, i, GL_LUMINANCE8_ALPHA8, Width, Height, 0, GL_RGBA, GL_UNSIGNED_BYTE, Null);
    Ceci marche parfaitement sous xp Visual 2005.
    Par ailleurs j'ai lu que cerains pass en 3eme argument, non pas un enum internal format, mais du BytePerPixel, pourquoi ?
    Si j'essai cette methode, ca ne change rien :

    GL_LUMINANCE8_ALPHA8 = 16 bits = 2 BYTE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glTexImage2D(GL_TEXTURE_2D, i, 2, Width, Height, 0, GL_RGBA, GL_UNSIGNED_BYTE, Null);
    Si quelqun a une idée je suis preneur...

    En vous remerciant

    Tosh

  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
    Le dernier argument qui est égal à Null est peut être border line

    http://www.opengl.org/documentation/...eximage2d.html
    In GL version 1.1 or greater, pixels may be a null pointer.
    In this case texture memory is allocated to accommodate a
    texture of width width and height height. You can then
    download subtextures to initialize this texture memory. The
    image is undefined if the user tries to apply an
    uninitialized portion of the texture image to a primitive.
    Essaye de créer une image RGBA de taille Width, Height pour voir, et lui passer en argument.

    Sinon essaye GL_RGBA (classique) pour matcher avec GL_RGBA.

  3. #3
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    oula, attention, le deuxieme code est complement faux, GL_LUMINANCE8_ALPHA8 est un "identifiant" de type de texture, donc rien a voir avec la taille d'un octet ou autre...

    sinon, comme ti-r, le null peut être très limite, et etant donné que les texture du type GL_LUMINANCE sont rarement utilisée, vista est tout nouveau et ATI a toujours été mauvais en OpenGL, donc il y a de fortes chances pour que ca vienne de la
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 53
    Points : 36
    Points
    36
    Par défaut
    Merci de vos reponse, j'ai finalement trouvé, enfin presque , d'ou venait le probleme.
    J'essayais de générer des mipmaps (a l'insue de mon plein gré)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, nMipmaps);
    Ce qui visiblement ne fonctionne pas, reste a investiguer la dessus....

    Pour le pointeur a Null, c'est juste pour l'aloccation de memoire, mais si vous me dite que c'est "border line", je vais sans dout reflechir a faire autrement...

  5. #5
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 183
    Points
    5 183
    Par défaut
    La paramètre "border" tu l'as mis à zéro, le pointeur à NULL ne devrait pas poser de problème, c'est juste que tu alloues une texture mais que tu ne la transfère pas donc elle devrait être vide (ou indéfinie).

    Je dit bien "devrait" car comme le dit bafman, ATI...
    La preuve que c'est mal géré, la création des mipmaps de cette texture au contenu indéfini te fait planter
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  6. #6
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    Citation Envoyé par shenron666
    comme le dit bafman, ATI...
    moi j'ai dit ca un jour ?
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. OpenGL - Afficher une image sur un quad
    Par Akwel91 dans le forum OpenGL
    Réponses: 16
    Dernier message: 16/01/2007, 11h04
  2. [Install Vista] crainte sur l'installation Vista
    Par Jsh dans le forum Windows Vista
    Réponses: 21
    Dernier message: 19/10/2006, 11h48
  3. Réponses: 8
    Dernier message: 06/09/2006, 17h36
  4. [Disques Durs] Prévenir un crash sur un disque dur
    Par Furius dans le forum Composants
    Réponses: 6
    Dernier message: 07/01/2006, 17h04

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