Platform SDK: DirectX

D3DXLoadTextureFromSurface

D3DXLoadTextureFromSurface 関数は、テクスチャを DirectDrawSurface からミップマップ レベルにロードし、必要なカラー変換を実行する。

HRESULT D3DXLoadTextureFromSurface(
  LPDIRECT3DDEVICE7 pd3dDevice,
  LPDIRECTDRAWSURFACE7 pTexture,
  DWORD mipMapLevel,
  LPDIRECTDRAWSURFACE7 pSurfaceSrc,
  RECT* pSrcRect,
  RECT* pDestRect,
  D3DX_FILTERTYPE filterType
);

パラメータ

pd3dDevice
テクスチャに関連付けられている Direct3D デバイスの IDirect3DDevice7 インターフェイスへのポインタ。
pTexture
D3DXCreateTextureFromFile 関数または D3DXCreateTexture 関数のいずれかにより作成された DirectDrawSurface へのポインタ。このパラメータは、テクスチャ サーフェス オブジェクトをポイントする。
mipMapLevel
ミップマップ レベルを示す。「注意」を参照すること。
pSurfaceSrc
ロード元サーフェスの IDirectDrawSurface7 インターフェイスへのポインタ。ロード元ピクセルが格納されたサーフェス オブジェクト。
pSrcRect
ロード元矩形を識別する RECT 構造体へのポインタ。このパラメータに NULL を指定した場合は、サーフェス全体が使用される。
pDestRect
ロード先矩形を識別する RECT 構造体へのポインタ。このパラメータに NULL を指定した場合は、サーフェス全体が使用される。
filterType
サイズ変更やミップマップ生成が必要なときに使用されるフィルタ関数を示す D3DX_FILTERTYPE 列挙型のメンバ。

戻り値

成功すれば、S_OK を返す。

失敗すれば、次いずれかの値を返す。

D3DXERR_D3DXNOTSTARTEDYET
D3DXERR_INVALIDPARAMETER
D3DXERR_NOMEMORY
D3DXERR_NULLPOINTER
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_NOTFOUND
DDERR_SURFACELOST
DDERR_UNSUPPORTED

注意

この関数は、あるサーフェスから別のサーフェスへコピーするためのメカニズムを提供する。

次に、mipMapLevel パラメータで考慮すべき事柄を示す。

ロード元サーフェスやロード先サーフェスが Direct3DX により作成された場合、RECT 構造体はそのサーフェスのオリジナル座標で指定される。

この関数は、D3DX_SURFACEFORMAT 構造体により記述可能なすべてのサーフェス フォーマットについて、カラー変換の全範囲をサポートしている。また、フィルタリングした再スケーリングを実装したり、ミップマップを自動更新する。

pDestRect をオリジナル イメージの空間に設定すれば、アプリケーションは D3DXCreateTexture 関数の中でサーフェスがどのようにサイズ変更されても心配しなくてもよい。たとえば、イメージが 100 x 150 ピクセルの場合、構成が異なれば 128 x 256 になったり 256 x 256 になる。どちらの場合も、第 2 象限を更新するときに使用する RECT 構造体はサイズ変更が行われていないときのように (0, 0, 50, 75) となる。

動作環境

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以上が必要。Windows 95 用に再配布可能な形で使用可能。
  バージョン : DirectX 7.0 が必要。
  ヘッダー : d3dxcore.h で宣言。
  ライブラリ : d3dx.lib を使用。

参照

D3DXLoadTextureFromFileD3DXLoadTextureFromMemory