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 |