Método IDirect3DDevice9::EndScene (d3d9.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 for chamado enquanto 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, chama para
IDirect3DDevice9::EndScene falhará se o IDirect3DDevice9::BeginScene anterior falhar. Isso se aplica a qualquer aplicativo que crie 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 | d3d9.h (inclua D3D9.h) |
Biblioteca | D3D9.lib |