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]

類型: LPDIRECT3DDEVICE9

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]

類型: LPDIRECT3DCUBETEXTURE9*

代表所建立 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 參數。

規格需求

需求
標頭
D3dx9tex.h
程式庫
D3dx9.lib

另請參閱

D3DXCreateCubeTextureFromFile

D3DX 9 中的紋理函式