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 |