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 :

[DEBUTANT] Est ce que l'état est partagé entre plusieurs applications / objets ?


Sujet :

OpenGL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 225
    Points : 118
    Points
    118
    Par défaut [DEBUTANT] Est ce que l'état est partagé entre plusieurs applications / objets ?
    Salut tout le monde !

    Je suis en train de développer en C++ une application utilisant OpenGL pour la gestion de l'affichage et je me pose les questions suivantes :
    * est ce que l'état courant d'OpenGL est partagé entre plusieurs applications ?
    * est ce que l'état courant d'OpenGL est partagé entre plusieurs objets d'une application ?

    D'avance merci.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 199
    Points : 116
    Points
    116
    Par défaut
    D'application en application : NON
    OpenGL est une API, tu créé un contexte au début de ton programme mais il sera propre à ton programme. Si tu exectute 2 programmes en même temps, windows va successivement charger les contextes correspondants mais en aucun cas garder le même. Si tu les executent à la suite le contexte du premier va être détruit à la fermeture du programme.

    D'objet en objet dans une application : OUI
    OpenGL est une machine à état, c'est à dire qu'elle reste dans un état donné tant que tu ne le modifie pas explicitement. Si dessine tes 2 objets sans activer d'option entre deux, ils auront le même contexte OpenGL.

  3. #3
    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 : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Note que tu peux partager certaines choses entre plusieurs contextes avec la fonction wglShareLists.

  4. #4
    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
    tout depend ce que tu appel objets.
    si tu parle d'un objet au sens objet 3D, alors oui, il y a partage de l'etat.
    par contre, si ce que tu appel objet est une zone de rendu openGL, alors, non (sauf si on utilise les extensions de partage dont parle Laurent). En gros, si dans une même application tu a deux fenêtres openGL, par defaut, le context openGL ne sera pas le même entre les deux fenêtres
    * 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

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 225
    Points : 118
    Points
    118
    Par défaut
    Ce que j'appel un objet est une instance de classe C++.

    Dans mon application, un objet (le moteur 3D) se charge d'initialiser le contexte. Ailleurs dans mon application, d'autres objets vont appeler des primitives OpenGL pour créer des scènes et les afficher par dessus la fenêtre principale.

    Ce que je me demande c'est est ce que mes objets (pas le moteur 3D dont je ne dispose pas des sources) doivent initialiser le contexte ou bien est ce qu'ils peuvent réutiliser le contexte existant initialisé par l'objet moteur 3D ?

  6. #6
    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 : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Un context est généralement associé à une "zone" de rendu (une fenêtre, un contrôle, ...). Donc tout ce que tu rends au même endroit utilisera le même contexte. Pose toi des questions seulement si tu as plusieurs zones de rendu.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 225
    Points : 118
    Points
    118
    Par défaut
    ok, merci.

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

Discussions similaires

  1. Formulaire partagé entre plusieurs applications
    Par Pascal Lob dans le forum VB.NET
    Réponses: 3
    Dernier message: 02/09/2014, 14h41
  2. Réponses: 0
    Dernier message: 28/03/2011, 16h51
  3. Est-ce que cette ligne est obligatoire ? (<!DOCTYPE html.
    Par cvb dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 11/12/2005, 00h07
  4. est ce que office arabe97 est compatible avec windows 98
    Par ghita269 dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 10/11/2005, 19h16
  5. [débutant]Est-ce que Direct X est programmable en C ?
    Par Bubonik software dans le forum DirectX
    Réponses: 12
    Dernier message: 12/12/2003, 10h45

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