D3DXCreateCubeTextureFromResourceEx 関数

文字列で指定されたリソースからキューブ テクスチャを作成します。 これは 、D3DXCreateCubeTextureFromResource よりも高度な関数です。

構文

HRESULT D3DXCreateCubeTextureFromResourceEx(
  _In_    LPDIRECT3DDEVICE9      pDevice,
  _In_    HMODULE                hSrcModule,
  _In_    LPCTSTR                pSrcResource,
  _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 インターフェイスへのポインター。

hSrcModule [in]

種類: HMODULE

リソースが配置されているモジュールへのハンドル、または現在のプロセスの作成に使用されるオペレーティング システムのイメージに関連付けられているモジュールの NULL

pSrcResource [in]

種類: LPCTSTR

リソース名を指定する文字列へのポインター。 コンパイラ設定で Unicode が必要な場合、データ型 LPCTSTR は LPCWSTR に解決されます。 それ以外の場合、文字列データ型は LPCSTR に解決されます。 「解説」を参照してください。

サイズ [入力]

型: UINT

キューブ テクスチャの幅と高さ (ピクセル単位)。 たとえば、キューブ テクスチャが 8 ピクセル x 8 ピクセルのキューブの場合、このパラメーターの値は 8 である必要があります。 この値が 0 またはD3DX_DEFAULTの場合、ファイルからディメンションが取得されます。

MipLevels [in]

型: UINT

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

使用法 [入力]

型: DWORD

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

書式 [入力]

型: 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を指定することと同じです。

ColorKey [in]

種類: D3DCOLOR

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

pSrcInfo [in, out]

種類: D3DXIMAGE_INFO*

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

pPalette [out]

種類: PALETTEENTRY*

塗りつぶす 256 色のパレットまたは NULL を表す PALETTEENTRY 構造体へのポインター。

ppCubeTexture [out]

種類: LPDIRECT3DCUBETEXTURE9*

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

戻り値

型: HRESULT

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

解説

コンパイラ設定によって関数のバージョンが決まります。 Unicode が定義されている場合、関数呼び出しは D3DXCreateCubeTextureFromResourceExW に解決されます。 それ以外の場合、ANSI 文字列が使用されているため、関数呼び出しは D3DXCreateCubeTextureFromResourceExA に解決されます。

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

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

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

必要条件

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

こちらもご覧ください

D3DXCreateCubeTextureFromResource

D3DX 9 のテクスチャ関数