次の方法で共有


IDirect3D9::CheckDeviceFormatConversion メソッド

IDirect3D9::CheckDeviceFormatConversion メソッド

デバイスがディスプレイ フォーマットの変換をサポートするかどうかをテストする。

構文

HRESULT CheckDeviceFormatConversion(      
    UINT Adapter,
    D3DDEVTYPE DeviceType,
    D3DFORMAT SourceFormat,
    D3DFORMAT TargetFormat
);

パラメータ

  • Adapter
    [in] ディスプレイ アダプタの序数。D3DADAPTER_DEFAULT は常にプライマリ ディスプレイ アダプタである。この値がシステムのディスプレイ アダプタの数以上の場合、このメソッドは D3DERR_INVALIDCALL を返す。
  • DeviceType
    [in] デバイス タイプ。D3DDEVTYPE 列挙型のメンバ。
  • SourceFormat
    [in] 転送元アダプタのフォーマット。D3DFORMAT 列挙型のメンバ。
  • TargetFormat
    [in] 転送先アダプタのフォーマット。D3DFORMAT 列挙型のメンバ。

戻り値

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

失敗した場合は、D3DERR_INVALIDCALL を返す。

ハードウェアが 2 つのフォーマット間での変換をサポートしない場合は、D3DERR_NOTAVAILABLE を返す。

注意

IDirect3D9::CheckDeviceType を使って、ディスプレイ フォーマットと異なるバック バッファとの互換性をテストすると、適切な値が返される。つまり、呼び出しはデバイスの能力を表す。要求したバック バッファ フォーマットにデバイスがレンダリングできない場合でも、呼び出しは D3DERR_NOTAVAILABLE を返す。デバイスがそのフォーマットにレンダリングできるが、色変換を使ったプレゼンテーションを実行できない場合も、戻り値は D3DERR_NOTAVAILABLE になる。アプリケーションでは、IDirect3D9::CheckDeviceFormatConversion を呼び出してプレゼンテーション自体のハードウェア サポートを検出できる。色変換を使ったプレゼンテーション自体のソフトウェア エミュレーションは提供されない。

IDirect3D9::CheckDeviceFormatConversion を使って、IDirect3DDevice9::StretchRect の呼び出しで許可される転送元サーフェイス フォーマットと転送先サーフェイス フォーマットの組み合わせを確認することもできる。

色変換は、次の転送元フォーマットと転送先フォーマットに制限されている。

  • 転送元フォーマットは、4 文字コード (FOURCC) フォーマットまたは有効なバック バッファ フォーマットでなければならない。これらの一覧については、「FOURCC フォーマット」および「バック バッファまたはディスプレイ フォーマット」を参照すること。
  • 転送先フォーマットは、次の符号なしフォーマットのいずれかでなければならない。
    D3DFMT_X1R5G5B5 D3DFMT_A1R5G5B5 D3DFMT_R5G6B5
    D3DFMT_R8G8B8 D3DFMT_X8R8G8B8 D3DFMT_A8R8G8B8
    D3DFMT_A2R10G10B10 D3DFMT_A16B16G16R16 D3DFMT_A2B10G10R10
    D3DFMT_A8B8G8R8 D3DFMT_X8B8G8R8 D3DFMT_A16B16G16R16F
    D3DFMT_A32B32G32R32F

参照

IDirect3DDevice9::ColorFillIDirect3DDevice9::StretchRect