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 :

être ou ne pas être-Déprécié.


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Robxley
    Homme Profil pro
    Docteur ingénieur traitement d'image
    Inscrit en
    Mai 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Docteur ingénieur traitement d'image

    Informations forums :
    Inscription : Mai 2009
    Messages : 158
    Par défaut être ou ne pas être-Déprécié.
    Bonjour à tous,

    Avec les nouvelles spécifications de Opengl (et GLSL ) beaucoup d'anciennes fonctions sont devenues dépréciées (glVertex, gl*Matrix...). Je souhaite mettre à jour mes travaux en respectant les nouvelles spécifications et donc éviter d'utiliser toutes fonctions dépréciées bien évidemment.

    J'ai repris récemment mon programme basé sur les lib SDL/glew (bien évidemment version pour opengl 3.x+, soit SDL 1.3beta et glew 1.7.0) sous l'IDE VS C++ 2010 express.

    Or, je viens de constater que lors de la compilation de mon projet aucun warning/error n'est indiqué lors de la compilation et cela en présence de fonctions dépréciées mises volontairement pour le test.

    J'aimerai savoir s'il était possible de voir lors de la compilation des warnings/errors sur les fonctions dépréciées. Les vielles habitudes ont leurs automatismes et je dois dire que je n'ai pas toutes les nouvelles spécifications en tête. Il serait donc important d'avoir un retour lors de la compilation dans le cas d'un emploi de fonctions dépréciées.

    J'ai vu que sous linux avec l'utilisation de gl3.h et certain #define il était possible d'obtenir ce genre d'info lors de la compilation, ce que ne semble pas permettre glew.h.

    J'ai cherché sur le net pour mon cas mais je n'ai rien trouvé. Si quelqu'un a quelques infos je suis preneur.

  2. #2
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Bonjour,

    je ne sais pas comment afficher ces infos à la compilation, mais gDebugger vous permet de detecter les appels aux fonctions dépréciées pendant l'execution il me semble, vous pouvez commencer par ca...

  3. #3
    Membre éprouvé Avatar de Robxley
    Homme Profil pro
    Docteur ingénieur traitement d'image
    Inscrit en
    Mai 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Docteur ingénieur traitement d'image

    Informations forums :
    Inscription : Mai 2009
    Messages : 158
    Par défaut
    Je viens de tester aussi que lors que j'utilise des fonctions dépréciées dans la version opengl utilisée (3.2 spécifié dans notre programme) lors de l’exécution il y a une erreur adresse 0x00000 mémoire sur la fonction en question :

    exemple :

    sous SDL pour la version d'opengl que l'on souhaite utiliser il faut d’éclater :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
        SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);
    pour la version 3.2 par exemple.
    Et tous fonctions dépréciées des versions précédentes génèrent une erreur adresse 0 lors de l’exécution. On peut utiliser le debuggeur pas par pas et erreur par erreur pour marquer un arrêt sur ces fonctions dépréciées, mais c'est lourd et ça demande de recompiler à chaque modification......

    Je vais regarder du coté de gDebugger, mais gDebugger n'est pas optimal non plus je pense pour trouver les lignes des fct dépréciées etc....

  4. #4
    Membre éclairé Avatar de Hijack
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2011
    Messages : 30
    Par défaut
    Salut Robxley,

    normalement (je dis bien normalement) les fonctions dépréciées devraient être affiché à la compilation à condition qu'elles aient été marqué comme "deprecated" par leur auteur... Ce marquage s'effectue directement dans le code.

    De plus, l'intellisense de VS devraient te signaler les fonctions dépréciées...

    S'ils ne le fait pas, c'est que :
    -Les developpeur de opengl n'ont pas marqué leur fonction comme "deprecated" (Cela m'étonnerait quand même...)
    - Tu as réussit à désactiver le marquage des fonctions dépréciées (et alors là, bravo )
    - L'intellisense de VS merdouille un peu (Si on ne peut plus lui faire confiance... )

    En tout cas le mieux c'est de lire les nouvelles spécifications Et d'essayer de les retenir (plus facile à dire, qu'à faire )

  5. #5
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Effectivement, GLEW déclare les fonctions pour le Core Profile et le Compatibility Profile et ne teste donc pas les fonctions dépréciées. Elles génèrent simplement une erreur au runtime.
    Tu peux avoir la liste des fonctions dépréciées dans les spécifications d'OpenGL, annexe E.2.2

    Sinon tu peux utiliser GL3W (qui ne charge pas les fonctions, donc teste la compatibilité avec GL3W puis utilise GLEW). GL3W est un équivalent de GLEW mais uniquement pour le Core Profile 3.x/4.x

  6. #6
    Membre éprouvé Avatar de Robxley
    Homme Profil pro
    Docteur ingénieur traitement d'image
    Inscrit en
    Mai 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Docteur ingénieur traitement d'image

    Informations forums :
    Inscription : Mai 2009
    Messages : 158
    Par défaut
    Merci pour vos réponses,

    @Hijack, j'ai rien touché et je reste généralement gentil avec l'intellisense de VS, il risque de m'emmerdait plus quoi moi je l'emmerde s'il marche plus, donc je reste gentil avec
    Effectivement, GLEW ne spécifie pas les fonctions dépréciées comme le fait remarquer d'ailleurs gbdivers


    @gbdivers,
    Je connais pas GL3W, je vais aller voir ça plus en détail.

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

Discussions similaires

  1. être ou ne pas être une base de données
    Par lapuce dans le forum Décisions SGBD
    Réponses: 8
    Dernier message: 27/09/2006, 17h15
  2. être ou ne pas être sur un objet
    Par Speed41 dans le forum Delphi
    Réponses: 3
    Dernier message: 24/09/2006, 13h36
  3. [PhpMyVisites] Réinitialiser les stats / Ne pas être compté
    Par mastercartman dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 18/03/2006, 21h25
  4. un fichier qui ne veut pas être supprimé!!!!
    Par en_stage dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 22/10/2005, 01h08
  5. Réponses: 6
    Dernier message: 03/09/2003, 10h29

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