D3DXCreateTextureFromFile 函式
從檔案建立紋理。
語法
HRESULT D3DXCreateTextureFromFile(
_In_ LPDIRECT3DDEVICE9 pDevice,
_In_ LPCTSTR pSrcFile,
_Out_ LPDIRECT3DTEXTURE9 *ppTexture
);
參數
-
pDevice [in]
-
IDirect3DDevice9介面的指標,代表要與紋理相關聯的裝置。
-
pSrcFile [in]
-
類型: LPCTSTR
指定檔案名的字串指標。 如果編譯器設定需要 Unicode,LPCTSTR 資料類型會解析為 LPCWSTR。 否則,字串資料類型會解析為 LPCSTR。 請參閱<備註>。
-
ppTexture [out]
-
類型: LPDIRECT3DTEXTURE9*
IDirect3DTexture9介面指標的位址,代表已建立的紋理物件。
傳回值
類型: HRESULT
如果函式成功,傳回值會D3D_OK。 如果函式失敗,傳回值可以是下列其中一項:D3DERR_NOTAVAILABLE、D3DERR_OUTOFVIDEOMEMORY、D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA E_OUTOFMEMORY。
備註
編譯器設定也會決定函式版本。 如果定義 Unicode,函式呼叫會解析為 D3DXCreateTextureFromFileW。 否則,函式呼叫會解析為 D3DXCreateTextureFromFileA,因為正在使用 ANSI 字串。
此函式支援下列檔案格式:.bmp、.dds、.dib、.hdr、.jpg、.pfm、.png、.ppm 和 .tga。 請參閱 D3DXIMAGE_FILEFORMAT。
函式相當於 D3DXCreateTextureFromFileEx (pDevice、pSrcFile、D3DX_DEFAULT、D3DX_DEFAULT、D3DX_DEFAULT、0、D3DFMT_UNKNOWN、D3DPOOL_MANAGED、D3DX_DEFAULT、D3DX_DEFAULT、0、 Null、 Null、ppTexture) 。
Mipmapped 紋理會自動讓每個層級填滿載入的紋理。
將影像載入 mipmapped 紋理時,某些裝置無法移至 1x1 影像,此函式將會失敗。 如果發生這種情況,則必須手動載入映射。
請注意,使用此函式建立的資源將會放在記憶體類別中,以D3DPOOL_MANAGED表示。
篩選會自動套用至使用此方法建立的紋理。 篩選相當於D3DX_FILTER_TRIANGLE |D3DX_FILTER中的 D3DX_FILTER_DITHER。
若要獲得最佳效能,請使用 D3DXCreateTextureFromFile:
- 在載入時執行影像縮放和格式轉換可能會很慢。 使用其格式和解析度儲存影像。 如果目標硬體需要兩個維度的電源,請使用兩個維度的強大功能來建立和儲存影像。
- 請考慮使用 DirectDraw surface (DDS) 檔案。 因為 DDS 檔案可以用來代表任何 Direct3D 9 紋理格式,所以 D3DX 很容易讀取。 此外,它們可以儲存 mipmap,因此任何 mipmap 產生演算法都可以用來撰寫影像。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱