IDirect3D9::CheckDeviceMultiSampleType メソッド
IDirect3D9::CheckDeviceMultiSampleType メソッド
このデバイスでマルチサンプリング テクニックを利用できるかどうかを調べる。
構文
HRESULT CheckDeviceMultiSampleType(
UINT Adapter,
D3DDEVTYPE DeviceType,
D3DFORMAT SurfaceFormat,
BOOL Windowed,
D3DMULTISAMPLE_TYPE MultiSampleType,
DWORD* pQualityLevels
);
パラメータ
- Adapter
[in] 問い合わせ対象のディスプレイ アダプタを示す序数。D3DADAPTER_DEFAULT は常にプライマリ ディスプレイ アダプタである。この値がシステムのディスプレイ アダプタの数以上の場合、このメソッドは FALSE を返す。「注意」を参照すること。 - DeviceType
[in] D3DDEVTYPE 列挙型のメンバ。デバイス タイプを識別する。 - SurfaceFormat
[in] D3DFORMAT 列挙型のメンバ。マルチサンプリングするサーフェイスのフォーマットを指定する。詳細情報については、「注意」を参照すること。 - Windowed
[in] BOOL 値。ウィンドウ マルチサンプリングについて問い合わせるときは TRUE を指定し、フルスクリーン マルチサンプリングについて問い合わせるときは FALSE を指定する。 - MultiSampleType
[in] D3DMULTISAMPLE_TYPE 列挙型のメンバ。テストするマルチサンプリング テクニックを識別する。 - pQualityLevels
[out] 所定のマルチサンプリング タイプで利用可能な品質レベルの数。値を返す必要がない場合は、NULL でもよい。
戻り値
デバイスが指定されたマルチサンプリング方式を実行できる場合、このメソッドは D3D_OK を返す。
Adapter または MultiSampleType パラメータが無効な場合は、D3DERR_INVALIDCALL を返す。問い合わせたマルチサンプリング テクニックをこのデバイスがサポートしていない場合は、D3DERR_NOTAVAILABLE を返す。DeviceType がこのアダプタに該当しない場合は、D3DERR_INVALIDDEVICE を返す。
注意
このメソッドは、レンダリングターゲットと深度ステンシル サーフェイスの両方で使う。この 2 つをともに使う場合は、マルチサンプリングされた両方のサーフェイスを作成する必要がある。
次のサンプル コードは、IDirect3D9::CheckDeviceMultiSampleType を使って、デバイスが特定のマルチサンプリング方式をサポートしていることをテストする方法を示している。
if( SUCCEEDED(pD3D->CheckDeviceMultiSampleType( pCaps->AdapterOrdinal,
pCaps->DeviceType, BackBufferFormat,
FALSE, D3DMULTISAMPLE_3_SAMPLES, NULL ) ) &&
SUCCEEDED(pD3D->CheckDeviceMultiSampleType( pCaps->AdapterOrdinal,
pCaps->DeviceType, DepthBufferFormat,
FALSE, D3DMULTISAMPLE_3_SAMPLES, NULL ) ) )
return S_OK;
上のコードでは、デバイスがそのサーフェイス フォーマットでフルスクリーン D3DMULTISAMPLE_3_SAMPLES マルチサンプリング方式をサポートしている場合、S_OK を返す。