IDirect3D9::CheckDeviceMultiSampleType
このデバイスでマルチサンプリング テクニックを利用できるかどうかを調べます。
HRESULT
CheckDeviceMultiSampleType(
UINT Adapter,
D3DDEVTYPE DeviceType,
D3DFORMAT SurfaceFormat,
BOOL Windowed,
D3DMULTISAMPLE_TYPE MultiSampleType,
DWORD* pQualityLevels
);
パラメータ
- Adapter
クエリするディスプレイ アダプターを示す序数。D3DADAPTER_DEFAULT は常にプライマリ ディスプレイ アダプターです。システムのディスプレイ アダプターの数以上の値が指定された場合、このメソッドは FALSE を返します。「解説」を参照してください。 - DeviceType
D3DDEVTYPE 列挙型のメンバー。デバイス タイプを指定します。 - SurfaceFormat
D3DFORMAT 列挙型のメンバー。マルチサンプリングするサーフェスのフォーマットを指定します。詳細については、「解説」を参照してください。 - Windowed
BOOL 値。ウィンドウ マルチサンプリングについてクエリするときは TRUE を指定し、フルスクリーン マルチサンプリングについてクエリするときは FALSE を指定します。 - MultiSampleType
D3DMULTISAMPLE_TYPE 列挙型のメンバー。テストするマルチサンプリング テクニックを指定します。 - pQualityLevels
指定のマルチサンプリング タイプで利用可能な品質ストップの数。値を返す必要がない場合は、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 を返します。
要件
ヘッダー: D3D9.h 宣言