IDirect3DDevice9::CreateRenderTarget 方法 (d3d9.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 枚举类型的成员,该类型描述多重采样缓冲区类型。 此参数指定此呈现目标的抗锯齿类型。 将此图面传递到 IDirect3DDevice9::SetRenderTarget 时,其多重采样类型必须与 IDirect3DDevice9::SetDepthStencilSurface 设置的深度模具类型相同。
[in] MultisampleQuality
类型: DWORD
质量级别。 有效范围介于 0 到 1 之间,比 IDirect3D9::CheckDeviceMultiSampleType 使用的 pQualityLevels 返回的级别少 1。 传递较大的值将返回错误,D3DERR_INVALIDCALL。 配对的呈现目标、深度模具表面和多采样类型的 MultisampleQuality 值必须全部匹配。
[in] Lockable
类型: BOOL
呈现目标不可锁定,除非应用程序为“可锁定”指定 TRUE 。
请注意,可锁定的呈现目标会降低某些图形硬件的性能。 将数据从视频内存移动到系统内存) (的读回性能取决于 AGP 与 PCI Express) (使用的硬件类型,并且通常远远低于将数据从系统移动到视频内存) (上传性能。 如果需要对呈现目标具有读取访问权限,请使用 GetRenderTargetData 而不是可锁定的呈现目标。
[out, retval] ppSurface
类型: IDirect3DSurface9**
指向 IDirect3DSurface9 接口的指针的地址。
[in] pSharedHandle
类型: 句柄*
保留。 将此参数设置为 NULL。 此参数可用于 Direct3D 9 for Windows Vista 共享资源。
返回值
类型: HRESULT
如果方法成功,则返回值D3D_OK。 如果方法失败,则返回值可以是以下值之一:D3DERR_NOTAVAILABLE、D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY。
注解
呈现目标图面放置在D3DPOOL_DEFAULT内存类中。
不支持创建可锁定的多采样呈现器目标。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | d3d9.h (包括 D3D9.h) |
Library | D3D9.lib |