IDirect3DDevice9::CreateVolumeTexture 方法 (d3d9helper.h)
建立磁碟區紋理資源。
語法
HRESULT CreateVolumeTexture(
[in] UINT Width,
[in] UINT Height,
[in] UINT Depth,
[in] UINT Levels,
[in] DWORD Usage,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[out, retval] IDirect3DVolumeTexture9 **ppVolumeTexture,
[in] HANDLE *pSharedHandle
);
參數
[in] Width
類型: UINT
磁碟區紋理的最上層寬度,以像素為單位。 如果設定 D3DCAPS9 的D3DPTEXTURECAPS_VOLUMEMAP_POW2成員,這個值必須是兩個的乘冪。 後續層級的像素維度將會是前一層像素維度的一半截斷值, (獨立) 。 每個尺寸的大小會固定為1圖元。 因此,如果除以 0 (零) ,則會改用 1。 驅動程式支援 (寬度、高度和深度) 的最大維度可以在 D3DCAPS9 的 MaxVolumeExtent 中找到。
[in] Height
類型: UINT
磁碟區紋理的最上層高度,以像素為單位。 如果設定 D3DCAPS9 的D3DPTEXTURECAPS_VOLUMEMAP_POW2成員,這個值必須是兩個的乘冪。 後續層級的像素維度將會是前一層像素維度的一半截斷值, (獨立) 。 每個尺寸的大小會固定為1圖元。 因此,如果除以 2 的結果為 0 (零) ,則會改用 1。 驅動程式支援 (寬度、高度和深度) 的最大維度可以在 D3DCAPS9 的 MaxVolumeExtent 中找到。
[in] Depth
類型: UINT
磁碟區紋理的最上層深度,以像素為單位。 如果設定 D3DCAPS9 的D3DPTEXTURECAPS_VOLUMEMAP_POW2成員,這個值必須是兩個的乘冪。 後續層級的像素維度將會是前一層像素維度的一半截斷值, (獨立) 。 每個尺寸的大小會固定為1圖元。 因此,如果除以 2 的結果為 0 (零) ,則會改用 1。 驅動程式支援 (寬度、高度和深度) 的最大維度可以在 D3DCAPS9 的 MaxVolumeExtent 中找到。
[in] Levels
類型: UINT
紋理中的層級數目。 如果這是零,Direct3D 會針對支援 mipmapped 磁碟區紋理的硬體,產生向下到 1x1 像素的所有紋理子層級。 呼叫 IDirect3DBaseTexture9::GetLevelCount 以查看產生的層級數目。
[in] Usage
類型: DWORD
使用方式可以是 0,表示沒有使用值。 如果需要使用方式,請使用D3DUSAGE_DYNAMIC或D3DUSAGE_SOFTWAREPROCESSING。 如需詳細資訊,請參閱 D3DUSAGE。
[in] Format
類型: D3DFORMAT
D3DFORMAT列舉型別的成員,描述磁碟區紋理中所有層級的格式。
[in] Pool
類型: D3DPOOL
D3DPOOL列舉型別的成員,描述應該放置磁碟區紋理的記憶體類別。
[out, retval] ppVolumeTexture
類型: IDirect3DVolumeTexture9**
IDirect3DVolumeTexture9 介面指標的位址,代表已建立的磁碟區紋理資源。
[in] pSharedHandle
類型: HANDLE*
保留的。 將此參數設定為 NULL。 此參數可用於 Direct3D 9,讓 Windows Vista 共用資源。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果方法失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d9helper.h (包含 D3D9.h) |
程式庫 | D3D9.lib |
另請參閱
D3DXCreateVolumeTextureFromFile
D3DXCreateVolumeTextureFromFileEx
D3DXCreateVolumeTextureFromFileInMemory
D3DXCreateVolumeTextureFromFileInMemoryEx
D3DXCreateVolumeTextureFromResource