wglSwapLayerBuffers 函数 (wingdi.h)

wglSwapLayerBuffers 函数交换由指定设备上下文引用的窗口的覆盖层、下层和main平面中的前后缓冲区。

语法

BOOL wglSwapLayerBuffers(
  HDC  unnamedParam1,
  UINT unnamedParam2
);

参数

unnamedParam1

指定窗口的设备上下文,该窗口的层平面调色板将实现到物理调色板中。

unnamedParam2

指定要交换其前后缓冲区的覆盖层、底层和main平面。 PIXELFORMATDESCRIPTOR 结构的 bReserved 成员指定覆盖平面和底层平面的数目。 fuPlanes 参数是以下值的按位组合。

 

含义
WGL_SWAP_MAIN_PLANE
交换main平面的前后缓冲区。
WGL_SWAP_OVERLAYi
交换覆盖平面 i 的前后缓冲区,其中 i 是介于 1 和 15 之间的整数。 WGL_SWAP_OVERLAY1标识main平面上的第一个覆盖平面,WGL_SWAP_OVERLAY2标识第一个覆盖平面上的第二个覆盖平面,依此推移。
WGL_SWAP_UNDERLAYi
交换底层平面 i 的前后缓冲区,其中 i 是介于 1 和 15 之间的整数。 WGL_SWAP_UNDERLAY1标识main平面下的第一个底层平面,WGL_SWAP_UNDERLAY2标识第一个底层平面下的第二个底层平面,依此。

返回值

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

注解

当层平面不包含后部缓冲区时,调用 wglSwapLayerBuffers 函数对该层平面没有影响。 调用 wglSwapLayerBuffers 后,后台缓冲区内容的状态在层平面的相应 LAYERPLANEDESCRIPTOR 结构或main平面的 PIXELFORMATDESCRIPTOR 结构中提供。 wglSwapLayerBuffers 函数同时交换指定层平面中的前后缓冲区。

某些设备不支持单独交换层平面;它们将所有层平面交换为一个组。 设置 PIXELFORMATDESCRIPTOR 结构的PFD_SWAP_LAYER_BUFFERS标志时,它指示设备可以交换单个层平面,并且你可以调用 wglSwapLayerBuffers

对于使用多个线程的应用程序,在调用 wglSwapLayerBuffers 之前,请清除绘制到同一窗口的所有线程中的所有绘图命令。

要求

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

另请参阅

LAYERPLANEDESCRIPTOR

Windows 上的 OpenGL

PIXELFORMATDESCRIPTOR

SwapBuffers

WGL 函数