IDirect3DDevice9::CreateRenderTarget 方法 (d3d9helper.h)

创建呈现目标图面。

语法

HRESULT CreateRenderTarget(
  [in]          UINT                Width,
  [in]          UINT                Height,
  [in]          D3DFORMAT           Format,
  [in]          D3DMULTISAMPLE_TYPE MultiSample,
  [in]          DWORD               MultisampleQuality,
  [in]          BOOL                Lockable,
  [out, retval] IDirect3DSurface9   **ppSurface,
  [in]          HANDLE              *pSharedHandle
);

参数

[in] Width

类型: UINT

呈现目标图面的宽度(以像素为单位)。

[in] Height

类型: UINT

呈现目标图面的高度(以像素为单位)。

[in] Format

类型: D3DFORMAT

D3DFORMAT 枚举类型的成员,描述呈现器目标的格式。

[in] MultiSample

类型: D3DMULTISAMPLE_TYPE

D3DMULTISAMPLE_TYPE枚举类型的成员,该类型描述多重采样缓冲区类型。 此参数指定此呈现目标的抗锯齿类型。 将此图面传递到 IDirect3DDevice9::SetRenderTarget 时,其多重采样类型必须与 IDirect3DDevice9::SetDepthStencilSurface 设置的深度模具类型相同。

[in] MultisampleQuality

类型: DWORD

质量级别。 有效范围介于 0 到 IDirect3D9::CheckDeviceMultiSampleType 使用的 pQualityLevels 返回的级别之间。 传递较大的值将返回错误,D3DERR_INVALIDCALL。 配对的呈现目标、深度模具图面和多重采样类型的 MultisampleQuality 值必须全部匹配。

[in] Lockable

类型: BOOL

除非应用程序为“可锁定”指定 TRUE ,否则呈现目标不可锁定。

请注意,可锁定的呈现目标会降低某些图形硬件的性能。 将数据从视频内存移动到系统内存) (的读回性能取决于 AGP 与 PCI Express) (所使用的硬件类型,通常远低于将数据从系统移动到视频内存) (上传性能。 如果需要对呈现目标具有读取访问权限,请使用 GetRenderTargetData 而不是可锁定的呈现目标。

[out, retval] ppSurface

类型: IDirect3DSurface9**

指向 IDirect3DSurface9 接口的指针的地址。

[in] pSharedHandle

类型: HANDLE*

保留。 将此参数设置为 NULL。 此参数可用于 Windows Vista 的 Direct3D 9 中 共享资源

返回值

类型: HRESULT

如果该方法成功,则返回值D3D_OK。 如果方法失败,则返回值可以是下列值之一:D3DERR_NOTAVAILABLE、D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY。

备注

呈现器目标图面放置在D3DPOOL_DEFAULT内存类中。

不支持创建可锁定的多重采样呈现器目标。

要求

   
目标平台 Windows
标头 d3d9helper.h (包括 D3D9.h)
Library D3D9.lib

另请参阅

IDirect3DDevice9