Partager via


Méthode IDirect3D9::CheckDeviceMultiSampleType (d3d9.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 d’affichage 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 le multiéchantillonnage fenêtré et spécifiez FALSE pour vous renseigner sur le multi-échantillonnage en plein é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’exemple 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’exemples 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 d’échantillons fixes 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 de multi-échantillonnage spécifiée, cette méthode retourne D3D_OK. D3DERR_INVALIDCALL est retourné si les paramètres Adaptateur ou MultiSampleType ne sont pas valides. Cette méthode retourne D3DERR_NOTAVAILABLE si la technique de multi-échantillonnage 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 les surfaces de rendu cible et de gabarit de profondeur, car vous devez créer les deux surfaces multi-échantillonnée 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 de multi-échantillonnage 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 multi-échantillonnage en plein écran D3DMULTISAMPLE_3_SAMPLES au 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échantillons.

Spécifications

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

Voir aussi

IDirect3D9