IDirect3DDevice9::CreateVolumeTexture 方法 (d3d9.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 會針對支持誤用磁碟區紋理的硬體,產生所有紋理子層級到 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
標頭 d3d9.h (包含 D3D9.h)
程式庫 D3D9.lib

另請參閱

D3DXCreateVolumeTexture

D3DXCreateVolumeTextureFromFile

D3DXCreateVolumeTextureFromFileEx

D3DXCreateVolumeTextureFromFileInMemory

D3DXCreateVolumeTextureFromFileInMemoryEx

D3DXCreateVolumeTextureFromResource

D3DXCreateVolumeTextureFromResourceEx

IDirect3DDevice9