Funzione wglCreateLayerContext (wingdi.h)
La funzione wglCreateLayerContext crea un nuovo contesto di rendering OpenGL per il disegno in un piano livello specificato in un contesto di dispositivo.
Sintassi
HGLRC wglCreateLayerContext(
HDC unnamedParam1,
int unnamedParam2
);
Parametri
unnamedParam1
Specifica il contesto di dispositivo per un nuovo contesto di rendering.
unnamedParam2
Specifica il piano di livello a cui si desidera associare un contesto di rendering. Il valore 0 identifica il piano principale. I valori positivi di iLayerPlane identificano i piani sovrapposti, dove 1 è il primo piano di sovrimpressione sul piano principale, 2 è il secondo piano di sovrimpressione sul primo piano di sovrapposizione e così via. I valori negativi identificano i piani di sottofondo, dove 1 è il primo piano sotto il piano principale, 2 è il secondo piano sotto il primo piano di sottolay e così via.Negative values identify underlay planes, where 1 is the first underlay plane, and so on. Il numero di piani di sovrimpressione e sottolay viene assegnato nel membro bReserved della struttura PIXELFORMATDESCRIPTOR .
Valore restituito
Se la funzione ha esito positivo, il valore restituito è un handle per un contesto di rendering OpenGL.
Se la funzione ha esito negativo, il valore restituito è NULL. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
Un contesto di rendering è una porta attraverso la quale passano tutti i comandi OpenGL. Ogni thread che effettua chiamate OpenGL deve avere un contesto di rendering attivo corrente. Un contesto di rendering non corrisponde a un contesto di dispositivo; Un contesto di rendering contiene informazioni specifiche di OpenGL, mentre un contesto di dispositivo contiene informazioni specifiche per GDI.
Prima di creare un contesto di rendering, impostare il formato pixel del contesto di dispositivo con la funzione SetPixelFormat . È possibile usare un contesto di rendering in un piano livello specificato di una finestra con formati pixel identici.
Con le applicazioni OpenGL che usano più thread, si crea un contesto di rendering, lo si seleziona come contesto di rendering corrente di un thread e si eseguono chiamate OpenGL per il thread specificato. Al termine del contesto di rendering del thread, chiamare la funzione wglDeleteContext .
Esempio
L'esempio di codice seguente illustra come usare 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);
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wingdi.h |
Libreria | Opengl32.lib |
DLL | Opengl32.dll |