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 を使用して最適なパフォーマンスを得るには、次のことを行います。

  1. イメージのスケーリングおよびフォーマット変換をロード時に行うと、処理に時間がかかる場合があります。イメージは、使用するときのフォーマットと解像度で保存します。ターゲット ハードウェアが 2 の累乗のディメンジョンを必要とする場合は、2 の累乗のディメンジョンを使ってイメージを作成し保存します。
  2. DDS (DirectDraw サーフェス) ファイルの使用を検討します。Direct3D 9 テクスチャー フォーマットはすべて DDS ファイルを使用して表現できるため、D3DX は DDS ファイルを簡単に読み取ることができます。また、DDS ファイルにミップマップを保存でき、任意のミップマップ生成アルゴリズムを使用してイメージを作成することができます。

要件

ヘッダー: D3dx9tex.h 宣言

ライブラリ: D3dx9.lib 内容

関連項目

D3DXCreateTextureFromFileEx, D3DX 9 のテクスチャー関数