D3DXCreateTextureFromFileInMemoryEx 関数

メモリ内のファイルからテクスチャを作成します。 これは、 D3DXCreateTextureFromFileInMemory よりも高度な関数です。

構文

HRESULT D3DXCreateTextureFromFileInMemoryEx(
  _In_    LPDIRECT3DDEVICE9  pDevice,
  _In_    LPCVOID            pSrcData,
  _In_    UINT               SrcDataSize,
  _In_    UINT               Width,
  _In_    UINT               Height,
  _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_   LPDIRECT3DTEXTURE9 *ppTexture
);

パラメーター

pDevice [in]

種類: LPDIRECT3DDEVICE9

テクスチャに関連付けるデバイスを表す IDirect3DDevice9 インターフェイスへのポインター。

pSrcData [in]

種類: LPCVOID

テクスチャを作成するメモリ内のファイルへのポインター。

SrcDataSize [in]

型: UINT

メモリ内のファイルのサイズ (バイト単位)。

Width [in]

型: UINT

幅 (ピクセル単位)。 この値が 0 またはD3DX_DEFAULTの場合、ディメンションはファイルから取得されます。

高さ [入力]

型: UINT

高さ (ピクセル単位)。 この値が 0 またはD3DX_DEFAULTの場合、ディメンションはファイルから取得されます。

MipLevels [in]

型: UINT

要求されたミップ レベルの数。 この値が 0 またはD3DX_DEFAULTの場合は、完全なミップマップ チェーンが作成されます。

使用法 [入力]

種類: DWORD

0、D3DUSAGE_RENDERTARGET、またはD3DUSAGE_DYNAMIC。 このフラグを D3DUSAGE_RENDERTARGET に設定すると、サーフェスがレンダー ターゲットとして使用されることを示します。 その後、SetRenderTarget メソッドの pNewRenderTarget パラメーターにリソースを渡すことができます。 D3DUSAGE_RENDERTARGETまたはD3DUSAGE_DYNAMICが指定されている場合は、Pool を D3DPOOL_DEFAULT に設定する必要があります。また、アプリケーションは CheckDeviceFormat を呼び出して、デバイスがこの操作をサポートしていることをチェックする必要があります。 動的テクスチャの使用の詳細については、「動的テクスチャの 使用」を参照してください。

書式 [in]

型: D3DFORMAT

テクスチャの要求されたピクセル形式を記述する D3DFORMAT 列挙型のメンバー。 返されるテクスチャの形式は、 Format で指定された形式とは異なる場合があります。 アプリケーションは、返されるテクスチャの形式をチェックする必要があります。 D3DFMT_UNKNOWN場合、形式はファイルから取得されます。 D3DFMT_FROM_FILE場合、形式はファイル内の形式とまったく同じように取得され、デバイスの機能に違反すると呼び出しは失敗します。

プール [入力]

種類: D3DPOOL

テクスチャを配置するメモリ クラスを記述する D3DPOOL 列挙型のメンバー。

フィルター [入力]

種類: DWORD

イメージのフィルター処理方法を制御する 1 つ以上のフラグの組み合わせ。 このパラメーターにD3DX_DEFAULTを指定することは、D3DX_FILTER_TRIANGLE を指定することと同じです。 |D3DX_FILTER_DITHER。 有効な各フィルターには、 D3DX_FILTERのいずれかのフラグが含まれている必要があります。

MipFilter [in]

種類: DWORD

イメージのフィルター処理方法を制御する 1 つ以上のフラグの組み合わせ。 このパラメーターにD3DX_DEFAULTを指定することは、D3DX_FILTER_BOXを指定することと同じです。 有効な各フィルターには、 D3DX_FILTERのいずれかのフラグが含まれている必要があります。 さらに、ビット 27 から 31 を使用して、.dds テクスチャがメモリに読み込まれるときにスキップするミップ レベルの数 (ミップマップ チェーンの上部から) を指定します。これにより、最大 32 レベルをスキップできます。

ColorKey [in]

種類: D3DCOLOR

透明な黒に置き換える D3DCOLOR 値、またはカラーキーを無効にする場合は 0。 これは、ソース イメージ形式に関係なく、常に 32 ビットの ARGB 色です。 アルファは重要であり、通常は不透明な色キーの場合は FF に設定する必要があります。 したがって、不透明な黒の場合、値は0xFF000000と等しくなります。

pSrcInfo [in, out]

種類: D3DXIMAGE_INFO*

ソース イメージ ファイル内のデータの説明が入力される D3DXIMAGE_INFO 構造体へのポインター( NULL)。

pPalette [out]

種類: PALETTEENTRY*

塗りつぶす 256 色パレットを表す PALETTEENTRY 構造体へのポインター( NULL)。 「解説」を参照してください。

ppTexture [out]

種類: LPDIRECT3DTEXTURE9*

作成されたテクスチャ オブジェクトを表す IDirect3DTexture9 インターフェイスへのポインターのアドレス。

戻り値

種類: HRESULT

関数が成功した場合、戻り値はD3D_OK。 関数が失敗した場合、戻り値は、D3DERR_NOTAVAILABLE、D3DERR_OUTOFVIDEOMEMORY、D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA、E_OUTOFMEMORYのいずれかになります。

注釈

この関数は、.bmp、.dds、.dib、.hdr、.jpg、.pfm、.png、.ppm、.tga のファイル形式をサポートします。 「D3DXIMAGE_FILEFORMAT」を参照してください。

PALETTEENTRY の詳細については、プラットフォーム SDK に関するページを参照してください。 DirectX 8.0 以降では、 PALETTEENTRY 構造体の peFlags メンバーは、プラットフォーム SDK に記載されているように機能しないことに注意してください。 peFlags メンバーは、8 ビットのパレット化された形式のアルファ チャネルになりました。

.dds ファイルの読み込み中に mipmap レベルをスキップする場合は、D3DX_SKIP_DDS_MIP_LEVELS マクロを使用して MipFilter 値を生成します。 このマクロは、スキップするレベルの数とフィルターの種類を受け取り、フィルター値を返します。この値は MipFilter パラメーターに渡されます。

要件

要件
ヘッダー
D3dx9tex.h
ライブラリ
D3dx9.lib

こちらもご覧ください

D3DXCreateTextureFromFileInMemory

D3DX 9 のテクスチャ関数