Função wglMakeCurrent (wingdi.h)
A função wglMakeCurrent torna um contexto de renderização OpenGL especificado o contexto de renderização atual do thread de chamada. Todas as chamadas OpenGL subsequentes feitas pelo thread são desenhadas no dispositivo identificado pelo hdc. Você também pode usar wglMakeCurrent para alterar o contexto de renderização atual do thread de chamada para que ele não seja mais atual.
Sintaxe
BOOL wglMakeCurrent(
HDC unnamedParam1,
HGLRC unnamedParam2
);
Parâmetros
unnamedParam1
Identificador para um contexto de dispositivo. Chamadas OpenGL subsequentes feitas pelo thread de chamada são desenhadas no dispositivo identificado pelo hdc.
unnamedParam2
Manipule para um contexto de renderização OpenGL que a função define como o contexto de renderização do thread de chamada.
Se hglrc for NULL, a função tornará o contexto de renderização atual do thread de chamada não mais atual e liberará o contexto do dispositivo usado pelo contexto de renderização. Nesse caso, o hdc é ignorado.
Valor retornado
Quando a função wglMakeCurrent é bem-sucedida, o valor retornado é TRUE; caso contrário, o valor retornado será FALSE. Para obter informações de erro estendidas, chame GetLastError.
Comentários
O parâmetro hdc deve se referir a uma superfície de desenho com suporte do OpenGL. Ele não precisa ser o mesmo hdc que foi passado para wglCreateContext quando hglrc foi criado, mas deve estar no mesmo dispositivo e ter o mesmo formato de pixel. Não há suporte para a transformação e o recorte de GDI no hdc no contexto de renderização. O contexto de renderização atual usa o contexto do dispositivo hdc até que o contexto de renderização não seja mais atual.
Antes de alternar para o novo contexto de renderização, o OpenGL libera qualquer contexto de renderização anterior atual para o thread de chamada.
Um thread pode ter um contexto de renderização atual. Um processo pode ter vários contextos de renderização por meio de multithreading. Um thread deve definir um contexto de renderização atual antes de chamar qualquer função OpenGL. Caso contrário, todas as chamadas OpenGL serão ignoradas.
Um contexto de renderização pode ser atual para apenas um thread por vez. Você não pode tornar um contexto de renderização atual para vários threads.
Um aplicativo pode executar um desenho multithread tornando diferentes contextos de renderização atuais para threads diferentes, fornecendo a cada thread seu próprio contexto de renderização e contexto de dispositivo.
Se ocorrer um erro, a função wglMakeCurrent tornará o contexto de renderização atual do thread não atual antes de retornar.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wingdi.h |
Biblioteca | Opengl32.lib |
DLL | Opengl32.dll |