D3DXCreateTextureFromFile 関数
D3DXCreateTextureFromFile 関数
ファイルを基にしてテクスチャを作成する。
構文
HRESULT D3DXCreateTextureFromFile(
LPDIRECT3DDEVICE9 pDevice,
LPCTSTR pSrcFile,
LPDIRECT3DTEXTURE9 *ppTexture
);
パラメータ
- pDevice
[in] IDirect3DDevice9 インターフェイスへのポインタ。テクスチャに関連付けられているデバイスを表す。 - pSrcFile
[in] ファイル名を指定する文字列へのポインタ。コンパイラの設定が Unicode を要求している場合、データ タイプ LPCTSTR は LPCWSTR になる。それ以外の場合は、この文字列のデータ タイプは LPCSTR になる。「注意」を参照すること。 - ppTexture
[out] 作成されたキューブ テクスチャ オブジェクトを表す、IDirect3DTexture9 インターフェイスへのポインタのアドレス。
戻り値
成功した場合は、D3D_OK を返す。
失敗した場合は、次のいずれかの値を返す。
D3DERR_NOTAVAILABLE | このデバイスは、照会されたテクニックをサポートしていない。 |
D3DERR_OUTOFVIDEOMEMORY | Microsoft® Direct3D® が処理を行うのに十分なディスプレイ メモリがない。 |
D3DERR_INVALIDCALL | メソッドの呼び出しが無効である。たとえば、メソッドのパラメータに無効な値が設定されている場合などである。 |
D3DXERR_INVALIDDATA | データが無効である。 |
E_OUTOFMEMORY | Direct3D が呼び出しを完了するための十分なメモリを割り当てることができなかった。 |
注意
コンパイラの設定によって関数のバージョンも決まる。Unicode が定義されている場合、この関数の呼び出しは D3DXCreateTextureFromFileW になる。それ以外の場合は ANSI 文字列を使うので、この関数の呼び出しは D3DXCreateTextureFromFileA になる。
この関数がサポートしている ファイル フォーマットは、.bmp、.dds、.dib、.jpg、.png、および .tga である。
この関数は D3DXCreateTextureFromFileExW(pDevice, pSrcFile, D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, ppTexture) と等しい。
ミップマップされたテクスチャの各レベルには、ロードされたテクスチャが自動的に格納される。
ミップマップされたテクスチャにイメージをロードするとき、デバイスによっては、1x1 のイメージに変換できず、関数が失敗することがある。このような場合は、イメージを手動でロードする必要がある。
この関数を使用して作成したリソースは、D3DPOOL_MANAGED で示されるメモリ クラスに配置される。
D3DXCreateTextureFromFile を使って最適なパフォーマンスを得るには、次のことを行う。
- イメージのスケーリングおよびフォーマット変換をロード時に行うと、処理に時間がかかる場合がある。イメージは、使うときのフォーマットおよび解像度で保存する。ターゲット ハードウェアで処理できるのが 2 の累乗のディメンジョンだけの場合は、2 の累乗のディメンジョンを使ってイメージを作成し保存する。
- Microsoft DirectDraw® サーフェイス (DDS) ファイルの使用を検討する。Microsoft DirectX® 9.0 テキスト フォーマットはすべて DDS ファイルを使って表現できるため、DDS ファイルは Direct3D エクステンション (D3DX) にとって読み取りやすい。また、DDS ファイルにミップマップを保存することができ、任意のミップマップ生成アルゴリズムを使ってイメージを作成できる。
関数の情報
ヘッダー | d3dx9tex.h |
インポート ライブラリ | d3dx9.lib |
最低限のオペレーティング システム | Windows 98 |
参照