次の方法で共有


D3DXCreateCubeTextureFromFileEx

ファイルを基にしてキューブ テクスチャーを作成します。これは、D3DXCreateCubeTextureFromFile の上位の関数です。

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

パラメータ

  • pDevice
    IDirect3DDevice9 インターフェイスへのポインターです。キューブ テクスチャーに関連付けられるデバイスを示します。
  • pSrcFile
    ファイル名を指定する文字列へのポインターです。コンパイラーの設定で Unicode が必要な場合、データ型 LPCTSTR は LPCWSTR に解決されます。それ以外の場合、文字列データ型は LPCSTR に解決されます。「解説」を参照してください。
  • Size
    キューブ テクスチャーの幅と高さです (ピクセル単位)。たとえば、キューブ テクスチャーが 8 x 8 ピクセルの場合、このパラメーターの値は 8 です。この値が 0 または D3DX_DEFAULT の場合、サイズはファイルから取得されます。
  • MipLevels
    ミップマップ レベル数の要求値です。この値が 0 または D3DX_DEFAULT の場合は、完全なミップマップのチェーンが作成されます。
  • Usage
    0、D3DUSAGE_RENDERTARGET、または D3DUSAGE_DYNAMIC。このフラグを D3DUSAGE_RENDERTARGET に指定すると、サーフェスをレンダー ターゲットとして使用します。その後でリソースを IDirect3DDevice9::SetRenderTarget メソッドの pNewRenderTarget パラメーターとして渡すことができます。D3DUSAGE_RENDERTARGET を指定する場合は、アプリケーションで IDirect3D9::CheckDeviceFormat を呼び出して、デバイスがこの処理をサポートしていることを確認する必要があります。D3DUSAGE_DYNAMIC はサーフェスが動的に処理されることを示します。動的テクスチャーの使用の詳細については、「動的テクスチャーの使用」を参照してください。
  • Format
    D3DFORMAT 列挙型のメンバーです。キューブ テクスチャーに対して要求されたピクセル フォーマットを示します。返されるキューブ テクスチャーのフォーマットは、Format で指定されたものと異なる場合があります。アプリケーションでは、返されるキューブ テクスチャーのフォーマットをチェックする必要があります。D3DFMT_UNKNOWN の場合、ファイルからフォーマットが取得されます。D3DFMT_FROM_FILE の場合、フォーマットはファイル内にあるとおり正確に取得され、デバイスの能力に違反する場合は呼び出しに失敗します。
  • Pool
    D3DPOOL 列挙型のメンバーです。キューブ テクスチャーを配置するメモリー クラスを示します。
  • Filter
    イメージのフィルタリング方法を指定する、1 つ以上の D3DX_FILTER 定数の組み合わせです。このパラメーターに D3DX_DEFAULT を指定すると、D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER を指定したのと同じ結果になります。
  • MipFilter
    イメージのフィルタリング方法を指定する、1 つ以上の D3DX_FILTER 定数の組み合わせです。このパラメーターに D3DX_DEFAULT を指定すると、D3DX_FILTER_BOX を指定したのと同じ結果になります。さらに、ビット 27 ~ 31 を使用して、.dds テクスチャーがメモリーにロードされたときに (ミップマップ チェーンのトップから) スキップするミップ レベルの数を指定します。32 レベルまでスキップ可能です。
  • ColorKey
    透明な黒と置き換える D3DCOLOR 値、またはカラーキーを無効にする 0 を指定します。この値は、元のイメージのフォーマットに関係なく常に 32 ビットの ARGB カラーになります。最上位には、アルファ値を指定します。カラー キーを不透明にする場合には FF に設定します。したがって、不透明な黒の場合には、値が 0xFF000000 になります。
  • pSrcInfo
    ソース イメージ ファイル内のデータの記述を格納する D3DXIMAGE_INFO 構造体へのポインター、または NULL です。
  • pPalette
    PALETTEENTRY 構造体へのポインターです。カラー値を格納する 256 色パレットを示します。または NULL です。
  • ppCubeTexture
    作成されたキューブ テクスチャー オブジェクトを表す IDirect3DCubeTexture9 インターフェイスへのポインターのアドレスです。

戻り値

成功すると、D3D_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_INVALIDCALL

D3DERR_NOTAVAILABLED3DERR_OUTOFVIDEOMEMORYD3DXERR_INVALIDDATAE_OUTOFMEMORY

解説 

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

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

キューブ テクスチャーは他のサーフェスと異なり、サーフェスのコレクションになります。キューブ テクスチャーで IDirect3DDevice9::SetRenderTarget を呼び出すには、IDirect3DCubeTexture9::GetCubeMapSurface メソッドを使用して個別の面を選択し、その結果のサーフェスを IDirect3DDevice9::SetRenderTarget に渡す必要があります。

D3DXCreateCubeTextureFromFileEx は DirectDraw サーフェス (DDS) ファイル フォーマットを使用します。DirectX テクスチャー エディター (Dxtex.exe) を使用すると、他のファイル形式からキューブ マップを生成し、DDS ファイル形式で保存できます。

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

要件

ヘッダー: D3dx9tex.h 宣言

ライブラリ: D3dx9.lib 内容

関連項目

D3DXCreateCubeTextureFromFile, D3DX 9 のテクスチャー関数