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 |