Metodo IDirect3D9::CheckDeviceMultiSampleType (d3d9.h)

Determina se una tecnica multicampionamento è disponibile in questo dispositivo.

Sintassi

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

Parametri

[in] Adapter

Tipo: UINT

Numero ordinale che denota l'adattatore di visualizzazione per la query. D3DADAPTER_DEFAULT è sempre la scheda di visualizzazione primaria. Questo metodo restituisce FALSE quando questo valore è uguale o supera il numero di schede di visualizzazione nel sistema. Vedere la sezione Osservazioni.

[in] DeviceType

Tipo: D3DDEVTYPE

Membro del tipo enumerato D3DDEVTYPE , identificando il tipo di dispositivo.

[in] SurfaceFormat

Tipo: D3DFORMAT

Membro del tipo enumerato D3DFORMAT che specifica il formato della superficie da eseguire con piùampi. Per altre informazioni, vedere la sezione Osservazioni.

[in] Windowed

Tipo: BOOL

valore bool. Specificare TRUE per richiedere informazioni su multicampionamento finestrato e specificare FALSE per richiedere informazioni su multicampionamento a schermo intero.

[in] MultiSampleType

Tipo: D3DMULTISAMPLE_TYPE

Membro del tipo enumerato D3DMULTISAMPLE_TYPE , identificando la tecnica multicampionamento da testare.

[out] pQualityLevels

Tipo: DWORD*

pQualityLevels restituisce il numero di varianti di campionamento specifiche del dispositivo disponibili con il tipo di esempio specificato. Ad esempio, se il valore restituito è 3, i livelli di qualità 0, 1 e 2 possono essere usati durante la creazione di risorse con il conteggio di campioni specificato. I significati di questi livelli di qualità sono definiti dal produttore del dispositivo e non possono essere sottoposti a query tramite D3D. Ad esempio, per un determinato dispositivo diversi livelli di qualità a un conteggio di campioni fisso può fare riferimento a layout spaziali diversi delle posizioni di esempio o diversi metodi di risoluzione. Questo può essere NULL se non è necessario restituire i livelli di qualità.

Valore restituito

Tipo: HRESULT

Se il dispositivo può eseguire il metodo multicampionamento specificato, questo metodo restituisce D3D_OK. D3DERR_INVALIDCALL viene restituito se i parametri Adapter o MultiSampleType non sono validi. Questo metodo restituisce D3DERR_NOTAVAILABLE se la tecnica multicampionamento query non è supportata da questo dispositivo. D3DERR_INVALIDDEVICE viene restituito se DeviceType non si applica a questa scheda.

Commenti

Questo metodo è destinato all'uso con superfici sia di destinazione di rendering che di stencil di profondità perché è necessario creare entrambe le superfici multicampionato se si desidera usarle insieme.

Il frammento di codice seguente illustra come usare CheckDeviceMultiSampleType per testare i dispositivi che supportano un metodo multicampionamento specifico.


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;

Il codice precedente restituirà S_OK se il dispositivo supporta il metodo multisampling D3DMULTISAMPLE_3_SAMPLES schermo intero con il formato superficie.

Vedere le osservazioni in D3DMULTISAMPLE_TYPE per altre informazioni sull'uso e l'impostazione di tipi e livelli di qualità multisample.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione d3d9.h (includere D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3D9