D3DPRESENTFLAG

Konstanten, die von D3DPRESENT_PARAMETERS verwendete werden:

#define Wert Beschreibung
D3DPRESENTFLAG_DEVICECLIP 0x00000004 Dabei handelt es sich um das Clipping eines Blitwerts für die Fenstereigenschaft Present in den Fensterclientbereich innerhalb des Bildschirmbereichs des Videoadapters, der das Direct3D-Gerät erstellt hat. Das Flag D3DPRESENTFLAG_DEVICECLIP ist nicht mit der Enumeration D3DSWAPEFFECT_FLIPEX gültig.
D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002 Legen Sie dieses Flag fest, wenn das Gerät oder die Swapchain erstellt wird, um den Löschvorgang im Z-Buffer zu aktivieren. Wenn dieses Flag festgelegt ist, ist der Inhalt des Tiefenstencilbuffers nach dem Aufrufen der Methoden Present oder SetDepthStencilSurface mit einer anderen Tiefenoberfläche ungültig. Das Löschen von Z-Bufferdaten kann die Leistung erhöhen und hängt vom Treiber ab. Die Debugruntime erzwingt den Löschvorgang, indem der Z-Buffer nach dem Aufrufen der Methoden Present oder SetDepthStencilSurface mit einer anderen Tiefenoberfläche auf einen konstanten Wert gelöscht wird.
Das Löschen von Z-Bufferdaten ist für alle sperrbaren Formate wie D3DFMT_D16_LOCKABLE und D3DFMT_D32F_LOCKABLE unzulässig. Jede Verwendung der CreateDevice-Methode, die ein sperrbares Format angibt, führt dazu, dass der Löschvorgang im Z-Buffer fehlschlägt. Weitere Informationen zu Formaten finden Sie unter D3DFORMAT.
D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001 Legen Sie dieses Flag fest, wenn die Anwendung die Möglichkeit erfordert, den Backbuffer direkt zu sperren. Beachten Sie, dass Backbuffer nicht gesperrt werden können, es sei denn, die Anwendung gibt das Flag D3DPRESENTFLAG_LOCKABLE_BACKBUFFER beim Aufrufen der Methoden CreateDevice oder Reset an. Sperrbare Backbuffer verursachen Leistungseinbußen bei einigen Grafikhardwarekonfigurationen. Das Ausführen eines Sperrvorgangs (oder das Schreiben der UpdateSurface-Methode) für den sperrbaren Backbuffer verringert die Leistung vieler Grafikkarten. Ziehen Sie in diesem Fall die Verwendung von Texturdreiecken in Betracht, um Daten in den Backbuffer zu verschieben.
Unterschiede zwischen Direct3D 9 und Direct3D 9Ex:
In Direct3D 9Ex kann dieses Flag nicht festgelegt werden, wenn die D3DSWAPEFFECT-Enumeration D3DSWAPEFFECT_FLIPEX lautet, da das Flipmodell dem Desktopfenster-Manager den Zugriff auf den Backbuffer einer Anwendung ermöglicht. Eine prozessübergreifend freigegebene Oberfläche sollte nicht gesperrt werden.

 

D3DPRESENTFLAG_NOAUTOROTATE 0x00000020 Für gedrehte Monitore wird während der Präsentation automatisch eine sich mitdrehende Kopie verwendet, was nicht besonders effizient ist. Dieses Flag bedeutet, dass die Anwendung die Anzeige selbst dreht.
Unterschiede zwischen Direct3D 9 und Direct3D 9Ex:
Dieses Flag ist lediglich in Direct3D 9Ex verfügbar.

 

Anwendungen können die Drehung möglicherweise selbst durchführen, indem sie eine gedrehte Ansichtsmatrix verwenden. Die Methoden GetDisplayModeEx und GetAdapterDisplayModeEx sollten verwendet werden, um die aktuelle Drehungseinstellung zu finden. Die Backbufferparameter für die Breite und Höhe in den Methoden CreateDeviceEx und ResetEx müssen im Querformat angegeben werden, während die Struktur des Vollbildmodus mit dem übereinstimmen sollte, was von der EnumAdapterModesEx-Methode zurückgegeben wird (d. h. bei einer Drehung um 90 und 270 Grad werden Breite und Höhe getauscht).

Wenn Sie gedrehte Renderziele sperren, gelten Annahmen in der oberen linken Ecke nicht mehr, das Renderziel SURFACE_DESC verbleibt im Querformat (wie durch die Erstellungsparameter impliziert), und das GDI-Fenster sowie Mauskoordinaten und Ähnliches müssen ordnungsgemäß übertragen werden, wenn sie mit dem Direct3D-Renderziel und der Szene verwendet werden.

D3DPRESENTFLAG_UNPRUNEDMODE 0x00000040 Verwenden Sie dieses Flag, um einen beliebigen vom Anzeigeadapter aufgezählten RAW-Anzeigemodus anzugeben, auch wenn Direct3D möglicherweise angegeben hat, dass der Modus ungültig ist. Die Anwendung sollte eine stabile Implementierung des Flags verwenden, falls der gewünschte Modus tatsächlich ungültig ist.
Unterschiede zwischen Direct3D 9 und Direct3D 9Ex:
Dieses Flag ist lediglich in Direct3D 9Ex verfügbar.

 

D3DPRESENTFLAG_VIDEO 0x00000010 Dieses Flag weist den Treiber darauf hin, dass Videodaten in den Backbuffern enthalten sind.
D3DPRESENTFLAG_OVERLAY_LIMITEDRGB 0x00000080 Dieses Flag gibt an, ob es sich bei der Überlagerung um einen vollständigen oder begrenzten RGB-Bereich handelt. Beim Festlegen dieses Flags wird der begrenzte RGB-Bereich angegeben. Im begrenzten Modus wird der RGB-Bereich komprimiert, wodurch 16:16:16 schwarz und 235:235:235 weiß ist.
Unterschiede zwischen Direct3D 9 und Direct3D 9Ex:
Dieses Flag ist lediglich in Direct3D 9Ex verfügbar.

 

D3DPRESENTFLAG_OVERLAY_YCbCr_BT709 0x00000100 Dieses Flag gibt an, ob die Überlagerung BT.601 oder BT.709 ist. Durch Festlegen dieses Flags wird BT.709 für High Definition Television (HDTV) angegeben.
Unterschiede zwischen Direct3D 9 und Direct3D 9Ex:
Dieses Flag ist lediglich in Direct3D 9Ex verfügbar.

 

D3DPRESENTFLAG_OVERLAY_YCbCr_xvYCC 0x00000200 Dieses Flag gibt an, ob die Überlagerung dem konventionellen oder dem erweiterten YCbCr-Farbmodell (xvYCC) entspricht. Durch Festlegen dieses Flags wird das erweiterte YCbCr-Farbmodell (xvYCC) angegeben.
Unterschiede zwischen Direct3D 9 und Direct3D 9Ex:
Dieses Flag ist lediglich in Direct3D 9Ex verfügbar.

 

D3DPRESENTFLAG_RESTRICTED_CONTENT 0x00000400 Durch Festlegen dieses Flags wird angegeben, dass die Swapchain geschützte Inhalte enthält und die Runtime automatisch den Zugriff auf die Swapchain einschränkt, wodurch lediglich der Desktopfenster-Manager (Desktop Window Manager, DWM) die Swapchain verwenden kann.
Unterschiede zwischen Direct3D 9 und Direct3D 9Ex:
Dieses Flag ist lediglich in Direct3D 9Ex verfügbar.

 

D3DPRESENTFLAG_RESTRICT_SHARED_RESOURCE_DRIVER 0x00000800 Durch Festlegen dieses Flags wird angegeben, dass der Treiber den Zugriff auf beliebige freigegebenen Ressourcen einschränken soll, die für DWM-Interaktionen erstellt werden. Der Aufrufer muss einen authentifizierten Kanal mit dem Treiber erstellen. Der Treiber sollte daraufhin den Zugriff auf Prozesse zulassen, die versuchen, diese freigegebenen Ressourcen zu öffnen.
Unterschiede zwischen Direct3D 9 und Direct3D 9Ex:
Dieses Flag ist lediglich in Direct3D 9Ex verfügbar.

 

 

Diese Konstanten werden von D3DPRESENT_PARAMETERS verwendet.

Konstanteninformationen

Anforderung Wert
Header d3d9types.h
Mindestbetriebssystem Windows 98

 

Direct3D-Konstanten