IDirect3DDevice9::CreateCubeTexture 方法 (d3d9.h)
建立 Cube 紋理資源。
語法
HRESULT CreateCubeTexture(
[in] UINT EdgeLength,
[in] UINT Levels,
[in] DWORD Usage,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[out, retval] IDirect3DCubeTexture9 **ppCubeTexture,
[in] HANDLE *pSharedHandle
);
參數
[in] EdgeLength
類型: UINT
Cube 紋理之所有最上層臉部的邊緣大小。 每個臉部後續層級的圖元維度將會是前一層圖元維度的一半截斷值, (獨立) 。 每個尺寸的大小會固定為 1 圖元。 因此,如果除以 2 的結果為 0 (零) ,則會改用 1。
[in] Levels
類型: UINT
Cube 紋理每個臉部中的層級數目。 如果這是零,Direct3D 會針對支援 Mipmapped Cube 紋理的硬體,為每個臉部產生 1x1 圖元的所有立方體紋理子層級。 呼叫 IDirect3DBaseTexture9::GetLevelCount 以查看產生的層級數目。
[in] Usage
類型: DWORD
使用方式可以是 0,表示沒有使用值。 不過,如果需要使用方式,請使用一或多個 D3DUSAGE 常數的組合。 最好是比對 CreateCubeTexture 中的 usage 參數與 IDirect3D9::CreateDevice中的行為旗標。 如需詳細資訊,請參閱<備註>。
[in] Format
類型: D3DFORMAT
D3DFORMAT列舉類型的成員,描述 Cube 紋理所有臉部中所有層級的格式。
[in] Pool
類型: D3DPOOL
D3DPOOL列舉型別的成員,描述應該放置 Cube 紋理的記憶體類別。
[out, retval] ppCubeTexture
類型: IDirect3DCubeTexture9**
IDirect3DCubeTexture9介面指標的位址,代表建立的 Cube 紋理資源。
[in] pSharedHandle
類型: HANDLE*
保留的。 將此參數設定為 Null。 此參數可用於 Direct3D 9,讓 Windows Vista 共用資源。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果方法失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY。
備註
mipmap (紋理) 是連續向下取樣 () 表面的集合。 另一方面, IDirect3DDevice9::CreateCubeTexture) 所建立的 Cube 紋理 (是六個紋理的集合, (mipmaps) ,每個臉部各一個。 所有臉部都必須出現在立方體紋理中。 此外,立方體地圖表面在所有三個維度中都必須是相同的圖元大小, (x、y 和 z) 。
應用程式可以透過呼叫具有D3DUSAGE_AUTOGENMIPMAP的IDirect3D9::CheckDeviceFormat,以特定格式探索自動產生 Mipmap (Direct3D 9) 的支援。 如果 IDirect3D9::CheckDeviceFormat 傳回D3DOK_NOAUTOGEN, IDirect3DDevice9::CreateCubeTexture 將會成功,但會傳回一層紋理。
需求
目標平台 | Windows |
標頭 | d3d9.h (包含 D3D9.h) |
程式庫 | D3D9.lib |
另請參閱
D3DXCreateCubeTextureFromFileEx
D3DXCreateCubeTextureFromFileInMemory
D3DXCreateCubeTextureFromFileInMemoryEx
D3DXCreateCubeTextureFromResource