Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Bestimmt, ob ein Oberflächenformat als angegebener Ressourcentyp verfügbar ist und auf einem Gerät, das diesen Adapter darstellt, als Textur- oder Tiefenschablonenpuffer oder als Renderziel oder eine beliebige Kombination aus den dreien verwendet werden kann.
Syntax
HRESULT CheckDeviceFormat(
[in] UINT Adapter,
[in] D3DDEVTYPE DeviceType,
[in] D3DFORMAT AdapterFormat,
[in] DWORD Usage,
[in] D3DRESOURCETYPE RType,
[in] D3DFORMAT CheckFormat
);
Parameter
[in] Adapter
Typ: UINT
Ordnungszahl, die den abzufragenden Anzeigeadapter angibt. D3DADAPTER_DEFAULT ist immer der primäre Grafikkarte. Diese Methode gibt D3DERR_INVALIDCALL zurück, wenn dieser Wert der Anzahl von Grafikkarten im System entspricht oder überschreitet.
[in] DeviceType
Typ: D3DDEVTYPE
Mitglied des D3DDEVTYPE aufgezählten Typs, der den Gerätetyp identifiziert.
[in] AdapterFormat
Typ: D3DFORMAT
Mitglied des D3DFORMAT aufgezählten Typs, der das Format des Anzeigemodus identifiziert, in dem der Adapter platziert wird.
[in] Usage
Typ: DWORD
Nutzungsoptionen für die Oberfläche angefordert. Verwendungsoptionen sind eine beliebige Kombination aus D3DUSAGE und D3DUSAGE_QUERY Konstanten (nur eine Teilmenge der D3DUSAGE Konstanten ist für CheckDeviceFormat gültig; siehe Tabelle auf der seite D3DUSAGE).
[in] RType
Typ: D3DRESOURCETYPE
Ressourcentyp, der für die Verwendung mit dem abgefragten Format angefordert wird. Mitglied der D3DRESOURCETYPE.
[in] CheckFormat
Typ: D3DFORMAT
Format der oberflächen, die verwendet werden können, wie in Usage definiert. Mitglied der D3DFORMAT.
Rückgabewert
Typ: HRESULT
Wenn das Format für die angeforderte Verwendung mit dem angegebenen Gerät kompatibel ist, gibt diese Methode D3D_OK zurück.
D3DERR_INVALIDCALL wird zurückgegeben, wenn der Adapter die Anzahl der Grafikkarten im System entspricht oder überschreitet oder wenn DeviceType nicht unterstützt wird.
D3DERR_NOTAVAILABLE wird zurückgegeben, wenn das Format für das Gerät für diese Verwendung nicht akzeptabel ist.
Hinweise
Hier finden Sie einige Beispiele für die Verwendung von CheckDeviceFormat , um die Hardwareunterstützung von zu überprüfen:
- Ein einfaches Oberflächenformat außerhalb des Bildschirms: Geben Sie "Usage = 0" und "RType = D3DRTYPE_SURFACE" an.
- Ein Tiefenschablonenformat: Der folgende Codeausschnitt testet das im Tiefenschablonenformat bestandene:
BOOL IsDepthFormatExisting( D3DFORMAT DepthFormat, D3DFORMAT AdapterFormat ) { HRESULT hr = pD3D->CheckDeviceFormat( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, AdapterFormat, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_SURFACE, DepthFormat); return SUCCEEDED( hr ); }Weitere Informationen zum Enumerationsprozess finden Sie unter Auswählen eines Geräts (Direct3D 9).
- Kann diese Textur in einem bestimmten Format gerendert werden: In diesem Beispiel wird anhand des aktuellen Anzeigemodus überprüft, ob das Texturformat mit dem spezifischen Backpufferformat kompatibel ist:
BOOL IsTextureFormatOk( D3DFORMAT TextureFormat, D3DFORMAT AdapterFormat ) { HRESULT hr = pD3D->CheckDeviceFormat( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, AdapterFormat, 0, D3DRTYPE_TEXTURE, TextureFormat); return SUCCEEDED( hr ); } - Alphamischung in einem Pixel-Shader: Legen Sie die Verwendung auf D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING fest. Erwarten Sie, dass dies für alle Gleitkommarenderziele fehlschlägt.
- Automatische Generierung von Mipmaps: Legen Sie die Verwendung auf D3DUSAGE_AUTOGENMIPMAP fest. Wenn bei der automatischen mipmap-Generierung ein Fehler auftritt, erhält die Anwendung eine Nicht-mipmapped-Textur. Das Aufrufen dieser Methode wird als Hinweis betrachtet, sodass diese Methode D3DOK_NOAUTOGEN (ein gültiger Erfolgscode) zurückgeben kann, wenn das einzige, was fehlschlägt, die Mipmap-Generierung ist. Weitere Informationen zur mipmap-Generierung finden Sie unter Automatische Generierung von Mipmaps (Direct3D 9).
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform | Windows |
| Kopfzeile | d3d9.h (einschließlich D3D9.h) |
| Bibliothek | D3D9.lib |