D3DXCreateCubeTextureFromFileEx 函式
從檔案建立 Cube 紋理。 這是 比 D3DXCreateCubeTextureFromFile更進階的函式。
語法
HRESULT D3DXCreateCubeTextureFromFileEx(
_In_ LPDIRECT3DDEVICE9 pDevice,
_In_ LPCTSTR pSrcFile,
_In_ UINT Size,
_In_ UINT MipLevels,
_In_ DWORD Usage,
_In_ D3DFORMAT Format,
_In_ D3DPOOL Pool,
_In_ DWORD Filter,
_In_ DWORD MipFilter,
_In_ D3DCOLOR ColorKey,
_Out_ D3DXIMAGE_INFO *pSrcInfo,
_Out_ PALETTEENTRY *pPalette,
_Out_ LPDIRECT3DCUBETEXTURE9 *ppCubeTexture
);
參數
-
pDevice [in]
-
IDirect3DDevice9介面的指標,代表要與 Cube 紋理相關聯的裝置。
-
pSrcFile [in]
-
類型: LPCTSTR
指定檔案名的字串指標。 如果編譯器設定需要 Unicode,LPCTSTR 資料類型會解析為 LPCWSTR。 否則,字串資料類型會解析為 LPCSTR。 請參閱<備註>。
-
大小 [in]
-
類型: UINT
立方體紋理的寬度和高度,以圖元為單位。 例如,如果立方體紋理是 8 圖元的 8 圖元立方體,則此參數的值應該是 8。 如果此值為 0 或D3DX_DEFAULT,則會從檔案取得維度。
-
MipLevels [in]
-
類型: UINT
要求的 mip 層級數目。 如果此值為零或D3DX_DEFAULT,則會建立完整的 mipmap 鏈結。
-
使用量 [in]
-
類型: DWORD
0 或 D3DUSAGE_RENDERTARGET 或 D3DUSAGE_DYNAMIC。 將此旗標設定為 D3DUSAGE_RENDERTARGET 表示介面要當做轉譯目標使用。 然後可以將資源傳遞至SetRenderTarget方法的pNewRenderTarget參數。 如果指定D3DUSAGE_RENDERTARGET,應用程式應該呼叫 CheckDeviceFormat來檢查裝置是否支援此作業。 D3DUSAGE_DYNAMIC表示應該動態處理表面。 如需使用動態紋理的詳細資訊,請參閱 使用動態紋理。
-
格式 [in]
-
類型: D3DFORMAT
D3DFORMAT列舉類型的成員,描述 Cube 紋理的要求像素格式。 傳回的立方體紋理的格式可能與 Format所指定的格式不同。 應用程式應該檢查傳回 Cube 紋理的格式。 如果 D3DFMT_UNKNOWN,則會從檔案取得格式。 如果D3DFMT_FROM_FILE,格式會與檔案中的格式完全相同,如果這違反裝置功能,則呼叫將會失敗。
-
集 區 [in]
-
類型: D3DPOOL
D3DPOOL列舉型別的成員,描述應該放置 Cube 紋理的記憶體類別。
-
篩選 [in]
-
類型: DWORD
一或多個 D3DX_FILTER 常數的組合,控制影像的篩選方式。 為此參數指定D3DX_DEFAULT相當於指定D3DX_FILTER_TRIANGLE |D3DX_FILTER_DITHER。
-
MipFilter [in]
-
類型: DWORD
一或多個 D3DX_FILTER 常數的組合,控制影像的篩選方式。 為此參數指定D3DX_DEFAULT相當於指定D3DX_FILTER_BOX。 此外,使用位 27-31 指定要在 .dds 紋理載入記憶體時,從 mipmap 鏈結頂端 (略過的 mip 層級數目) ;這可讓您跳到最多 32 個層級。
-
ColorKey [in]
-
類型: D3DCOLOR
要以透明黑色取代的D3DCOLOR值,或以 0 取代色彩機碼。 這一律是 32 位 ARGB 色彩,與來源影像格式無關。 Alpha 很重要,而且通常應該針對不透明色彩索引鍵設定為 FF。 因此,對於不透明黑色,值會等於0xFF000000。
-
pSrcInfo [out]
-
類型: D3DXIMAGE_INFO*
要填入來源影像檔或Null中資料描述之D3DXIMAGE_INFO結構的指標。
-
pPalette [out]
-
類型: PALETTEENTRY*
PALETTEENTRY結構的指標,代表要填入的 256 色盤或Null。
-
ppCubeTexture [out]
-
代表所建立 Cube 紋理物件的 IDirect3DCubeTexture9 介面指標位址。
傳回值
類型: HRESULT
如果函式成功,傳回值會D3D_OK。 如果函式失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL、D3DERR_NOTAVAILABLE、D3DERR_OUTOFVIDEOMEMORY、D3DXERR_INVALIDDATA E_OUTOFMEMORY。
備註
編譯器設定也會決定函式版本。 如果已定義 Unicode,函式呼叫會解析為 D3DXCreateCubeTextureFromFileExW。 否則,函式呼叫會解析為 D3DXCreateCubeTextureFromFileExA ,因為正在使用 ANSI 字串。
此函式支援下列檔案格式:.bmp、.dds、.dib、.hdr、.jpg、.pfm、.png、.ppm 和 .tga。 請參閱 D3DXIMAGE_FILEFORMAT。
Cube 紋理與其他表面不同,因為它們是表面的集合。 若要使用 Cube 紋理呼叫 SetRenderTarget ,您必須使用 GetCubeMapSurface 選取個別臉部,並將產生的表面傳遞至 SetRenderTarget。
D3DXCreateCubeTextureFromFileEx 會使用 DirectDraw surface (DDS) 檔案格式。 DirectX 紋理編輯器 (Dxtex.exe) 可讓您從其他檔案格式產生 Cube 對應,並以 DDS 檔案格式儲存。 您可以從 DirectX SDK 取得Dxtex.exe並瞭解它。 如需 DirectX SDK 的相關資訊,請參閱 DirectX SDK 在哪裡?。
載入 .dds 檔案時略過 mipmap 層級時,請使用 D3DX_SKIP_DDS_MIP_LEVELS 宏來產生 MipFilter 值。 此宏會採用要略過的層級數目,並傳回篩選值,然後傳遞至 MipFilter 參數。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱