IDirect3DDevice9::CreateCubeTexture 方法 (d3d9helper.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 會針對支援已套用立方體紋理的硬體,為每個臉部產生 1x1 圖元的所有 Cube 紋理子層級。 呼叫 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) 集合,每個臉部各有一個。 所有臉部都必須出現在 Cube 紋理中。 此外,Cube 地圖表面在 x、y 和 z) 的所有三個 (維度中都必須是相同的圖元大小。
應用程式可以透過呼叫具有D3DUSAGE_AUTOGENMIPMAP的IDirect3D9::CheckDeviceFormat,以特定格式探索自動產生 Mipmap (Direct3D 9) 的支援。 如果 IDirect3D9::CheckDeviceFormat 傳回D3DOK_NOAUTOGEN, IDirect3DDevice9::CreateCubeTexture 將會成功,但會傳回一層紋理。
需求
目標平台 | Windows |
標頭 | d3d9helper.h (包含 D3D9.h) |
程式庫 | D3D9.lib |
另請參閱
D3DXCreateCubeTextureFromFileEx
D3DXCreateCubeTextureFromFileInMemory
D3DXCreateCubeTextureFromFileInMemoryEx
D3DXCreateCubeTextureFromResource