Qt 3D Render C++ Classes
Das Modul Qt 3D Render enthält Funktionen zur Unterstützung von 2D- und 3D-Rendering mit Qt 3D. Mehr...
Dieses Modul ist seit 6.8 veraltet. Wir raten dringend davon ab, es in neuem Code zu verwenden.
Namespaces
Enthält Klassen, die 2D- und 3D-Rendering ermöglichen | |
Namespace für den Zugriff auf die Klassen Renderer und QRenderPlugin |
Klassen
Kapselt ein QAbstractLight-Objekt in einer Qt 3D -Szene | |
Eine abstrakte Basisklasse für Ray Casting in 3D-Szenen | |
Eine Basisklasse, die zur Bereitstellung von Texturen verwendet wird | |
Kapselt die notwendigen Informationen zur Erstellung eines OpenGL-Texturbildes | |
Aktivieren des Alpha-to-Coverage-Multisampling-Modus | |
Alpha-Referenztest angeben | |
Legt die Gleichung fest, die sowohl für die RGB-Überblendungsgleichung als auch für die Alpha-Überblendungsgleichung verwendet wird | |
Verkapselt Überblendungsinformationen: gibt an, wie die eingehenden Werte (was gezeichnet werden soll) die vorhandenen Werte (was bereits gezeichnet ist) beeinflussen werden | |
FrameGraph-Knoten zur Übertragung eines Rechtecks von Pixelwerten von einem Bereich eines Rendering-Ziels zu einem anderen | |
Tauscht Pufferdaten zwischen GPU und CPU aus | |
Definiert einen Blickpunkt, durch den die Szene gerendert wird | |
Qt3DRender::QCameraLens spezifiziert die Projektionsmatrix, die verwendet wird, um eine Kamera für eine 3D-Szene zu definieren | |
Klasse, die die Auswahl der zu verwendenden Kamera ermöglicht | |
Klasse zum Löschen von Puffern | |
Ermöglicht eine zusätzliche OpenGL Clipping-Ebene, die in Shadern mit gl_ClipDistance verwendet werden kann | |
Ermöglicht die Angabe, welche Farbkomponenten in den aktuell gebundenen Framebuffer geschrieben werden sollen | |
QComponent zur Ausgabe von Arbeit für den Compute Shader auf der GPU | |
Gibt an, ob Front- oder Backface Culling aktiviert ist | |
Aktiviert ein visuelles Overlay mit Szenendetails | |
Ermöglicht die Neuzuordnung von Tiefenwerten, die in den Tiefenpuffer geschrieben werden | |
Überprüft den Tiefenwert des Fragment-Shaders anhand der Tiefe eines Musters, in das geschrieben wird | |
Verkapselung eines Directional Light-Objekts in einer Qt 3D -Szene | |
FrameGraph-Knoten zur Ausgabe von Arbeit für den Compute-Shader auf der GPU | |
Aktivieren von Dithering | |
Basisklasse für Effekte in einer Qt 3D Szene | |
Kapselung eines Umgebungslichtobjekts in einer Qt 3D -Szene | |
Speicher für Filterschlüssel und deren Werte | |
Basisklasse für alle FrameGraph-Konfigurationsknoten | |
Definiert nach vorne und hinten gerichtete Polygone | |
Aktiviert das Frustum Culling für den FrameGraph | |
Kapselt das Rendering der Geometrie | |
Identifiziert die API, die für die angehängte QTechnique benötigt wird | |
Filterung, welche Objekte gerendert werden sollen | |
Steuert die in einem FrameGraph-Zweig gezeichneten Ebenen | |
Möglichkeit zur Steuerung der Komplexität der gerenderten Objekte auf der Grundlage ihrer Größe auf dem Bildschirm | |
Einfaches kugelförmiges Volumen, definiert durch seinen Mittelpunkt und Radius | |
Ermöglicht die Aktivierung untergeordneter Objekte auf der Grundlage von Entfernung oder Bildschirmgröße | |
Spezifiziert die Breite von gerasterten Linien | |
Stellt eine abstrakte Klasse zur Verfügung, die die Basis aller Materialkomponenten-Klassen in einer Szene sein sollte | |
Klasse zum Einfügen einer Speicherbarriere | |
Ein benutzerdefinierter Mesh-Loader | |
Aktivieren von Multisample-Antialiasing | |
Deaktivieren der Tiefenschreibefunktion | |
Wenn ein Qt3DRender::QNoDraw-Knoten in einem FrameGraph-Zweig vorhanden ist, verhindert dies, dass der Renderer ein Primitiv rendert | |
Wenn ein Qt3DRender::QNoPicking-Knoten in einem FrameGraph-Zweig vorhanden ist, verhindert dies, dass der Renderaspekt eine Picking-Auswahl für den gegebenen Zweig durchführt | |
Instanziiert eine Komponente, die zur Interaktion mit einem QEntity durch einen als Picking bezeichneten Prozess verwendet werden kann | |
Ein QAbstractTextureImage, das durch einen QPainter geschrieben werden kann | |
Bietet Speicher für ein Paar aus Name und Wert. Dies bildet eine Shader-Uniform ab | |
Enthält Informationen, wenn ein Objekt gepickt wird | |
Enthält Informationen, wenn ein Segment einer Linie gepickt wird | |
Enthält Informationen, wenn ein Segment einer Punktwolke gepickt wird | |
Enthält Informationen, wenn ein Dreieck gepickt wird | |
Kann verwendet werden, um eine alternative QGeometryView bereitzustellen, die nur für das Picking verwendet wird | |
Legt fest, wie das Entity Picking gehandhabt wird | |
Verkapselt ein Point Light Objekt in einer Qt 3D Szene | |
Legt die Größe der gerasterten Punkte fest. Kann entweder statisch oder durch Shader-Programme gesetzt werden | |
Legt den Maßstab und die Schritte zur Berechnung der Tiefenwerte für Polygonversätze fest | |
Auswahl von Objekten, die sich innerhalb einer Abstandsschwelle zu einem Zielobjekt befinden | |
Der Render-Status erlaubt es, die Art der Rasterung zu steuern, die durchgeführt werden soll | |
Qt3DRender::QRayCaster wird verwendet, um Tests für Strahlenwurf in 3D-Weltkoordinaten durchzuführen | |
Details eines Treffers beim Werfen eines Strahls durch ein Modell | |
Klasse | |
Enthält Einstellungen für die verfügbaren Rendering-Engines | |
Frame-Graph-Knoten für Render-Capture | |
Empfängt das Ergebnis einer Render-Capture-Anforderung | |
Verkapselt einen Renderpass | |
Bietet Speicher für Vektoren von Filterschlüsseln und Parametern | |
Enthält Einstellungen für den Rendering-Prozess und hostet den aktiven FrameGraph | |
Eine abstrakte Basisklasse für alle Renderzustände | |
Der FrameGraph-Knoten bietet eine Möglichkeit, eine Reihe von QRenderState-Objekten anzugeben, die während der Ausführung eines FrameGraph-Zweigs angewendet werden sollen | |
Bietet eine Möglichkeit, die Renderoberfläche zu spezifizieren | |
kapselt ein Ziel (normalerweise ein Framebuffer-Objekt), in das der Renderer rendern kann | |
Ermöglicht die Spezifikation eines Attachments eines Rendering-Ziels (sei es eine Farbtextur, eine Tiefentextur, etc...) | |
Bietet eine Möglichkeit, ein Rendering-Ziel zu spezifizieren | |
Bietet die Möglichkeit, eine bestehende Szene zu laden | |
Verwirft Fragmente, die außerhalb eines bestimmten rechteckigen Teils des Bildschirms liegen | |
Führt einen Ray-Casting-Test auf der Grundlage von Bildschirmkoordinaten durch | |
Ermöglicht nahtlose Cubemap-Texturfilterung | |
FrameGraphNode zum Einfügen eines Zauns in den Grafikbefehlsstrom | |
Bietet die Möglichkeit, Werte eines Uniform Blocks oder einer Shader-Struktur zu spezifizieren | |
Bietet Image-Zugriff auf Shader-Programme | |
kapselt ein Shader-Programm | |
Erzeugt den Inhalt eines Shader-Programms aus geladenen Graphen | |
Ermöglicht die Verwendung einer TextureId aus einem separaten OpenGL-Kontext in einer Qt 3D Szene | |
Bietet Speicher für die zu verwendenden Sortentypen | |
Verkapselt ein Spot Light Objekt in einer Qt 3D Szene | |
Steuert das Vor- und Zurückschreiben einzelner Bits in den Stencil-Ebenen | |
Legt die Stencil-Operation fest | |
Legt die Aktionen fest, die ausgeführt werden sollen, wenn Stencil- und Tiefen-Tests fehlschlagen | |
Legt Argumente für den Stencil-Test fest | |
Legt Argumente für den Stencil-Test fest | |
Aktiviert oder deaktiviert ganze Teilbäume von Framegraph-Knoten | |
kapselt eine Technik | |
Ein QFrameGraphNode, der zur Auswahl der zu verwendenden QTechniques verwendet wird | |
Eine QAbstractTexture mit einem Target1D-Zielformat | |
Eine QAbstractTexture mit einem Target1DArray-Zielformat | |
Eine QAbstractTexture mit einem Target2D-Zielformat | |
Eine QAbstractTexture mit einem Target2DArray-Zielformat | |
Eine QAbstractTexture mit einem Target2DMultisample-Zielformat | |
Eine QAbstractTexture mit einem Target2DMultisampleArray-Zielformat | |
Eine QAbstractTexture mit einem Target3D-Zielformat | |
Eine QAbstractTexture mit einem TargetBuffer-Zielformat | |
Eine QAbstractTexture mit einem TargetCubeMap-Zielformat | |
Eine QAbstractTexture mit einem TargetCubeMapArray-Zielformat | |
Speichert Texturinformationen wie das Ziel, Höhe, Breite, Tiefe, Ebenen, Umbruch und ob Mipmaps aktiviert sind | |
Enthält Inhalte und Informationen, die für die Durchführung von Teilaktualisierungen eines Texturinhalts erforderlich sind | |
Liefert die Bilddaten für eine Textur | |
Verkapselt die notwendigen Informationen, um ein OpenGL-Texturbild aus einer Bildquelle zu erstellen | |
Speichert Daten, die eine Textur darstellen | |
Stellt Texturbilddaten für QAbstractTextureImage zur Verfügung | |
Handhabt das Laden der Textur und das Setzen der Eigenschaften der Textur | |
Eine QAbstractTexture mit einem TargetRectangle-Zielformat | |
Definiert den Wrap-Modus, den ein Qt3DRender::QAbstractTexture auf eine Textur anwenden soll | |
Ein Ansichtsfenster in der Qt3D-Szene | |
FrameGraphNode, der verwendet wird, um darauf zu warten, dass ein Zaun im Grafikbefehlsstrom signalisiert wird |
Detaillierte Beschreibung
Das Qt 3D Render-Modul bietet einen Aspekt, Komponenten und andere unterstützende Typen, die für die Implementierung von 2D- und 3D-Rendering als Teil des Qt 3D Frameworks erforderlich sind.
Um Klassen aus diesem Modul zu verwenden, fügen Sie diese Direktive in die C++-Dateien ein:
#include <Qt3DRender>
Um gegen die entsprechende C++-Bibliothek zu linken, fügen Sie die folgende Anweisung in Ihre qmake-Projektdatei ein:
QT += 3drender
Klassen, Typen und Funktionen werden im Namespace Qt3DRender deklariert.
Überblick
Der Aspekt Qt 3D Rendering bietet Unterstützung für die datengesteuerte Konfiguration, wie in Qt 3D Render Framegraph beschrieben.
Auswahl eines Rendering Backends
Der Render-Aspekt wird mit zwei Rendering-Backends geliefert.
- OpenGL-Backend (ES 2, ES 3.2, GL 2, GL 3, GL 3.2, GL 4.3)
- RHI-Backend (ES 2, GL, DirectX, Vulkan, Metal)
Wenn Sie ausschließlich auf OpenGL abzielen und bestimmte OpenGL-Funktionen verwenden, ist es möglicherweise besser, das OpenGL-Backend zu verwenden. Dies ist das OpenGL-Backend, das Qt 3D ausschließlich in der Qt 5-Serie verwendet.
Für Fälle, in denen Sie keine spezifischen OpenGL-Funktionen verwenden und verschiedene Plattformen anvisieren möchten, die möglicherweise veraltetes OpenGL haben, ist die Verwendung des RHI-Backends eine bessere Alternative.
Um Ihr Rendering-Backend auszuwählen, muss die Umgebungsvariable QT3D_RENDERER entweder auf "opengl" oder "rhi" gesetzt werden. Standardmäßig wird das OpenGL-Backend verwendet.
Wenn Sie das RHI-Backend verwenden, können Sie zusätzlich das interne RHI-Backend erzwingen, indem Sie QSG_RHI_BACKEND auf einen der folgenden Werte setzen:
- opengl -> RHI OpenGL-Backend
- gl -> RHI OpenGL-Backend
- gles2 -> RHI OpenGL-Backend
- metal -> RHI Metall-Backend
- vulkan -> RHI Vulkan-Backend
- d3d11 -> RHI DirectX 11 Hintergrundprogramm
Wenn nichts angegeben wird, wählt RHI standardmäßig das für die jeweilige Plattform am besten geeignete Backend.
Referenz
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.