Compartilhar via


Função wglCreateLayerContext (wingdi.h)

A função wglCreateLayerContext cria um novo contexto de renderização OpenGL para desenhar em um plano de camada especificado em um contexto de dispositivo.

Sintaxe

HGLRC wglCreateLayerContext(
  HDC unnamedParam1,
  int unnamedParam2
);

Parâmetros

unnamedParam1

Especifica o contexto do dispositivo para um novo contexto de renderização.

unnamedParam2

Especifica o plano de camada ao qual você deseja associar um contexto de renderização. O valor 0 identifica o plano main. Valores positivos de iLayerPlane identificam planos de sobreposição, em que 1 é o primeiro plano de sobreposição sobre o plano main, 2 é o segundo plano de sobreposição sobre o primeiro plano de sobreposição e assim por diante. Os valores negativos identificam planos de subposição, em que 1 é o primeiro plano de sobreposição sob o plano main, 2 é o segundo plano de sobreposição sob o primeiro plano de sobreposição e assim por diante. O número de planos de sobreposição e subposição é fornecido no membro bReserved da estrutura PIXELFORMATDESCRIPTOR .

Valor retornado

Se a função for bem-sucedida, o valor retornado será um identificador para um contexto de renderização OpenGL.

Se a função falhar, o valor retornado será NULL. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Um contexto de renderização é uma porta por meio da qual todos os comandos OpenGL passam. Cada thread que faz chamadas OpenGL deve ter um contexto de renderização atual e ativo. Um contexto de renderização não é o mesmo que um contexto de dispositivo; um contexto de renderização contém informações específicas do OpenGL, enquanto um contexto de dispositivo contém informações específicas do GDI.

Antes de criar um contexto de renderização, defina o formato de pixel do contexto do dispositivo com a função SetPixelFormat . Você pode usar um contexto de renderização em um plano de camada especificado de uma janela apenas com formatos de pixel idênticos.

Com aplicativos OpenGL que usam vários threads, você cria um contexto de renderização, seleciona-o como o contexto de renderização atual de um thread e faz chamadas OpenGL para o thread especificado. Quando terminar de renderizar o contexto do thread, chame a função wglDeleteContext .

Exemplos

O exemplo de código a seguir mostra como usar 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);

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

Confira também

OpenGL no Windows

PIXELFORMATDESCRIPTOR

SetPixelFormat

Funções WGL

wglCreateContext

wglDeleteContext

wglGetCurrentContext

wglGetCurrentDC

wglMakeCurrent