begin process at 2012 05 29 13:37:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

OpenGL

 > 

Plusieurs contexte


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Plusieurs contexte

mercredi 23 février 2005 à 17:41:05 | Plusieurs contexte

charliejo

Bonjour,
J'ai le code suivant pour créer plusieurs context.
   int pf, maxpf;
    PIXELFORMATDESCRIPTOR pfd;
    LAYERPLANEDESCRIPTOR  lpd;  /* layer plane descriptor */
    int   nEntries = 2;   /* number of entries in palette */
    COLORREF crEntries[2] = {  /* entries in custom palette */
      0x00000000,   /* black (ref #0 = transparent) */
      0x00ff0000,   /* blue */
    };
    /* get the maximum number of pixel formats */
    maxpf = DescribePixelFormat(hDC, 0, 0, NULL);
    /* find an overlay layer descriptor */
    for(pf = 0; pf < maxpf; pf++) {
        DescribePixelFormat(hDC, pf, sizeof(PIXELFORMATDESCRIPTOR), &pfd);
 /* the bReserved field of the PIXELFORMATDESCRIPTOR contains the
    number of overlay/underlay planes */
 if (pfd.bReserved > 0) {
   /* aha! This format has overlays/underlays */
   wglDescribeLayerPlane(hDC, pf, 1,
    sizeof(LAYERPLANEDESCRIPTOR), &lpd);
   if (lpd.dwFlags & LPD_SUPPORT_OPENGL  &&     lpd.dwFlags & flags)
     {
       goto found;
     }
 }
    }
found:
    /* now get the "normal" pixel format descriptor for the layer */
    DescribePixelFormat(hDC, pf, sizeof(PIXELFORMATDESCRIPTOR), &pfd);

    /* set the pixel format */
    if(SetPixelFormat(hDC, pf, &pfd) == FALSE) {
 MessageBox(NULL,
     "SetPixelFormat() failed:  Cannot set format specified.",
     "Error", MB_OK);
        return 0;
    }
   
    /* set up the layer palette */
    wglSetLayerPaletteEntries(hDC, 1, 0, nEntries, crEntries);

    /* realize the palette */
    wglRealizeLayerPalette(hDC, 1, TRUE);

    /* announce what we've got */
    printf("Number of overlays = %d\n", pfd.bReserved);
    printf("Color bits in the overlay = %d\n", lpd.cColorBits);

    return pf;

Le problème c'est que dans la condition"   if (lpd.dwFlags & LPD_SUPPORT_OPENGL  &&     lpd.dwFlags & flags) " il ne trouve jamais un cas où on a LPD_SUPPORT_OPENGL...
Je vois pas comment faire pour obtenir cette condition ?

Je vous remercie !

mercredi 23 février 2005 à 18:17:20 | Re : Plusieurs contexte

patatalo

Membre Club Administrateur CodeS-SourceS
salut,

and the function fail or not ?

@++
mercredi 23 février 2005 à 18:31:35 | Re : Plusieurs contexte

ymca2003

Attention à la priorité des opérateurs, il faut mettre des parenthèses
if ((lpd.dwFlags & LPD_SUPPORT_OPENGL)  &&    ( lpd.dwFlags & flags))
mercredi 23 février 2005 à 18:36:14 | Re : Plusieurs contexte

charliejo

La fonction retourne Null et du coup après l'appel de
hOverlayRC = wglCreateLayerContext(pDC->m_hDC, 1);
me retourne un context null.
mercredi 23 février 2005 à 18:53:03 | Re : Plusieurs contexte

charliejo

Les parenthèses, ça change rien....

mercredi 23 février 2005 à 19:01:44 | Re : Plusieurs contexte

patatalo

Membre Club Administrateur CodeS-SourceS
salut,

est tu sur que hDC soit valide, il y a plusieurs fonctions pour l'obtenir, il faut peut etre utiliser CreateCompatibleDC ou je sais quoi encore, je suis pas spécialiste.

verifie bien tout tes retours de fonctions, tu galerera moins pour savoir d'ou vient le pb

@++
jeudi 3 mars 2005 à 22:50:58 | Re : Plusieurs contexte

KeniiyK

Membre Club

Au sinon il y a Qt... qui gere tout ca tranquillement....



Cette discussion est classée dans : pf, hdc, of, pfd, lpd


Répondre à ce message

Sujets en rapport avec ce message

probleme openGl niveau debutant [ par AmK ] salut je debute en openGL et j'ai du mal a creer une fenetre le compilateur me mets 2 erreurs :PS: les erreurs du compilateur(vc++ 6.0)sont plus bas ! De l'openGL sur le bureau [ par Alcantornet ] Hello le peuple, J'ai fait une petite horloge en openGL et j'aimerais pouvoir la mettre à la place de l'arrière plan. Je pense qu'il faut que je lie Pb Multisampling [ par mehdithe ] /////////////////////////////////////////////////////////////////////////////////////////////////        CreateMainContext                             Choosepixelformat & Setpixelformat [ par mondrone ] Voila, je developpe actuellement sur dev-c++, et l'utilisation de ces deux fonctions me renvoie une erreur de linkage. Je voudrais donc savoir ce qui Besoin d'aide openGL [ par suifer34 ] Bonjour, En cours d'opengl je dois créer un échiquier et mettre pour l'instant seulement des pions dessus. J'aimerais savoir comment faire pour qu'un redimentionnement d'image, aidez-moi svp [ par sousou_one ] salut à tous,je veux construire une bitmap par copie d'une région d'une bitmap source, je dois prendre les nouvelles dimensions en sélectionnant la ré utiliser plusieurs controles scrollbar dans une fenetre [ par kaishaku ] Bonjour, je debute la programmation win32 en ecrivant un petit soft, pour mon pere, dans lequel j'ai besoin de 4 scrollbars horizontales. J'arrive à g scintillement et HDC [ par DormeurDev ] Pour éviter le scintillement dû au rafraîchissement dans des appliqcation graphique on utilise un buffer pour dessiner avant d'afficher. Comment mett Probleme avec une fonction de rotation [ par SnOOpss ] voila ma fonction HBITMAP rotate90(HBITMAP hbmp) { BITMAP bm; GetObject((HBITMAP)hbmp, sizeof(bm), &bm); BITMAPINFO bi,biNew; biNew.bmiHeader.biSiz Clignotement avec GDI [ par unrealgun ] Bonjour,Je viens de commencer la programmation en C++, j'utilise DEV-CPP et j'ai un probleme avec GDI : j'utilise la fonction RECANGLE pour dessiner,


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales