wglCreateLayerContext 函数 (wingdi.h)

wglCreateLayerContext 函数创建新的 OpenGL 呈现上下文,用于绘制到设备上下文上的指定层平面。

语法

HGLRC wglCreateLayerContext(
  HDC unnamedParam1,
  int unnamedParam2
);

参数

unnamedParam1

指定新呈现上下文的设备上下文。

unnamedParam2

指定要将呈现上下文绑定到的层平面。 值 0 标识main平面。 iLayerPlane 的正值标识覆盖平面,其中 1 是main平面上的第一个覆盖平面,2 是第一个覆盖平面上的第二个覆盖平面,依此推移。 负值标识底层平面,其中 1 是main平面下的第一个底层平面,2 是第一个底层平面下的第二个底层平面,依此。 在 PIXELFORMATDESCRIPTOR 结构的 bReserved 成员中提供了覆盖平面和底层平面的数量。

返回值

如果函数成功,则返回值是 OpenGL 呈现上下文的句柄。

如果函数失败,则返回值为 NULL。 要获得更多的错误信息,请调用 GetLastError。

注解

呈现上下文是所有 OpenGL 命令通过的端口。 进行 OpenGL 调用的每个线程都必须具有一个当前活动呈现上下文。 呈现上下文与设备上下文不同;呈现上下文包含特定于 OpenGL 的信息,而设备上下文包含特定于 GDI 的信息。

在创建呈现上下文之前,请使用 SetPixelFormat 函数设置设备上下文的像素格式。 只能在具有相同像素格式的窗口的指定层平面中使用呈现上下文。

对于使用多个线程的 OpenGL 应用程序,可以创建呈现上下文,将其选择为线程的当前呈现上下文,然后对指定线程发出 OpenGL 调用。 完成线程的呈现上下文后,调用 wglDeleteContext 函数。

示例

下面的代码示例演示如何使用 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);

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 wingdi.h
Library Opengl32.lib
DLL Opengl32.dll

另请参阅

Windows 上的 OpenGL

PIXELFORMATDESCRIPTOR

SetPixelFormat

WGL 函数

wglCreateContext

wglDeleteContext

wglGetCurrentContext

wglGetCurrentDC

wglMakeCurrent