D3DXCreateCubeTextureFromResourceEx 函式

從字串指定的資源建立 Cube 紋理。 這是比 D3DXCreateCubeTextureFromResource更進階的函式。

語法

HRESULT D3DXCreateCubeTextureFromResourceEx(
  _In_    LPDIRECT3DDEVICE9      pDevice,
  _In_    HMODULE                hSrcModule,
  _In_    LPCTSTR                pSrcResource,
  _In_    UINT                   Size,
  _In_    UINT                   MipLevels,
  _In_    DWORD                  Usage,
  _In_    D3DFORMAT              Format,
  _In_    D3DPOOL                Pool,
  _In_    DWORD                  Filter,
  _In_    DWORD                  MipFilter,
  _In_    D3DCOLOR               ColorKey,
  _Inout_ D3DXIMAGE_INFO         *pSrcInfo,
  _Out_   PALETTEENTRY           *pPalette,
  _Out_   LPDIRECT3DCUBETEXTURE9 *ppCubeTexture
);

參數

pDevice [in]

類型: LPDIRECT3DDEVICE9

IDirect3DDevice9介面的指標,代表要與 Cube 紋理相關聯的裝置。

hSrcModule [in]

類型: HMODULE

處理資源所在的模組,或與用來建立目前進程之作業系統建立之映射相關聯的模組 Null

pSrcResource [in]

類型: LPCTSTR

指定資源名稱之字串的指標。 如果編譯器設定需要 Unicode,則資料類型 LPCTSTR 會解析為 LPCWSTR。 否則,字串資料類型會解析為 LPCSTR。 請參閱<備註>。

大小 [in]

類型: UINT

立方體紋理的寬度和高度,以圖元為單位。 例如,如果 Cube 紋理是 8 圖元的 8 圖元 Cube,則此參數的值應該是 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 紋理的要求像素格式。 傳回的 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。

ColorKey [in]

類型: D3DCOLOR

要以透明黑色取代的D3DCOLOR值,或 0 以停用色彩索引鍵。 這一律是 32 位的 ARGB 色彩,與來源影像格式無關。 Alpha 相當重要,而且通常應該設定為 FF 以取得不透明色彩索引鍵。 因此,對於不透明黑色,此值會等於0xFF000000。

pSrcInfo [in, out]

類型: D3DXIMAGE_INFO*

要填入來源影像檔或Null中資料描述之D3DXIMAGE_INFO結構的指標。

pPalette [out]

類型: PALETTEENTRY*

PALETTEENTRY結構的指標,代表要填入或Null的 256 色盤。

ppCubeTexture [out]

類型: LPDIRECT3DCUBETEXTURE9*

IDirect3DCubeTexture9介面指標的位址,代表建立的 Cube 紋理物件。

傳回值

類型: HRESULT

如果函式成功,傳回值會D3D_OK。 如果函式失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL、D3DERR_NOTAVAILABLE、D3DERR_OUTOFVIDEOMEMORY、D3DXERR_INVALIDDATA E_OUTOFMEMORY。

備註

編譯器設定會決定函式版本。 如果已定義 Unicode,函式呼叫會解析為 D3DXCreateCubeTextureFromResourceExW。 否則,函式呼叫會解析為 D3DXCreateCubeTextureFromResourceExA ,因為正在使用 ANSI 字串。

此函式支援下列檔案格式:.bmp、.dds、.dib、.hdr、.jpg、.pfm、.png、.ppm 和 .tga。 請參閱 D3DXIMAGE_FILEFORMAT

Cube 紋理與其他表面不同,因為它們是表面集合。 若要使用 Cube 紋理呼叫 SetRenderTarget ,您必須使用 GetCubeMapSurface 選取個別臉部,並將產生的表面傳遞至 SetRenderTarget

D3DXCreateCubeTextureFromResourceEx 使用 DirectDraw surface (DDS) 檔案格式。 DirectX 紋理編輯器 (Dxtex.exe) 可讓您從其他檔案格式產生 Cube 對應,並以 DDS 檔案格式儲存。 您可以從 DirectX SDK 取得Dxtex.exe並瞭解。 如需 DirectX SDK 的相關資訊,請參閱 DirectX SDK 在哪裡?

規格需求

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

另請參閱

D3DXCreateCubeTextureFromResource

D3DX 9 中的紋理函式