D3DXCreateTextureFromFile
ファイルを基にしてテクスチャーを作成します。
HRESULT
D3DXCreateTextureFromFile(
LPDIRECT3DDEVICE9 pDevice,
LPCTSTR pSrcFile,
LPDIRECT3DTEXTURE9 * ppTexture
);
パラメータ
- pDevice
IDirect3DDevice9 インターフェイスへのポインターです。テクスチャーに関連付けられるデバイスを示します。 - pSrcFile
ファイル名を指定する文字列へのポインターです。コンパイラーの設定で Unicode が必要な場合、データ型 LPCTSTR は LPCWSTR に解決されます。それ以外の場合、文字列データ型は LPCSTR に解決されます。「解説」を参照してください。 - ppTexture
作成するテクスチャー オブジェクトを表す IDirect3DTexture9 インターフェイスへのポインターのアドレスです。
戻り値
成功すると、D3D_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。
D3DERR_NOTAVAILABLED3DERR_OUTOFVIDEOMEMORYD3DERR_INVALIDCALLD3DXERR_INVALIDDATAE_OUTOFMEMORY
解説
コンパイラ設定により、関数のバージョンも決定されます。Unicode が定義されている場合、関数呼び出しは D3DXCreateTextureFromFileW に解決されます。それ以外の場合は、ANSI 文字列が使用されるため、D3DXCreateTextureFromFileA に解決されます。
この関数は、.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) と同等です。
ミップマップされたテクスチャーの各レベルには、ロードされたテクスチャーが自動的に格納されます。
イメージをミップマップされたテクスチャーにロードするときに、デバイスによっては 1 x 1 のイメージに変換できず、関数の処理が失敗することがあります。この場合、イメージを手動でロードする必要があります。
この関数で作成されたリソースは、D3DPOOL_MANAGED で示されるメモリー クラスに格納されます。
このメソッドを使用して作成したテクスチャーには、自動的にフィルタリングが適用されます。このフィルタリングは D3DX_FILTER の D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER と同等です。
D3DXCreateTextureFromFile を使用して最適なパフォーマンスを得るには、次のことを行います。
- イメージのスケーリングおよびフォーマット変換をロード時に行うと、処理に時間がかかる場合があります。イメージは、使用するときのフォーマットと解像度で保存します。ターゲット ハードウェアが 2 の累乗のディメンジョンを必要とする場合は、2 の累乗のディメンジョンを使ってイメージを作成し保存します。
- DDS (DirectDraw サーフェス) ファイルの使用を検討します。Direct3D 9 テクスチャー フォーマットはすべて DDS ファイルを使用して表現できるため、D3DX は DDS ファイルを簡単に読み取ることができます。また、DDS ファイルにミップマップを保存でき、任意のミップマップ生成アルゴリズムを使用してイメージを作成することができます。
要件
ヘッダー: D3dx9tex.h 宣言
ライブラリ: D3dx9.lib 内容