Compartilhar via


Método IDirect3DDevice9::EndScene (d3d9helper.h)

Encerra uma cena que foi iniciada chamando IDirect3DDevice9::BeginScene.

Sintaxe

HRESULT EndScene();

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, o valor retornado será D3D_OK. O método falhará com D3DERR_INVALIDCALL se IDirect3DDevice9::BeginScene já estiver em um par IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene . Isso acontece somente quando IDirect3DDevice9::BeginScene é chamado duas vezes sem chamar IDirect3DDevice9::EndScene pela primeira vez.

Comentários

Quando esse método é bem-sucedido, a cena foi enfileirada para renderização pelo driver. Esse não é um método síncrono, portanto, não há garantia de que a cena tenha concluído a renderização quando esse método retornar.

Os aplicativos devem chamar IDirect3DDevice9::BeginScene antes de executar qualquer renderização e devem chamar IDirect3DDevice9::EndScene quando a renderização for concluída e antes de chamar IDirect3DDevice9::BeginScene novamente.

Se IDirect3DDevice9::BeginScene falhar, o dispositivo não pôde iniciar a cena e não será necessário chamar IDirect3DDevice9::EndScene. Na verdade, as chamadas para IDirect3DDevice9::EndScene falharão se o IDirect3DDevice9::BeginScene anterior falhar. Isso se aplica a qualquer aplicativo que cria várias cadeias de troca.

Deve haver no máximo um par IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene entre todas as chamadas sucessivas a serem apresentadas ( IDirect3DDevice9::P resent ou IDirect3DSwapChain9::P resent). IDirect3DDevice9::BeginScene deve ser chamado uma vez antes de qualquer renderização ser executada e IDirect3DDevice9::EndScene deve ser chamado uma vez depois que toda a renderização de um quadro tiver sido enviada para o runtime. Para habilitar o paralelismo máximo entre a CPU e o acelerador gráfico, é vantajoso chamar IDirect3DDevice9::EndScene o mais longe possível de chamar o presente.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d9helper.h (inclua D3D9.h)
Biblioteca D3D9.lib

Confira também

IDirect3DDevice9