Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Copies rectangular subsets of pixels from one surface to another.
Syntax
HRESULT UpdateSurface(
[in] IDirect3DSurface9 *pSourceSurface,
[in] const RECT *pSourceRect,
[in] IDirect3DSurface9 *pDestinationSurface,
[in] const POINT *pDestPoint
);
Parameters
[in] pSourceSurface
Type: IDirect3DSurface9*
Pointer to an IDirect3DSurface9 interface, representing the source surface. This parameter must point to a different surface than pDestinationSurface.
[in] pSourceRect
Type: const RECT*
Pointer to a rectangle on the source surface. Specifying NULL for this parameter causes the entire surface to be copied.
[in] pDestinationSurface
Type: IDirect3DSurface9*
Pointer to an IDirect3DSurface9 interface, representing the destination surface.
[in] pDestPoint
Type: const POINT*
Pointer to the upper left corner of the destination rectangle. Specifying NULL for this parameter causes the entire surface to be copied.
Return value
Type: HRESULT
If the method succeeds, the return value is D3D_OK. If the method fails, the return value can be one of the following: D3DERR_INVALIDCALL.
Remarks
This method is similar to CopyRects in DirectX 8.
This function has the following restrictions.
- The source surface must have been created with D3DPOOL_SYSTEMMEM.
- The destination surface must have been created with D3DPOOL_DEFAULT.
- Neither surface can be locked or holding an outstanding device context.
- Neither surface can be created with multisampling. The only valid flag for both surfaces is D3DMULTISAMPLE_NONE.
- The surface format cannot be a depth stencil format.
- The source and dest rects must fit within the surface.
- No stretching or shrinking is allowed (the rects must be the same size).
- The source format must match the dest format.
Dest formats | |||||
---|---|---|---|---|---|
Texture | RT texture | RT | Off-screen plain | ||
Src formats | Texture | Yes | Yes | Yes* | Yes |
RT texture | No | No | No | No | |
RT | No | No | No | No | |
Off-screen plain | Yes | Yes | Yes | Yes |
- If the driver does not support the requested copy, it will be emulated using lock and copy.
If the application needs to copy data from a D3DPOOL_DEFAULT render target to a D3DPOOL_SYSTEMMEM surface, it can use GetRenderTargetData.
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | d3d9helper.h (include D3D9.h) |
Library | D3D9.lib |