Share via


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 を返す。