D3DXCreateCubeTextureFromFileInMemoryEx 関数

D3DXCreateCubeTextureFromFileInMemoryEx 関数

メモリ内のファイルからキューブ テクスチャを作成する。これは、D3DXCreateCubeTextureFromFileInMemory の上位の関数である。

構文

HRESULT D3DXCreateCubeTextureFromFileInMemoryEx(      
    LPDIRECT3DDEVICE9 pDevice,
    LPCVOID pSrcData,
    UINT SrcDataSize,
    UINT Size,
    UINT MipLevels,
    DWORD Usage,
    D3DFORMAT Format,
    D3DPOOL Pool,
    DWORD Filter,
    DWORD MipFilter,
    D3DCOLOR ColorKey,
    D3DXIMAGE_INFO *pSrcInfo,
    PALETTEENTRY *pPalette,
    LPDIRECT3DCUBETEXTURE9 *ppCubeTexture
);

パラメータ

  • pDevice
    [in] IDirect3DDevice9 インターフェイスへのポインタ。キューブ テクスチャに関連付けられるデバイスを表す。
  • pSrcData
    [in] キューブ テクスチャの作成に使うメモリ内のファイルへのポインタ。「注意」を参照すること。
  • SrcDataSize
    [in] メモリ内のファイルのサイズ (バイト単位)。
  • Size
    [in] 幅または高さ (ピクセル単位)。この値が 0 または D3DX_DEFAULT の場合、ディメンジョンはファイルから取得される。
  • MipLevels
    [in] 要求されるミップ レベルの数。この値が 0 または D3DX_DEFAULT の場合は、完全なミップマップ チェーンが作成される。
  • Usage
    [in] 0、D3DUSAGE_RENDERTARGET、または D3DUSAGE_DYNAMIC。このフラグを D3DUSAGE_RENDERTARGET に設定すると、そのサーフェイスはレンダリング ターゲットとして使われることを示す。リソースは、IDirect3DDevice9::SetRenderTarget メソッドの pNewRenderTarget パラメータに渡すことができる。D3DUSAGE_RENDERTARGET を指定する場合、アプリケーションは IDirect3D9::CheckDeviceFormat を呼び出して、デバイスがこの処理をサポートしていることを確認する必要がある。動的テクスチャの使い方の詳細については、「動的テクスチャの使い方」を参照すること。
  • Format
    [in] D3DFORMAT 列挙型のメンバ。キューブ テクスチャに対して要求されたピクセル フォーマットを記述する。返されるテクスチャのフォーマットは、Format で指定したフォーマットと異なる場合がある。アプリケーションは、返されたテクスチャのフォーマットを確認する必要がある。Format の値が D3DFMT_UNKNOWN の場合、フォーマットはファイルから取得される。
  • Pool
    [in] D3DPOOL 列挙型のメンバ。キューブ テクスチャの配置先となるメモリ クラスを記述する。
  • Filter
    [in] イメージをフィルタリングする方法を制御する 1 つあるいは複数の D3DX_FILTER の組み合わせ。このパラメータに D3DX_DEFAULT を指定することは、D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER を指定することと等しい。
  • MipFilter
    [in] イメージをフィルタリングする方法を制御する 1 つあるいは複数の D3DX_FILTER の組み合わせ。このパラメータに D3DX_DEFAULT を指定することは、D3DX_FILTER_BOX を指定することと等しい。
  • ColorKey
    [in] 透明となる D3DCOLOR の値。カラーキーを無効にする場合は 0 を指定する。ソース イメージのフォーマットとは関係なく、これは常に 32 ビットの ARGB カラーである。アルファが有意であり、通常はカラー キーを不透明にする場合は FF を指定する。したがって、不透明な黒の場合、値は 0xFF000000 となる。
  • pSrcInfo
    [in, out] ソース イメージ ファイル内のデータの記述を格納する D3DXIMAGE_INFO 構造体へのポインタ、または NULL。
  • pPalette
    [out] 格納する 256 色パレットを表す PALETTEENTRY 構造体へのポインタ、または NULL。「注意」を参照すること。
  • ppCubeTexture
    [out] 作成されたキューブ テクスチャ オブジェクトを表す、IDirect3DCubeTexture9 インターフェイスへのポインタのアドレス。

戻り値

成功した場合は、D3D_OK を返す。

失敗した場合は、次のいずれかの値を返す。

D3DERR_INVALIDCALL メソッドの呼び出しが無効である。たとえば、メソッドのパラメータに無効な値が設定されている場合などである。
D3DERR_NOTAVAILABLE このデバイスは、照会されたテクニックをサポートしていない。
D3DERR_OUTOFVIDEOMEMORY Microsoft® Direct3D® が処理を行うのに十分なディスプレイ メモリがない。
D3DXERR_INVALIDDATA データが無効である。
E_OUTOFMEMORY Direct3D が呼び出しを完了するための十分なメモリを割り当てることができなかった。

注意

この関数がサポートしている ファイル フォーマットは、.bmp、.dds、.dib、.jpg、.png、および .tga である。

キューブ テクスチャは、サーフェイスの集合である点が他のサーフェイスと異なる。キューブ テクスチャを指定して IDirect3DDevice9::SetRenderTarget を呼び出すには、IDirect3DCubeTexture9::GetCubeMapSurface を使って特定の面を選択し、そのサーフェイスを IDirect3DDevice9::SetRenderTarget に渡す必要がある。

このメソッドは、アプリケーション定義のリソース (未加工データ) である、RT_RCDATA として格納されたイメージ ファイルをロードするために使用するように設計されている。それ以外の目的に使用すると、このメソッドは失敗する。

PALETTEENTRY の詳細については、Microsoft Platform Software Development Kit (SDK) を参照すること。Microsoft DirectX® 8.0 の時点で、PALETTEENTRY 構造体の peFlags メンバは、Platform SDK に説明されているようには機能しない。peFlags メンバは、現在、8 ビット パレット化フォーマットのアルファ チャンネルである。

D3DXCreateCubeTextureFromFileInMemoryEx は、DirectDraw® サーフェイス (DDS) ファイル フォーマットを使う。DXTex ツールによって、他のファイル フォーマットからキューブ マップを生成し、それを DDS ファイル フォーマットで保存することができる。

関数の情報

ヘッダー d3dx9tex.h
インポート ライブラリ d3dx9.lib
最低限のオペレーティング システム Windows 98

参照

テクスチャの色変換