次の方法で共有


D3DXCreateCubeTextureFromFileEx 関数

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

構文

HRESULT D3DXCreateCubeTextureFromFileEx(
  _In_  LPDIRECT3DDEVICE9      pDevice,
  _In_  LPCTSTR                pSrcFile,
  _In_  UINT                   Size,
  _In_  UINT                   MipLevels,
  _In_  DWORD                  Usage,
  _In_  D3DFORMAT              Format,
  _In_  D3DPOOL                Pool,
  _In_  DWORD                  Filter,
  _In_  DWORD                  MipFilter,
  _In_  D3DCOLOR               ColorKey,
  _Out_ D3DXIMAGE_INFO         *pSrcInfo,
  _Out_ PALETTEENTRY           *pPalette,
  _Out_ LPDIRECT3DCUBETEXTURE9 *ppCubeTexture
);

パラメーター

pDevice [in]

種類: LPDIRECT3DDEVICE9

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

pSrcFile [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を指定することと同じです。 さらに、ビット 27 から 31 を使用して、.dds テクスチャがメモリに読み込まれるときにスキップされる mip レベルの数 (ミップマップ チェーンの上部から) を指定します。これにより、最大 32 レベルまでスキップできます。

ColorKey [in]

種類: D3DCOLOR

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

pSrcInfo [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 が定義されている場合、関数呼び出しは D3DXCreateCubeTextureFromFileExW に解決されます。 それ以外の場合、ANSI 文字列が使用されているため、関数呼び出しは D3DXCreateCubeTextureFromFileExA に解決されます。

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

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

D3DXCreateCubeTextureFromFileEx は、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

関連項目

D3DXCreateCubeTextureFromFile

D3DX 9 のテクスチャ関数