Freigeben über


IDirect3D9::CheckDeviceMultiSampleType-Methode (d3d9helper.h)

Bestimmt, ob auf diesem Gerät ein Multisampling-Verfahren verfügbar ist.

Syntax

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

Parameter

[in] Adapter

Typ: UINT

Ordnungszahl, die den abzufragenden Anzeigeadapter angibt. D3DADAPTER_DEFAULT ist immer der primäre Grafikkarte. Diese Methode gibt FALSE zurück, wenn dieser Wert der Anzahl der Grafikkarten im System entspricht oder überschreitet. Siehe Hinweise.

[in] DeviceType

Typ: D3DDEVTYPE

Mitglied des aufgezählten D3DDEVTYPE-Typs , der den Gerätetyp identifiziert.

[in] SurfaceFormat

Typ: D3DFORMAT

Member des aufgezählten D3DFORMAT-Typs , der das Format der Mehrfachsampeloberfläche angibt. Weitere Informationen finden Sie in den Hinweisen.

[in] Windowed

Typ: BOOL

bool-Wert. Geben Sie TRUE an, um nach fensterbasiertem Multisampling zu fragen, und geben Sie FALSE an, um sich nach Vollbild-Multisampling zu erkundigen.

[in] MultiSampleType

Typ: D3DMULTISAMPLE_TYPE

Mitglied des D3DMULTISAMPLE_TYPE aufgezählten Typs, der das zu testende Multisampling-Verfahren identifiziert.

[out] pQualityLevels

Typ: DWORD*

pQualityLevels gibt die Anzahl gerätespezifischer Samplingvariationen zurück, die mit dem angegebenen Beispieltyp verfügbar sind. Wenn der zurückgegebene Wert beispielsweise 3 ist, können die Qualitätsstufen 0, 1 und 2 beim Erstellen von Ressourcen mit der angegebenen Beispielanzahl verwendet werden. Die Bedeutungen dieser Qualitätsstufen werden vom Gerätehersteller definiert und können nicht über D3D abgefragt werden. Für ein bestimmtes Gerät können sich beispielsweise unterschiedliche Qualitätsstufen bei einer festen Stichprobenanzahl auf unterschiedliche räumliche Layouts der Stichprobenstandorte oder auf unterschiedliche Auflösungsmethoden beziehen. Dies kann NULL sein, wenn die Qualitätsstufen nicht zurückgegeben werden müssen.

Rückgabewert

Typ: HRESULT

Wenn das Gerät die angegebene Multisamplingmethode ausführen kann, gibt diese Methode D3D_OK zurück. D3DERR_INVALIDCALL wird zurückgegeben, wenn die Parameter Adapter oder MultiSampleType ungültig sind. Diese Methode gibt D3DERR_NOTAVAILABLE zurück, wenn das abgefragte Multisampling-Verfahren von diesem Gerät nicht unterstützt wird. D3DERR_INVALIDDEVICE wird zurückgegeben, wenn DeviceType nicht für diesen Adapter gilt.

Hinweise

Diese Methode ist für die Verwendung mit Renderziel- und Tiefenschablonenoberflächen vorgesehen, da Sie beide Oberflächen multisampled erstellen müssen, wenn Sie sie zusammen verwenden möchten.

Das folgende Codefragment zeigt, wie Sie CheckDeviceMultiSampleType verwenden können, um auf Geräte zu testen, die eine bestimmte Multisampling-Methode unterstützen.


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;

Der vorherige Code gibt S_OK zurück, wenn das Gerät die Vollbildmodusmethode D3DMULTISAMPLE_3_SAMPLES Multisampling mit dem Surface-Format unterstützt.

Weitere Informationen zum Arbeiten mit und Festlegen von Multisampeltypen und Qualitätsstufen finden Sie in den Anmerkungen in D3DMULTISAMPLE_TYPE .

Anforderungen

   
Zielplattform Windows
Kopfzeile d3d9helper.h (einschließlich D3D9.h)
Bibliothek D3D9.lib

Weitere Informationen

IDirect3D9