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 |