D3DXCheckTextureRequirements

テクスチャー作成パラメーターをチェックします。

HRESULT 
D3DXCheckTextureRequirements(
  LPDIRECT3DDEVICE9 pDevice,
  UINT * pWidth,
  UINT * pHeight,
  UINT * pNumMipLevels,
  DWORD Usage,
  D3DFORMAT * pFormat,
  D3DPOOL Pool
);

パラメータ

  • pDevice
    IDirect3DDevice9 インターフェイスへのポインターです。テクスチャーに関連付けられるデバイスを示します。
  • pWidth
    幅の要求値 (ピクセル単位) へのポインターか、NULL を指定します。また、このパラメーターには訂正後のサイズが返されます。
  • pHeight
    高さの要求値 (ピクセル単位) へのポインターか、NULL を指定します。また、このパラメーターには訂正後のサイズが返されます。
  • pNumMipLevels
    要求するミップマップ レベル数のポインターか、NULL を指定します。また、このパラメーターは、ミップマップ レベルの訂正後の数値が返されます。
  • Usage
    0 または D3DUSAGE_RENDERTARGET を指定します。このフラグを D3DUSAGE_RENDERTARGET に指定すると、サーフェスをレンダー ターゲットとして使用します。その後でリソースを IDirect3DDevice9::SetRenderTarget メソッドの pNewRenderTarget パラメーターとして渡すことができます。D3DUSAGE_RENDERTARGET を指定する場合は、アプリケーションで IDirect3D9::CheckDeviceFormat を呼び出して、デバイスがこの処理をサポートしていることを確認する必要があります。
  • pFormat
    D3DFORMAT 列挙型のメンバーへのポインターです。必要なピクセル フォーマットか、NULL を指定します。また、このパラメーターには訂正後のフォーマットが返されます。
  • Pool
    D3DPOOL 列挙型のメンバーです。テクスチャーを配置するメモリー クラスを示します。

戻り値

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

D3DERR_NOTAVAILABLE

解説 

この関数のパラメーターが無効な場合、訂正後のパラメーターが返ります。

この関数は利用可能なフォーマットに対して要求される要件を比較する際に次のヒューリスティックを使用します。

  • チャンネル数の少ないフォーマットは選択しません。
  • 明示的な要求がない限り FOURCC フォーマットと 24 ビット フォーマットを避けます。
  • 新しいチャンネルを追加しないようにします。
  • チャンネルあたりのビット数を変更しないようにします。
  • フォーマットのタイプ間を変換しないようにします。たとえば、ARGB フォーマットを深度フォーマットに変換しないようにします。

要件

ヘッダー: D3dx9tex.h 宣言

ライブラリ: D3dx9.lib 内容