Метод IDirect3DDevice9::EndScene (d3d9helper.h)
Завершает сцену, начатую вызовом метода IDirect3DDevice9::BeginScene.
Синтаксис
HRESULT EndScene();
Возвращаемое значение
Тип: HRESULT
Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Метод завершится ошибкой с D3DERR_INVALIDCALL, если вызывается IDirect3DDevice9::BeginScene уже в паре IDirect3DDevice9::BeginScene/IDirect3Ddevice9::EndScene . Это происходит, только если IDirect3DDevice9::BeginScene вызывается дважды без первого вызова IDirect3DDevice9::EndScene.
Комментарии
При успешном выполнении этого метода сцена будет поставлена в очередь для отрисовки драйвером. Это не синхронный метод, поэтому при возврате этого метода в сцене не гарантируется завершение отрисовки.
Приложения должны вызывать IDirect3Ddevice9::BeginScene перед выполнением отрисовки и должны вызывать IDirect3Device9::EndScene после завершения отрисовки и перед повторным вызовом IDirect3DDevice9::BeginScene .
Если IDirect3DDevice9::BeginScene завершается сбоем , устройству не удалось запустить сцену и нет необходимости вызывать IDirect3DDevice9::EndScene. Фактически вызовы IDirect3DDevice9::EndScene завершатся ошибкой, если предыдущий IDirect3DDevice9::BeginScene завершился ошибкой . Это относится к любому приложению, которое создает несколько цепочек буферов.
Между любыми последовательными вызовами представления (IDirect3DDevice9::BeginSceneIDirect3Ddevice9::EndScene должна быть не более одной пары IDirect3Device9::BeginScene/IDirect3DwapChain9::P resent или IDirect3DSwapChain9::P resent). IDirect3DDevice9::BeginScene следует вызывать один раз перед выполнением любой отрисовки, а IDirect3DDevice9::EndScene — один раз после отправки всей отрисовки кадра в среду выполнения. Чтобы обеспечить максимальный параллелизм между ЦП и графическим ускорителем, рекомендуется вызывать IDirect3DDevice9::EndScene как можно раньше вызова present.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d9helper.h (включая D3D9.h) |
Библиотека | D3D9.lib |