Partager via


fonction wglCreateLayerContext (wingdi.h)

La fonction wglCreateLayerContext crée un contexte de rendu OpenGL pour le dessin vers un plan de couche spécifié dans un contexte d’appareil.

Syntaxe

HGLRC wglCreateLayerContext(
  HDC unnamedParam1,
  int unnamedParam2
);

Paramètres

unnamedParam1

Spécifie le contexte de l’appareil pour un nouveau contexte de rendu.

unnamedParam2

Spécifie le plan de couche auquel vous souhaitez lier un contexte de rendu. La valeur 0 identifie le plan main. Les valeurs positives d’iLayerPlane identifient les plans de superposition, où 1 est le premier plan de superposition au-dessus du plan de main, 2 est le deuxième plan de superposition sur le premier plan de superposition, et ainsi de suite. Les valeurs négatives identifient les plans de sous-couche, où 1 est le premier plan de sous-couche sous le plan de main, 2 est le deuxième plan de sous-couche sous le premier plan de sous-couche, et ainsi de suite. Le nombre de plans de superposition et de sous-couche est indiqué dans le membre bReserved de la structure PIXELFORMATDESCRIPTOR .

Valeur retournée

Si la fonction réussit, la valeur de retour est un handle vers un contexte de rendu OpenGL.

Si la fonction échoue, la valeur de retour est NULL. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Un contexte de rendu est un port par lequel toutes les commandes OpenGL passent. Chaque thread qui effectue des appels OpenGL doit avoir un contexte de rendu actif. Un contexte de rendu n’est pas identique à un contexte d’appareil ; un contexte de rendu contient des informations spécifiques à OpenGL, tandis qu’un contexte d’appareil contient des informations spécifiques à GDI.

Avant de créer un contexte de rendu, définissez le format de pixels du contexte de l’appareil avec la fonction SetPixelFormat . Vous pouvez utiliser un contexte de rendu dans un plan de couche spécifié d’une fenêtre avec des formats de pixels identiques uniquement.

Avec les applications OpenGL qui utilisent plusieurs threads, vous créez un contexte de rendu, sélectionnez-le comme contexte de rendu actuel d’un thread et effectuez des appels OpenGL pour le thread spécifié. Lorsque vous avez terminé avec le contexte de rendu du thread, appelez la fonction wglDeleteContext .

Exemples

L’exemple de code suivant montre comment utiliser wglCreateLayerContext.

// The following code fragment shows how to render to overlay 1  
// This example assumes that the pixel format of hdc includes   
// overlay plane 1  
 
HDC hdc; 
HGLRC; 
 
// create a rendering context for overlay plane 1  
hglrc = wglCreateLayerContext(hdc, 1); 
 
// make it the calling thread's current rendering context  
wglMakeCurrent(hdc, hglrc); 
 
// call OpenGL functions here. . .  
 
// when the rendering context is no longer needed. . .  
 
// make the rendering context not current  
wglMakeCurrent(NULL, NULL); 
 
// delete the rendering context  
wglDeleteContext(hglrc);

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wingdi.h
Bibliothèque Opengl32.lib
DLL Opengl32.dll

Voir aussi

OpenGL sur Windows

PIXELFORMATDESCRIPTOR

SetPixelFormat

Fonctions WGL

wglCreateContext

wglDeleteContext

wglGetCurrentContext

wglGetCurrentDC

wglMakeCurrent