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 :

Enumerer les resolutions supportées par la Carte graphique


Sujet :

OpenGL

  1. #1
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut Enumerer les resolutions supportées par la Carte graphique
    Ca n est pas directement une question sur openGL mais je propose dans mes programmes une boite de dialogue pour le choix de la resolution d ecran

    j y est mis des valeurs arbitraires standard comme 800*600,1024*768 etc...

    existe il une fonction pour enumerer toutes les resolutions supportées par la carte , afin de proposer un choix plus large et adapté :

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 108
    Points : 128
    Points
    128
    Par défaut
    Sous Windows, tu as la fonction EnumDisplaySettings.

  3. #3
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    effectivement oui je connais deja cette fonction , mais je pensais qu elle ne servait qu a avoir les propriétés courantes d affichage


    je comprends pas comment avoir la liste toutefois

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/devcons_84oj.asp

    Citation Envoyé par msdn
    The EnumDisplaySettings function retrieves information about one of the graphics modes for a display device. To retrieve information for all the graphics modes of a display device, make a series of calls to this function.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    BOOL EnumDisplaySettings(
      LPCTSTR lpszDeviceName,  // display device
      DWORD iModeNum,          // graphics mode
      LPDEVMODE lpDevMode      // graphics mode settings
    );
    pour avoir la liste , est ce qu il faut appeller la fonction en boucle avec ENUM_CURRENT_SETTINGS jusqu a ce qu elle retourne false ?

    en allant dans le fichier d entete je vois que deux param possible :


    #define ENUM_CURRENT_SETTINGS ((DWORD)-1)
    #define ENUM_REGISTRY_SETTINGS ((DWORD)-2)

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 108
    Points : 128
    Points
    128
    Par défaut
    Effectivement, il faut appeller la fonction jusqu'à ce qu'elle te renvoi une erreur. C'est expliqué dans la remarque.

  5. #5
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    ah oui , c bien ce qui me semblait mais c juste que ca me paraissait debile d appeller la fonction avec le param ENUM_CURRENT_SETTINGS pour lister tous les modes de la cg (et pas le mode courant comme le flag l indique) , on se demande prq il ont pas cré un autre flag

  6. #6
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    je reviens car j y arrive pas ce code ne sort toujours la resolution courante et je ne sort jamais de la boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	DEVMODE dm;
     
     
    	while (EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS  , &dm) ) {
     
    		CString st;
    		st.Format("%d X %d",dm.dmPelsWidth,dm.dmPelsHeight);
    		m_reso_list.AddString(st.GetBuffer(0) );
     
    	}

  7. #7
    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 : 45
    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
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/devcons_84oj.asp

    Graphics mode indexes start at zero. To obtain information for all of a display device's graphics modes, make a series of calls to EnumDisplaySettings, as follows: Set iModeNum to zero for the first call, and increment iModeNum by one for each subsequent call. Continue calling the function until the return value is zero.

    When you call EnumDisplaySettings with iModeNum set to zero, the operating system initializes and caches information about the display device. When you call EnumDisplaySettings with iModeNum set to a non-zero value, the function returns the information that was cached the last time the function was called with iModeNum set to zero.

    Donc le premier appel est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EnumDisplaySettings(NULL, 0 , &dm)
    ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int i=1;
    while (EnumDisplaySettings(NULL, i++, &dm) ) 
    {
    ...
    }
    Si je ne me trompe pas à tester

  8. #8
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    Ca fonctionne merci

  9. #9
    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 : 45
    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
    De rien

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

Discussions similaires

  1. Les cartes graphiques : pilotage par le logiciel
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 02/04/2014, 22h27
  2. Récupérer les données envoyées par une tablette graphique
    Par greg08 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 02/06/2010, 07h04
  3. ralentissement windows causé par la carte graphique
    Par dark vador dans le forum Composants
    Réponses: 9
    Dernier message: 07/11/2007, 10h13
  4. Probleme résolution sous Debian avec ma carte graphique
    Par Arbisis dans le forum Matériel
    Réponses: 2
    Dernier message: 02/12/2005, 20h44

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