IDirect3DDevice9::GetRenderTargetData

翻译自DXSDK

将渲染目标数据从设备内存拷贝到系统内存。

HRESULT GetRenderTargetData(
  [in]  IDirect3DSurface9 *pRenderTarget,
  [in]  IDirect3DSurface9 *pDestSurface
);

pRenderTarget [in]

Pointer to an IDirect3DSurface9 object, representing a render target.

指向一个IDirect3DSurface9对象,代表一个渲染目标,源表面。

pDestSurface [in]

Pointer to an IDirect3DSurface9 object, representing a destination surface.

指向一个IDirect3DSurface9对象,代表一个目的表面。

注意:

The destination surface must be either an off-screen plain surface or a level of a texture (mipmap or cube texture) created with D3DPOOL_SYSTEMMEM.

目的表面的内存池类型需要是 D3DPOOL_SYSTEMMEM (系统内存)

The source surface must be a regular render target or a level of a render-target texture (mipmap or cube texture) created with POOL_DEFAULT.

源表面的内存池类型需要是POOL_DEFAULT

This method will fail if:

  • The render target is multisampled.

源表面如果多重采样则拷贝失败。

  • The source render target is a different size than the destination surface.

两个表面尺寸不一致拷贝失败。

  • The source render target and destination surface formats do not match.

像素格式不一致拷贝失败。

原文地址:https://www.cnblogs.com/lc-cnblong/p/3365110.html