D3DXCreateCubeTextureFromFileInMemoryEx 関数

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

構文

HRESULT D3DXCreateCubeTextureFromFileInMemoryEx(
  _In_    LPDIRECT3DDEVICE9      pDevice,
  _In_    LPCVOID                pSrcData,
  _In_    UINT                   SrcDataSize,
  _In_    UINT                   Size,
  _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_   LPDIRECT3DCUBETEXTURE9 *ppCubeTexture
);

パラメーター

pDevice [in]

種類: LPDIRECT3DDEVICE9

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

pSrcData [in]

種類: LPCVOID

キューブ テクスチャの作成元となるメモリ内のファイルへのポインター。 「解説」を参照してください。

SrcDataSize [in]

型: UINT

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

サイズ [入力]

型: UINT

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

MipLevels [in]

型: UINT

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

使用法 [入力]

種類: DWORD

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

書式 [in]

型: D3DFORMAT

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

プール [入力]

種類: D3DPOOL

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

フィルター [入力]

種類: DWORD

イメージのフィルター処理方法を制御する 1 つ以上の D3DX_FILTER の組み合わせ。 このパラメーターにD3DX_DEFAULTを指定することは、D3DX_FILTER_TRIANGLE を指定することと同じです。 |D3DX_FILTER_DITHER。

MipFilter [in]

種類: DWORD

イメージのフィルター処理方法を制御する 1 つ以上の D3DX_FILTER の組み合わせ。 このパラメーターにD3DX_DEFAULTを指定することは、D3DX_FILTER_BOXを指定することと同じです。 さらに、ビット 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)。 「解説」を参照してください。

ppCubeTexture [out]

種類: LPDIRECT3DCUBETEXTURE9*

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

戻り値

種類: HRESULT

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

解説

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

キューブ テクスチャは、サーフェスのコレクションであるという点で、他のサーフェスとは異なります。 キューブ テクスチャを使用して SetRenderTarget を 呼び出すには、 GetCubeMapSurface を使用して個々の顔を選択し、結果のサーフェスを SetRenderTarget に渡す必要があります。

このメソッドは、アプリケーション定義リソース (生データ) であるRT_RCDATAとして格納されているイメージ ファイルを読み込む場合に使用するように設計されています。 それ以外の場合、このメソッドは失敗します。

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

D3DXCreateCubeTextureFromFileInMemoryEx は、DirectDraw サーフェス (DDS) ファイル形式を使用します。 DirectX テクスチャ エディター (Dxtex.exe) を使用すると、他のファイル形式からキューブ マップを生成し、DDS ファイル形式で保存できます。 Dxtex.exeを取得し、DirectX SDK からその詳細を確認できます。 DirectX SDK の詳細については、「 DirectX SDK はどこにありますか?」を参照してください。

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

要件

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

関連項目

D3DX 9 のテクスチャ関数