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 :

glMultTransposeMatrixd n'est pas la?


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 67
    Par défaut glMultTransposeMatrixd n'est pas la?
    Bonjour à tous...

    Un petit problème super bas de gamme...

    Environnement : Windows 7
    IDE : Visual Studio 2008

    je fais un petit projet OpenGL. Tout va bien jusqu'à ce que je veuille utiliser la fonction glMultTransposeMatrixd...

    Elle n'est pas déclarée dans GL/gl.h, n'apparait pas dans le lib et ne figure pas non plus dans la dll.

    Apparemment elle est souvent déclarée dans glext.h... Ca, c'est OK!
    Mais où trouve-t-on la lib et la dll associée....

    Le web nous renvoie par exemple à la SDL, où la fonction est effectivement déclarée dans SDL_opengl.h, mais ne figure pas non plus dans les libs et dlls associées, SDL et SDLMain...

    Bref, je m'arrache les cheveux, sur un problème que tout linuxien ne voit même pas, puisque chez lui, tout ceci est bien ficelé dans le gl.h associé à MESA3D version 7.4

    J'ai également fait un tour du coté des SDKs constructeurs (NVidia et Ati), pour télécharger et installer leur implémentation de OpenGL. Des tas de trucs y figurent, mais pas glMultTransposeMatrix...

    D'ou ma question.. Où trouve-t-on les libs et dlls associées aux extensions de glext.h ?

    Merci de vos réponses!

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Ce qui se trouve dans glext.h ce sont les déclarations des extensions, donc par définition les fonctions qui ne sont justement pas déclarées dans l'en-tête / bibliothèque OpenGL fournie par l'OS.

    Pour ne pas te prendre la tête à gérer les extensions, je te conseille d'utiliser une bibliothèque dédiée du genre GLEW ou GLEE.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 67
    Par défaut
    J'en étais arrivé à la même conclusion... Une dernière question..
    De ces librairies, laquelle assure la meilleure compatibilité avec des cartes graphiques de marques différentes...

    Pour le moment, j'ai choisi GLEW...

    Merci.

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Normalement elles sont toutes deux mises à jour assez régulièrement pour intégrer les dernières extensions.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 67
    Par défaut oui, mais voilà, ça ne marche toujours pas....
    Rebonjour...

    Après quelques jours d'interruption, je me suis remis sur ce problème...

    J'utilise pour le moment, le kit NVIDIA_SDK10_OpenGL_10.52.0808.1735
    qui semblait contenir tout ce que je souhaitais...

    soit donc
    #include <GL/glew.h> la où il faut...
    un appel à glewInit() au début du programme...
    un link avec glew32.lib
    un path qui contient le chemin d'accès à glew32.dll

    Tout ça compile linke et la DLL est trouvée au démarrage...

    Mais quand j'arrive sur le glMultTransposeMatrixd, plantage.

    Le code machine lors de l'appel est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    mov         edx,dword ptr [__imp____glewMultTransposeMatrixd (5C3BBF90h)] 
    mov         eax,dword ptr [edx] 
    call        eax
    Edx vaut 0x1002D31C, adresse confirmée par une analyse de la DLL avec depends.exe qui me donne 0x2D31C comme point d'entrée...
    Et eax vaut 0... Ce qui justifie le plantage!

    Je précise que les exemples du SDK marchent, ce qui prouvent que GLEW est correctement installé et fonctionnel...
    Quelqu'un aurait-il une piste? Merci d'avance...

Discussions similaires

  1. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  2. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 11h19
  3. LIKE de tout ce qui n'est pas compris entre a<-&
    Par DjinnS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/07/2003, 13h09
  4. [VB6] générer un recordset qui n'est pas lier à un bdd
    Par damyrid dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/06/2003, 17h48
  5. Index n'est pas a jour
    Par touhami dans le forum Paradox
    Réponses: 5
    Dernier message: 11/12/2002, 14h47

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