次の方法で共有


IDirect3D9::CheckDeviceMultiSampleType メソッド (d3d9.h)

このデバイスでマルチサンプリング手法を使用できるかどうかを判断します。

構文

HRESULT CheckDeviceMultiSampleType(
  [in]  UINT                Adapter,
  [in]  D3DDEVTYPE          DeviceType,
  [in]  D3DFORMAT           SurfaceFormat,
  [in]  BOOL                Windowed,
  [in]  D3DMULTISAMPLE_TYPE MultiSampleType,
  [out] DWORD               *pQualityLevels
);

パラメーター

[in] Adapter

型: UINT

照会する表示アダプターを示す序数。 D3DADAPTER_DEFAULTは常にプライマリ ディスプレイ アダプターです。 この値がシステム内のディスプレイ アダプターの数と等しいか、または超えている場合、このメソッドは FALSE を 返します。 「解説」を参照してください。

[in] DeviceType

型: D3DDEVTYPE

D3DDEVTYPE 列挙型のメンバー。デバイスの種類を識別します。

[in] SurfaceFormat

型: D3DFORMAT

マルチサンプリングするサーフェスの形式を指定する D3DFORMAT 列挙型のメンバー。 詳細については、「解説」を参照してください。

[in] Windowed

種類: BOOL

bool 値。 ウィンドウ マルチサンプリングに関する問い合わせには TRUE を指定し、全画面表示マルチサンプリングに関する問い合わせには FALSE を 指定します。

[in] MultiSampleType

種類: D3DMULTISAMPLE_TYPE

D3DMULTISAMPLE_TYPE列挙型のメンバー。テストするマルチサンプリング手法を識別します。

[out] pQualityLevels

種類: DWORD*

pQualityLevels は、 指定されたサンプルの種類で使用できるデバイス固有のサンプリング バリエーションの数を返します。 たとえば、戻り値が 3 の場合、指定されたサンプル数でリソースを作成するときに品質レベル 0、1、および 2 を使用できます。 これらの品質レベルの意味は、デバイスの製造元によって定義され、D3D を介してクエリを実行することはできません。 たとえば、特定のデバイスの場合、固定サンプル数で異なる品質レベルは、サンプルの場所の異なる空間レイアウトやさまざまな解決方法を参照する場合があります。 品質レベルを返す必要がない場合は、 NULL を指定できます。

戻り値

種類: HRESULT

デバイスが指定したマルチサンプリング メソッドを実行できる場合、このメソッドはD3D_OKを返します。 Adapter パラメーターまたは MultiSampleType パラメーターが無効な場合は、D3DERR_INVALIDCALLが返されます。 このメソッドは、クエリされたマルチサンプリング手法がこのデバイスでサポートされていない場合にD3DERR_NOTAVAILABLEを返します。 DeviceType がこのアダプターに適用されない場合は、D3DERR_INVALIDDEVICEが返されます。

解説

このメソッドは、レンダー ターゲット サーフェスと深度ステンシル サーフェスの両方で使用することを目的としています。両方のサーフェスを一緒に使用する場合は、両方のサーフェスをマルチサンプリングして作成する必要があるためです。

次のコード フラグメントは 、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を返します。

マルチサンプルの種類と品質レベルの操作と設定の詳細については、 D3DMULTISAMPLE_TYPE の解説を参照してください。

要件

   
対象プラットフォーム Windows
ヘッダー d3d9.h (D3D9.h を含む)
Library D3D9.lib

関連項目

IDirect3D9