Método IDirect3DDevice9::UpdateSurface (d3d9.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.
Retornar valor
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 várias amostras. 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 (os rects devem ter o mesmo tamanho).
- O formato de origem deve corresponder ao formato dest.
Formatos de dest | |||||
---|---|---|---|---|---|
Textura | Textura RT | RT | Sem formatação fora da tela | ||
Formatos Src | Textura | Yes | Sim | Sim* | Sim |
Textura RT | No | No | No | No | |
RT | No | No | No | No | |
Sem formatação fora da tela | Yes | Yes | Yes | Yes |
- 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
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | d3d9.h (inclua D3D9.h) |
Biblioteca | D3D9.lib |