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 |