다음을 통해 공유


IDirect3DDevice9::EndScene 메서드(d3d9helper.h)

IDirect3DDevice9::BeginScene을 호출하여 시작된 장면을 종료합니다.

구문

HRESULT EndScene();

반환 값

형식: HRESULT

메서드가 성공하면 반환 값이 D3D_OK. IDirect3DDevice9::BeginScene이미 IDirect3DDevice9::BeginScene IDirect3DDevice9::EndScene 쌍에 있는 동안 호출되면 메서드는 D3DERR_INVALIDCALL 실패합니다./ IDirect3DDevice9::BeginScene이 처음 IDirect3DDevice9::EndScene을 호출하지 않고 두 번 호출되는 경우에만 발생합니다.

설명

이 메서드가 성공하면 드라이버에서 렌더링하기 위해 장면이 큐에 대기됩니다. 이는 동기 메서드가 아니므로 이 메서드가 반환되면 장면이 렌더링을 완료하도록 보장되지 않습니다.

애플리케이션은 렌더링을 수행하기 전에 IDirect3DDevice9::BeginScene 을 호출해야 하며 렌더링이 완료되면 IDirect3DDevice9::BeginScene 을 다시 호출하기 전에 IDirect3DDevice9::EndScene 을 호출해야 합니다.

IDirect3DDevice9::BeginScene이 실패하면 디바이스가 장면을 시작할 수 없으며 IDirect3DDevice9::EndScene을 호출할 필요가 없습니다. 실제로 이전 IDirect3DDevice9::BeginScene 이 실패하면 IDirect3DDevice9::EndScene 에 대한 호출이 실패합니다. 이는 여러 스왑 체인을 만드는 모든 애플리케이션에 적용됩니다.

연속 호출 사이에는 최대 하나의 IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene 쌍이 있어야 합니다( IDirect3DDevice9::P resent 또는 IDirect3DSwapChain9::P resent). 렌더링을 수행하기 전에 IDirect3DDevice9::BeginScene을 한 번 호출해야 하며, 프레임에 대한 모든 렌더링이 런타임에 제출된 후 IDirect3DDevice9::EndScene을 한 번 호출해야 합니다. CPU와 그래픽 가속기 간에 최대 병렬 처리를 사용하도록 설정하려면 IDirect3DDevice9::EndScene 을 가능한 한 미리 호출하는 것이 좋습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d9helper.h(D3D9.h 포함)
라이브러리 D3D9.lib

추가 정보

IDirect3DDevice9