IDirect3DDevice9::BeginScene 方法 (d3d9.h)

开始场景。

语法

HRESULT BeginScene();

返回值

类型: HRESULT

如果该方法成功,则返回值D3D_OK。 如果已在 IDirect3DDevice9::BeginScene IDirect3DDevice9::EndScene 对中调用IDirect3DDevice9::BeginScene/,则方法将失败并D3DERR_INVALIDCALL。 仅当 IDirect3DDevice9::BeginScene 调用两次而不先调用 IDirect3DDevice9::EndScene 时,才会发生这种情况。

注解

应用程序必须在执行任何呈现之前调用 IDirect3DDevice9::BeginScene,并且必须在呈现完成时和再次调用 IDirect3DDevice9::BeginScene 之前调用 IDirect3DDevice9::BeginScene

如果 IDirect3DDevice9::BeginScene 失败,则设备无法启动场景,并且无需调用 IDirect3DDevice9::EndScene。 事实上,如果以前的 IDirect3DDevice9::BeginScene 失败,则对 IDirect3DDevice9::EndScene 的 调用将失败。 这适用于创建多个交换链的任何应用程序。

在提供 IDirect3DDevice9::P resent 或 IDirect3DSwapChain9/::P resent 或 IDirect3DSwapChain9::P resent) 的任何连续 (调用之间,应有一个 IDirect3DDDevice9::BeginScene IDirect3DDevice9:EndScene 对。 在执行任何呈现之前,应调用 IDirect3DDevice9::BeginScene 一次,在将帧的所有呈现提交到运行时后,应调用 IDirect3DDevice9::EndScene 一次。 对的调用之间有多个非嵌套 IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene 对是合法的,但具有多个对可能会导致性能下降。 若要在 CPU 和图形加速器之间实现最大并行度,最好在调用 present 之前调用 IDirect3DDevice9::EndScene

要求

要求
目标平台 Windows
标头 d3d9.h (包括 D3D9.h)
Library D3D9.lib

另请参阅

IDirect3DDevice9