Partager via


IDirect3D9::CheckDeviceMultiSampleType, méthode (d3d9helper.h)

Détermine si une technique de multi-échantillonnage est disponible sur cet appareil.

Syntaxe

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

Paramètres

[in] Adapter

Type : UINT

Nombre ordinal indiquant l’adaptateur d’affichage à interroger. D3DADAPTER_DEFAULT est toujours l’adaptateur d’affichage principal. Cette méthode retourne FALSE lorsque cette valeur est égale ou supérieure au nombre de cartes graphiques dans le système. Consultez la section Notes.

[in] DeviceType

Type : D3DDEVTYPE

Membre du type énuméré D3DDEVTYPE , identifiant le type d’appareil.

[in] SurfaceFormat

Type : D3DFORMAT

Membre du type énuméré D3DFORMAT qui spécifie le format de la surface à échantillonnage multiple. Pour plus d'informations, consultez la section Notes.

[in] Windowed

Type : BOOL

valeur bool. Spécifiez TRUE pour vous renseigner sur l’échantillonnage multiple fenêtré, et spécifiez FALSE pour vous renseigner sur l’échantillonnage multi-écran.

[in] MultiSampleType

Type : D3DMULTISAMPLE_TYPE

Membre du D3DMULTISAMPLE_TYPE type énuméré, identifiant la technique de multi-échantillonnage à tester.

[out] pQualityLevels

Type : DWORD*

pQualityLevels retourne le nombre de variantes d’échantillonnage spécifiques à l’appareil disponibles avec le type d’échantillon donné. Par exemple, si la valeur retournée est 3, les niveaux de qualité 0, 1 et 2 peuvent être utilisés lors de la création de ressources avec le nombre d’échantillons donné. Les significations de ces niveaux de qualité sont définies par le fabricant de l’appareil et ne peuvent pas être interrogées via D3D. Par exemple, pour un appareil particulier, différents niveaux de qualité à un nombre fixe d’échantillons peuvent faire référence à différentes dispositions spatiales des emplacements des exemples ou à différentes méthodes de résolution. Cela peut être NULL s’il n’est pas nécessaire de retourner les niveaux de qualité.

Valeur retournée

Type : HRESULT

Si l’appareil peut effectuer la méthode d’échantillonnage multiple spécifiée, cette méthode retourne D3D_OK. D3DERR_INVALIDCALL est retourné si les paramètres Adapter ou MultiSampleType ne sont pas valides. Cette méthode retourne D3DERR_NOTAVAILABLE si la technique d’échantillonnage multiple interrogée n’est pas prise en charge par cet appareil. D3DERR_INVALIDDEVICE est retourné si DeviceType ne s’applique pas à cet adaptateur.

Notes

Cette méthode est destinée à être utilisée avec des surfaces de cible de rendu et de profondeur de gabarit, car vous devez créer les deux surfaces échantillonnée plusieurs fois si vous souhaitez les utiliser ensemble.

Le fragment de code suivant montre comment utiliser CheckDeviceMultiSampleType pour tester les appareils qui prennent en charge une méthode d’échantillonnage multiple spécifique.


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;

Le code précédent retourne S_OK si l’appareil prend en charge la méthode de D3DMULTISAMPLE_3_SAMPLES multi-échantillonnage plein écran avec le format surface.

Consultez les remarques dans D3DMULTISAMPLE_TYPE pour plus d’informations sur l’utilisation et la définition de types et de niveaux de qualité multi-échantillon.

Spécifications

   
Plateforme cible Windows
En-tête d3d9helper.h (inclure D3D9.h)
Bibliothèque D3D9.lib

Voir aussi

IDirect3D9