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
質量等級。 有效範圍介於零到一個小於 IDirect3D9::CheckDeviceMultiSampleType 所傳回的 pQualityLevels 所傳回的層級之間。 傳遞較大的值會傳回錯誤,D3DERR_INVALIDCALL。 配對轉譯目標的 MultisampleQuality 值、深度樣板表面和多重取樣類型必須全部相符。
[in] Lockable
類型: BOOL
除非應用程式針對 Lockable 指定 TRUE ,否則轉譯目標不可鎖定。
請注意,可鎖定的轉譯目標可降低某些圖形硬體的效能。 讀取效能 (將數據從視訊記憶體移至系統記憶體) 取決於 AGP 與 PCI Express) (所使用的硬體類型,而且通常比將數據從系統移至視訊記憶體) 上傳效能遠低於上傳效能 (。 如果您需要轉譯目標的讀取許可權,請使用 GetRenderTargetData ,而不是可鎖定的轉譯目標。
[out, retval] ppSurface
類型: IDirect3DSurface9**
IDirect3DSurface9 介面指標的位址。
[in] pSharedHandle
類型: HANDLE*
保留的。 將此參數設定為 NULL。 此參數可用於 Direct3D 9,讓 Windows Vista 共用資源。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果方法失敗,傳回值可以是下列其中一項:D3DERR_NOTAVAILABLE、D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY。
備註
轉譯目標介面會放在D3DPOOL_DEFAULT記憶體類別中。
不支援建立可鎖定的多取樣轉譯目標。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d9.h (包含 D3D9.h) |
程式庫 | D3D9.lib |