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

Windows Discussion :

L'activation du full scene anti-aliasing désactive Aero


Sujet :

Windows

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Points : 24
    Points
    24
    Par défaut L'activation du full scene anti-aliasing désactive Aero
    Bonjour, je lance une application faisant un rendu 3D avec OpenGL sous Vista pour laquelle j'ai activé le full scene antialiasing. Problème, durant l'exécution de l'appli, celle-ci désactive Aero ce que je ne veux pas.
    Ci-dessous le code pour "configurer" le PFD de la scène 3D ainsi que le code de création de la fenêtre.
    PFD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    [...]
        DWORD flag = 0;
        if (iResults[0] == GL_TRUE) 
          flag |= PFD_DRAW_TO_WINDOW;
        if (iResults[1] == GL_TRUE)
          flag |= PFD_DRAW_TO_BITMAP;
        if (iResults[2] == WGL_FULL_ACCELERATION_ARB)     
          flag |= PFD_GENERIC_ACCELERATED;
        if (iResults[2] == WGL_NO_ACCELERATION_ARB)
           flag |= PFD_GENERIC_FORMAT;
        if (iResults[3] == GL_TRUE)
           flag |= PFD_NEED_PALETTE;
        if (iResults[4] == GL_TRUE)
           flag |= PFD_NEED_SYSTEM_PALETTE;
        if (iResults[5] == GL_TRUE)
           flag |= PFD_SWAP_LAYER_BUFFERS;
        if (iResults[6] == WGL_SWAP_EXCHANGE_ARB)
           flag |= PFD_SWAP_EXCHANGE;
        if (iResults[6] == WGL_SWAP_COPY_ARB)
           flag |= PFD_SWAP_COPY;
        if (iResults[18] == GL_TRUE) 
           flag |= PFD_SUPPORT_GDI;  
        if (iResults[19] == GL_TRUE)
           flag |= PFD_SUPPORT_OPENGL;
        if (iResults[20] == GL_TRUE)
           flag |= PFD_DOUBLEBUFFER;
        if (iResults[21] == GL_TRUE)
           flag |= PFD_STEREO;
    
        if ( underVista )
        {
           flag &= ~(PFD_SUPPORT_GDI);  
           flag |= PFD_SUPPORT_COMPOSITION; // Composition with Aero.
        }
    
        m_pfd.nSize          = sizeof(PIXELFORMATDESCRIPTOR);
        m_pfd.nVersion       = 1;
        m_pfd.bReserved      = 0;
        m_pfd.dwLayerMask    = 0;
        m_pfd.dwVisibleMask  = 0;
        m_pfd.dwDamageMask   = 0;
        m_pfd.iLayerType     = PFD_MAIN_PLANE;
        m_pfd.dwFlags        = flag;
    [...]
    Fenêtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    [...]
    hwnd = CreateWindow( actualClassName,
                           className,
                           WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
                           0,                                         // X position
                           0,                                         // Y position
                           m_guiGLWidget->getGlxSize()[0],            // Width
                           m_guiGLWidget->getGlxSize()[1],            // Height
                           mgrWidget,                                 // Parent
                           NULL,                                      // Menu
                           SoWin::getInstance(),
                           NULL );
    [...]
    Je me suis appuyé sur cet article :
    http://www.opengl.org/pipeline/article/vol003_7/

    Si je n'active pas l'antialiasing, ça marche nickel, quelqu'un a une idée?

  2. #2
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Points : 24
    Points
    24
    Par défaut
    Après plus d'investigations, il apparait que ce n'est pas le full scene antialising qui pose problème mais un certain type de pixelformats (supérieurs à une certaine valeur). Mais je ne sais toujours pas ce qui désactive Aéro. Et même en utilisant glextension afin de comparer les différents pixelformats, je ne vois toujours pas.
    Une idée?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Points : 24
    Points
    24
    Par défaut
    J'ai finalement trouvé. Mon algo de recherche de pixels formats ne tenait pas compte du flag PFD_SUPPORT_COMPOSITION nécessaire pour que Aero reste actif avec l'appli.

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

Discussions similaires

  1. WPF désactiver l'anti aliasing
    Par camus3 dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 07/12/2010, 11h26
  2. Anti aliasing qui ne fonctionne pas
    Par Deus Ex Makina dans le forum OpenGL
    Réponses: 3
    Dernier message: 27/04/2005, 09h57
  3. Filtres Anti-aliasing et TBitmap
    Par Sub0 dans le forum Langage
    Réponses: 24
    Dernier message: 15/04/2005, 21h12
  4. filtre anti-aliasing
    Par MO GV dans le forum MFC
    Réponses: 14
    Dernier message: 04/03/2005, 19h21
  5. Anti-aliasing
    Par Cazman dans le forum OpenGL
    Réponses: 16
    Dernier message: 27/04/2004, 08h30

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