IDirect3DDevice9::BeginScene 메서드(d3d9helper.h)
장면을 시작합니다.
구문
HRESULT BeginScene();
반환 값
형식: HRESULT
메서드가 성공하면 반환 값이 D3D_OK. IDirect3DDevice9::BeginScene이 이미 IDirect3DDevice9::BeginScene IDirect3DDevice9::EndScene/ 쌍에 있는 동안 호출되면 메서드가 D3DERR_INVALIDCALL 실패합니다. 이 문제는 IDirect3DDevice9::EndScene 을 처음 호출하지 않고 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을 한 번 호출해야 합니다. 중첩되지 않은 여러 IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene 쌍은 현재 호출 간에 합법적이지만 둘 이상의 쌍이 있으면 성능이 저하될 수 있습니다. CPU와 그래픽 가속기 간에 최대 병렬 처리를 사용하도록 설정하려면 IDirect3DDevice9::EndScene 을 가능한 한 호출하기 전에 호출하는 것이 유리합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | d3d9helper.h(D3D9.h 포함) |
라이브러리 | D3D9.lib |