Microsoft DirectX 8.0 (C++)

IDirect3D8::CheckDeviceMultiSampleType

このデバイスでマルチサンプリング テクニックを利用できるかどうかを調べる。

HRESULT CheckDeviceMultiSampleType(
  UINT Adapter,
  D3DDEVTYPE DeviceType,
  D3DFORMAT SurfaceFormat,
  BOOL Windowed,
  D3DMULTISAMPLE_TYPE MultiSampleType
);

パラメータ

Adapter
[in] 照会するディスプレイ アダプタを示す序数。D3DADAPTER_DEFAULT は常にプライマリ ディスプレイ アダプタである。この値がシステムのディスプレイ アダプタの数以上の場合、このメソッドは FALSE を返す。「注意」を参照すること。
DeviceType
[in] デバイス タイプを識別する D3DDEVTYPE 列挙型のメンバ。
SurfaceFormat
[in] D3DFORMAT 列挙型のメンバ。サーフェスに対して要求するマルチサンプリング タイプのセットを指定する。「注意」を参照すること。
Windowed
[in] ブール値。ウィンドウ マルチサンプリングについて問い合わせるときは TRUE を指定し、フルスクリーン マルチサンプリングについて問い合わせるときは FALSE を指定する。
MultiSampleType
[in] D3DMULTISAMPLE_TYPE 列挙型のメンバ。検査するマルチサンプリング テクニックを識別する。

戻り値

指定したマルチサンプリング方式をデバイスが実行できる場合は、D3D_OK を返す。

Adapter または MultiSampleType パラメータが無効な場合は、D3DERR_INVALIDCALL を返す。照会したマルチサンプリング テクニックをこのデバイスがサポートしていない場合は、D3DERR_NOTAVAILABLE を返す。DeviceType がこのアダプタに該当しない場合は、D3DERR_INVALIDDEVICE を返す。

注意

このメソッドは、レンダリングターゲットおよび深度ステンシル サーフェスの両方で使用する。この 2 つを共に使用する場合、マルチサンプリングされた両方のサーフェスを作成する必要があるからである。

次のコードは、CheckDeviceMultiSampleType を使って、デバイスが特定のマルチサンプリング方式をサポートしていることを確認する方法を示している。

if( SUCCEEDED(pDevice->CheckDeviceMultiSampleType( pCaps->AdapterOrdinal, 
                                pCaps->DeviceType, pMode->Format, 
                                FALSE, D3DMULTISAMPLE_3_SAMPLES ) ) )
    return S_OK;

上のコードでは、デバイスがフルスクリーン D3DMULTISAMPLE_3_SAMPLES マルチサンプリング方式およびサーフェス フォーマットをサポートしている場合、S_OK を返す。

動作環境

  ヘッダー : d3d8.h で宣言。
  インポート ライブラリ : D3d8.lib を使用。