Einführung in die Präsentation einer Szene (Direct3D 9)
Die Präsentations-APIs sind eine Reihe von Methoden, die den Zustand des Geräts steuern, der sich darauf auswirkt, was der Benutzer auf dem Monitor sieht. Zu diesen Methoden gehören das Festlegen von Anzeigemodi und Einmal-pro-Frame-Methoden, die zum Präsentieren von Bildern für den Benutzer verwendet werden.
- IDirect3DDevice9::P resent
- IDirect3DDevice9::Reset
- IDirect3DDevice9::GetGammaRamp
- IDirect3DDevice9::SetGammaRamp
- IDirect3DDevice9::GetRasterStatus
Vertrautheit mit den folgenden Begriffen ist erforderlich, um die Präsentations-APIs zu verstehen.
- Frontpuffer. Ein Rechteck mit Arbeitsspeicher, das von der Grafikkarte übersetzt und auf dem Monitor oder einem anderen Ausgabegerät angezeigt wird.
- Zurückpuffer. Eine Oberfläche, deren Inhalt zum vorderen Puffer heraufgestuft werden kann.
- Swapchain. Eine Auflistung von Backpuffern, die dem Frontpuffer seriell angezeigt werden können. In der Regel zeigt eine Vollbild-Swapchain nachfolgende Bilder mit der Flipping Device Driver Interface (DDI) an, und eine Swapchain mit Fenstern zeigt Bilder mit dem blitting DDI an.
Da Direct3D 9 über eine Swapchain als Eigenschaft des Geräts verfügt, gibt es immer mindestens eine Swapchain pro Gerät. Die IDirect3DDevice9-Schnittstelle verfügt über eine Reihe von Methoden, die die implizite Swapchain bearbeiten und eine Kopie der eigenen Schnittstelle der Swapchain sind. Anwendungen können zusätzliche Swapchains erstellen. Dies ist jedoch für die typische Einzelfenster- oder Vollbildanwendung nicht erforderlich.
Der Frontpuffer wird in Direct3D 9 nicht direkt verfügbar gemacht. Daher können Anwendungen den Frontpuffer nicht sperren oder rendern. Weitere Informationen finden Sie unter Zugreifen auf den Frontfarbpuffer (Direct3D 9).
Hinweis
DirectX 7 stellte eine Reihe von Präsentations-APIs bereit, die zusammen aufgerufen wurden. Ein gutes Beispiel hierfür sind die Sequenzen IDirectDraw7::SetCooperativeLevel, IDirectDraw7::SetDisplayMode und IDirectDraw7::CreateSurface. Darüber hinaus signalisieren die Methoden IDirectDrawSurface7::Flip und IDirectDrawSurface7::Blt den Transport gerenderter Frames an den Monitor. Direct3D 9 reduziert diese GRUPPEN von APIs in zwei Standard Methoden: Reset und Present. Reset subsumss SetCooperativeLevel, SetDisplayMode, CreateSurface und einige der zu kippenden Parameter. Aktuelle Subsumen flip und die Präsentationsverwendung von blit.
Ein Aufruf von IDirect3D9::CreateDevice stellt eine implizite Zurücksetzung des Geräts dar. Die Direct3D 9-API hat keine Vorstellung von einer primären Oberfläche. Sie können kein Objekt erstellen, das die primäre Oberfläche darstellt. Es wird als interne Eigenschaft des Geräts betrachtet.
Gammarampen werden einer Swapchain zugeordnet und mit den Methoden IDirect3DDevice9::GetGammaRamp und IDirect3DDevice9::SetGammaRamp bearbeitet.
Zugehörige Themen