Método IDirect3DDevice9::UpdateSurface (d3d9helper.h)
Copia subconjuntos retangulares de pixels de uma superfície para outra.
Sintaxe
HRESULT UpdateSurface(
[in] IDirect3DSurface9 *pSourceSurface,
[in] const RECT *pSourceRect,
[in] IDirect3DSurface9 *pDestinationSurface,
[in] const POINT *pDestPoint
);
Parâmetros
[in] pSourceSurface
Tipo: IDirect3DSurface9*
Ponteiro para uma interface IDirect3DSurface9 , representando a superfície de origem. Esse parâmetro deve apontar para uma superfície diferente de pDestinationSurface.
[in] pSourceRect
Tipo: const RECT*
Ponteiro para um retângulo na superfície de origem. Especificar NULL para esse parâmetro faz com que toda a superfície seja copiada.
[in] pDestinationSurface
Tipo: IDirect3DSurface9*
Ponteiro para uma interface IDirect3DSurface9 , representando a superfície de destino.
[in] pDestPoint
Tipo: const POINT*
Ponteiro para o canto superior esquerdo do retângulo de destino. Especificar NULL para esse parâmetro faz com que toda a superfície seja copiada.
Valor retornado
Tipo: HRESULT
Se o método for bem-sucedido, o valor retornado será D3D_OK. Se o método falhar, o valor retornado poderá ser um dos seguintes: D3DERR_INVALIDCALL.
Comentários
Esse método é semelhante a CopyRects no DirectX 8.
Essa função tem as seguintes restrições.
- A superfície de origem deve ter sido criada com D3DPOOL_SYSTEMMEM.
- A superfície de destino deve ter sido criada com D3DPOOL_DEFAULT.
- Nenhuma superfície pode ser bloqueada ou manter um contexto de dispositivo pendente.
- Nenhuma superfície pode ser criada com multisampling. O único sinalizador válido para ambas as superfícies é D3DMULTISAMPLE_NONE.
- O formato de superfície não pode ser um formato de estêncil de profundidade.
- Os rects de origem e dest devem caber dentro da superfície.
- Nenhum alongamento ou redução é permitido (as rects devem ter o mesmo tamanho).
- O formato de origem deve corresponder ao formato de dest.
Formatos de dest | |||||
---|---|---|---|---|---|
Textura | Textura RT | RT | Sem formatação fora da tela | ||
Formatos Src | Textura | Sim | Sim | Sim* | Sim |
Textura RT | Não | Não | Não | Não | |
RT | Não | Não | Não | Não | |
Sem formatação fora da tela | Sim | Sim | Sim | Sim |
- Se o driver não der suporte à cópia solicitada, ele será emulado usando bloqueio e cópia.
Se o aplicativo precisar copiar dados de um destino de renderização D3DPOOL_DEFAULT para uma superfície D3DPOOL_SYSTEMMEM, ele poderá usar GetRenderTargetData.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | d3d9helper.h (inclua D3D9.h) |
Biblioteca | D3D9.lib |