Freigeben über


wglCreateLayerContext-Funktion (wingdi.h)

Die wglCreateLayerContext-Funktion erstellt einen neuen OpenGL-Renderingkontext zum Zeichnen auf eine angegebene Ebenenebene in einem Gerätekontext.

Syntax

HGLRC wglCreateLayerContext(
  HDC unnamedParam1,
  int unnamedParam2
);

Parameter

unnamedParam1

Gibt den Gerätekontext für einen neuen Renderingkontext an.

unnamedParam2

Gibt die Ebenenebene an, an die Sie einen Renderingkontext binden möchten. Der Wert 0 identifiziert die Standard Ebene. Positive Werte von iLayerPlane identifizieren Überlagerungsebenen, wobei 1 die erste Überlagerungsebene über der Standard Ist, 2 die zweite Überlagerungsebene über der ersten Überlagerungsebene usw. ist. Negative Werte identifizieren Unterlageebenen, wobei 1 die erste Unterlageebene unter der Standard Ist, 2 die zweite Unterlageebene unter der ersten Unterlageebene usw. ist. Die Anzahl der Überlagerungs- und Unterlageebenen wird im bReserved-Element der PIXELFORMATDESCRIPTOR-Struktur angegeben.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Handle für einen OpenGL-Renderingkontext.

Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Ein Renderingkontext ist ein Port, über den alle OpenGL-Befehle übergeben werden. Jeder Thread, der OpenGL-Aufrufe durchführt, muss über einen aktuellen aktiven Renderingkontext verfügen. Ein Renderingkontext ist nicht mit einem Gerätekontext identisch. ein Renderingkontext enthält openGL-spezifische Informationen, während ein Gerätekontext GDI-spezifische Informationen enthält.

Bevor Sie einen Renderingkontext erstellen, legen Sie das Pixelformat des Gerätekontexts mit der Funktion SetPixelFormat fest. Sie können einen Renderingkontext nur auf einer angegebenen Ebenenebene eines Fensters mit identischen Pixelformaten verwenden.

Bei OpenGL-Anwendungen, die mehrere Threads verwenden, erstellen Sie einen Renderingkontext, wählen ihn als aktuellen Renderingkontext eines Threads aus und führen OpenGL-Aufrufe für den angegebenen Thread aus. Wenn Sie mit dem Renderingkontext des Threads fertig sind, rufen Sie die Funktion wglDeleteContext auf.

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie wglCreateLayerContext verwendet wird.

// 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);

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wingdi.h
Bibliothek Opengl32.lib
DLL Opengl32.dll

Weitere Informationen

OpenGL unter Windows

PIXELFORMATDESCRIPTOR

SetPixelFormat

WGL-Funktionen

wglCreateContext

wglDeleteContext

wglGetCurrentContext

wglGetCurrentDC

wglMakeCurrent