Condividi tramite


Funzione wglMakeCurrent (wingdi.h)

La funzione wglMakeCurrent rende un contesto di rendering OpenGL specificato il contesto di rendering corrente del thread chiamante. Tutte le successive chiamate OpenGL effettuate dal thread vengono disegnate nel dispositivo identificato da hdc. È anche possibile usare wglMakeCurrent per modificare il contesto di rendering corrente del thread chiamante in modo che non sia più corrente.

Sintassi

BOOL wglMakeCurrent(
  HDC   unnamedParam1,
  HGLRC unnamedParam2
);

Parametri

unnamedParam1

Handle per un contesto di dispositivo. Le successive chiamate OpenGL effettuate dal thread chiamante vengono disegnate nel dispositivo identificato da hdc.

unnamedParam2

Gestire in un contesto di rendering OpenGL impostato dalla funzione come contesto di rendering del thread chiamante.

Se hglrc è NULL, la funzione rende il contesto di rendering corrente del thread chiamante non più corrente e rilascia il contesto di dispositivo usato dal contesto di rendering. In questo caso, hdc viene ignorato.

Valore restituito

Quando la funzione wglMakeCurrent ha esito positivo, il valore restituito è TRUE; in caso contrario, il valore restituito è FALSE. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Il parametro hdc deve fare riferimento a una superficie di disegno supportata da OpenGL. Non deve essere lo stesso hdc passato a wglCreateContext al momento della creazione di hglrc , ma deve trovarsi nello stesso dispositivo e avere lo stesso formato pixel. La trasformazione GDI e il ritaglio in hdc non sono supportati dal contesto di rendering. Il contesto di rendering corrente usa il contesto del dispositivo hdc fino a quando il contesto di rendering non è più corrente.

Prima di passare al nuovo contesto di rendering, OpenGL scarica qualsiasi contesto di rendering precedente corrente al thread chiamante.

Un thread può avere un contesto di rendering corrente. Un processo può avere più contesti di rendering tramite il multithreading. Un thread deve impostare un contesto di rendering corrente prima di chiamare qualsiasi funzione OpenGL. In caso contrario, tutte le chiamate OpenGL vengono ignorate.

Un contesto di rendering può essere corrente a un solo thread alla volta. Non è possibile impostare un contesto di rendering corrente su più thread.

Un'applicazione può eseguire il disegno multithread rendendo correnti diversi contesti di rendering a thread diversi, fornendo a ogni thread il proprio contesto di rendering e il contesto di dispositivo.

Se si verifica un errore, la funzione wglMakeCurrent rende il contesto di rendering corrente del thread non corrente prima della restituzione.

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

Vedi anche

OpenGL in Windows

Funzioni WGL

wglCreateContext

wglDeleteContext

wglGetCurrentContext

wglGetCurrentDC