IDirect3DDevice9::EndScene 메서드(d3d9.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 |
헤더 | d3d9.h(D3D9.h 포함) |
라이브러리 | D3D9.lib |