IDirect3D9::CheckDeviceFormatConversion
デバイスが 1 つのディスプレイ フォーマットから別のフォーマットへの変換をサポートしているかどうかを確認するために、デバイスをテストします。
HRESULT
CheckDeviceFormatConversion(
UINT Adapter,
D3DDEVTYPE DeviceType,
D3DFORMAT SourceFormat,
D3DFORMAT TargetFormat
);
パラメータ
- Adapter
ディスプレイ アダプターの序数。D3DADAPTER_DEFAULT は常にプライマリ ディスプレイ アダプターです。システムのディスプレイ アダプターの数以上の値が指定された場合、このメソッドは D3DERR_INVALIDCALL を返します。 - DeviceType
デバイス タイプ。D3DDEVTYPE 列挙型のメンバーです。 - SourceFormat
ソース アダプターのフォーマット。D3DFORMAT 列挙型のメンバーです。 - TargetFormat
ターゲット アダプターのフォーマット。D3DFORMAT 列挙型のメンバーです。
戻り値
メソッドが成功した場合は、D3D_OK を返します。失敗すると、D3DERR_INVALIDCALL を返します。ハードウェアが 2 つのフォーマットの間の変換をサポートしていない場合は、D3DERR_NOTAVAILABLE を返します。
解説
IDirect3D9::CheckDeviceType を使用し、ディスプレイ フォーマットと異なるバック バッファーとの互換性をテストすると、適切な値が返されます。つまり、この呼び出しはデバイス機能を反映します。デバイスが要求されたバック バッファー フォーマットにレンダリングできない場合、この呼び出しは D3DERR_NOTAVAILABLE を返します。デバイスがこのフォーマットにレンダリングできる場合も、カラー変換プレゼンテーションが実行できないのであれば、D3DERR_NOTAVAILABLE が返されます。IDirect3D9::CheckDeviceFormatConversion の呼び出しにより、アプリケーションはプレゼンテーション自体のハードウェア サポートを検出できます。カラー変換プレゼンテーション自体のソフトウェア エミュレーションは提供されません。
IDirect3D9::CheckDeviceFormatConversion を使用して、IDirect3DDevice9::StretchRect への呼び出しで可能な変換前のサーフェス フォーマットと変換後のサーフェス フォーマットの組み合わせを決定することもできます。
カラー変換は、以下のソース フォーマットおよびターゲット フォーマットに制限されています。
- サーフェス フォーマットは、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
要件
ヘッダー: D3D9.h 宣言
ライブラリ: D3D9.lib 内容