次の方法で共有


IDirect3D9::CheckDeviceMultiSampleType メソッド (d3d9helper.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を返します。 アダプターまたは 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
ヘッダー d3d9helper.h (D3D9.h を含む)
Library D3D9.lib

関連項目

IDirect3D9