QGeometryRenderer Class

class Qt3DRender::QGeometryRenderer

Kapselt das Rendern von Geometrie. Mehr...

Kopfzeile: #include <QGeometryRenderer>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
In QML: GeometryRenderer
Vererbt: Qt3DCore::QBoundingVolume
Geerbt von:

Qt3DExtras::QConeMesh, Qt3DExtras::QCuboidMesh, Qt3DExtras::QCylinderMesh, Qt3DExtras::QExtrudedTextMesh, Qt3DExtras::QPlaneMesh, Qt3DExtras::QSphereMesh, Qt3DExtras::QTorusMesh, und Qt3DRender::QMesh

Status: Veraltet

Öffentliche Typen

enum PrimitiveType { Points, Lines, LineLoop, LineStrip, Triangles, …, Patches }

Eigenschaften

Öffentliche Funktionen

QGeometryRenderer(Qt3DCore::QNode *parent = nullptr)
int firstInstance() const
int firstVertex() const
Qt3DCore::QGeometry *geometry() const
int indexBufferByteOffset() const
int indexOffset() const
int instanceCount() const
bool primitiveRestartEnabled() const
Qt3DRender::QGeometryRenderer::PrimitiveType primitiveType() const
int restartIndexValue() const
float sortIndex() const
int vertexCount() const
int verticesPerPatch() const

Öffentliche Slots

void setFirstInstance(int firstInstance)
void setFirstVertex(int firstVertex)
void setGeometry(Qt3DCore::QGeometry *geometry)
void setIndexBufferByteOffset(int offset)
void setIndexOffset(int indexOffset)
void setInstanceCount(int instanceCount)
void setPrimitiveRestartEnabled(bool enabled)
void setPrimitiveType(Qt3DRender::QGeometryRenderer::PrimitiveType primitiveType)
void setRestartIndexValue(int index)
void setSortIndex(float sortIndex)
void setVertexCount(int vertexCount)
void setVerticesPerPatch(int verticesPerPatch)

Signale

void firstInstanceChanged(int firstInstance)
void firstVertexChanged(int firstVertex)
void geometryChanged(Qt3DCore::QGeometry *geometry)
void indexBufferByteOffsetChanged(int offset)
void indexOffsetChanged(int indexOffset)
void instanceCountChanged(int instanceCount)
void primitiveRestartEnabledChanged(bool primitiveRestartEnabled)
void primitiveTypeChanged(Qt3DRender::QGeometryRenderer::PrimitiveType primitiveType)
void restartIndexValueChanged(int restartIndexValue)
void sortIndexChanged(float sortIndex)
void vertexCountChanged(int vertexCount)
void verticesPerPatchChanged(int verticesPerPatch)

Detaillierte Beschreibung

Eine Qt3DRender::QGeometryRenderer enthält alle Informationen, die zum Zeichnen einer Qt3DCore::QGeometry erforderlich sind. Eine QGeometry enthält die Koordinaten der Geometriedaten - QGeometryRenderer legt fest, wie diese Daten zu interpretieren sind.

Member Typ Dokumentation

enum QGeometryRenderer::PrimitiveType

Der Typ des Primitivs.

KonstanteWertBeschreibung
Qt3DRender::QGeometryRenderer::Points0x0000Liste von Punkten
Qt3DRender::QGeometryRenderer::Lines0x0001Liste von Linien
Qt3DRender::QGeometryRenderer::LineLoop0x0002Zusammenhängende Gruppe von Linien, die an den Enden verbunden sind und eine Schleife bilden
Qt3DRender::QGeometryRenderer::LineStrip0x0003Verbundene Gruppe von Linien
Qt3DRender::QGeometryRenderer::Triangles0x0004Liste der Dreiecke
Qt3DRender::QGeometryRenderer::TriangleStrip0x0005Liste der zusammenhängenden Dreiecke
Qt3DRender::QGeometryRenderer::TriangleFan0x0006Liste verbundener Dreiecke, bei denen alle Dreiecke den ersten Scheitelpunkt gemeinsam haben
Qt3DRender::QGeometryRenderer::LinesAdjacency0x000AErmöglicht dem Geometrieshader den Zugriff auf benachbarte Linien in einer Linienliste
Qt3DRender::QGeometryRenderer::TrianglesAdjacency0x000CErmöglicht dem Geometrieshader den Zugriff auf benachbarte Dreiecke in einer Dreiecksliste
Qt3DRender::QGeometryRenderer::LineStripAdjacency0x000BErmöglicht dem Geometrieshader den Zugriff auf benachbarte Linien in einem Linienstreifen
Qt3DRender::QGeometryRenderer::TriangleStripAdjacency0x000DErmöglicht dem Geometrieshader den Zugriff auf benachbarte Dreiecke in einem Dreiecksstreifen
Qt3DRender::QGeometryRenderer::Patches0x000EEinziger primitiver Typ, der vom Tesselation-Shader akzeptiert wird, wenn ein Patch aus einer beliebigen Anzahl von Scheitelpunkten besteht

Dokumentation der Eigenschaft

firstInstance : int

Enthält die Basisinstanz.

Zugriffsfunktionen:

int firstInstance() const
void setFirstInstance(int firstInstance)

Benachrichtigungssignal:

void firstInstanceChanged(int firstInstance)

firstVertex : int

Enthält den Basisscheitelpunkt.

Zugriffsfunktionen:

int firstVertex() const
void setFirstVertex(int firstVertex)

Anmelder-Signal:

void firstVertexChanged(int firstVertex)

geometry : Qt3DCore::QGeometry*

Enthält die Geometrie.

Zugriffsfunktionen:

Qt3DCore::QGeometry *geometry() const
void setGeometry(Qt3DCore::QGeometry *geometry)

Anmelder-Signal:

void geometryChanged(Qt3DCore::QGeometry *geometry)

indexBufferByteOffset : int

Enthält den Byte-Offset in den Indexpuffer.

Zugriffsfunktionen:

int indexBufferByteOffset() const
void setIndexBufferByteOffset(int offset)

Benachrichtigungssignal:

void indexBufferByteOffsetChanged(int offset)

indexOffset : int

Enthält den Basisscheitelpunkt.

Zugriffsfunktionen:

int indexOffset() const
void setIndexOffset(int indexOffset)

Anmelder-Signal:

void indexOffsetChanged(int indexOffset)

instanceCount : int

Enthält die Anzahl der Instanzen.

Zugriffsfunktionen:

int instanceCount() const
void setInstanceCount(int instanceCount)

Benachrichtigungssignal:

void instanceCountChanged(int instanceCount)

primitiveRestartEnabled : bool

Enthält das Kennzeichen für den primitiven Neustart.

Zugriffsfunktionen:

bool primitiveRestartEnabled() const
void setPrimitiveRestartEnabled(bool enabled)

Melder-Signal:

void primitiveRestartEnabledChanged(bool primitiveRestartEnabled)

primitiveType : PrimitiveType

Enthält den primitiven Typ.

Zugriffsfunktionen:

Qt3DRender::QGeometryRenderer::PrimitiveType primitiveType() const
void setPrimitiveType(Qt3DRender::QGeometryRenderer::PrimitiveType primitiveType)

Melder-Signal:

void primitiveTypeChanged(Qt3DRender::QGeometryRenderer::PrimitiveType primitiveType)

restartIndexValue : int

Enthält den Wiederanlaufindex.

Zugriffsfunktionen:

int restartIndexValue() const
void setRestartIndexValue(int index)

Melder-Signal:

void restartIndexValueChanged(int restartIndexValue)

[since 6.0] sortIndex : float

Setzt den Sortierindex außer Kraft, wenn die Tiefensortierung aktiviert ist.

Wenn die Tiefensortierung im Framegraphen aktiviert ist, sortiert der Renderer die Objekte danach, wie weit der Mittelpunkt des Bounding-Volumens von der Kamera entfernt ist, und rendert die Objekte vom am weitesten entfernten zum am nächsten gelegenen.

Diese Eigenschaft kann verwendet werden, um den Tiefenindex zu überschreiben und die Reihenfolge, in der die Objekte gerendert werden, genau zu steuern. Dies ist nützlich, wenn sich alle Objekte im gleichen physischen Abstand zur Kamera befinden.

Die tatsächlichen Werte sind nicht von Bedeutung, sie legen lediglich eine Reihenfolge für die Sortierung der Objekte fest. Diese werden so sortiert, dass das Objekt mit dem kleinsten Wert zuerst gezeichnet wird, dann das zweitkleinste und so weiter.

Hinweis: Die Einstellung -1.f deaktiviert die explizite Sortierung für diese Entität und kehrt zur Verwendung des Abstands vom Zentrum des Bounding Volumes zurück.

Diese Eigenschaft wurde in Qt 6.0 eingeführt.

Zugriffsfunktionen:

float sortIndex() const
void setSortIndex(float sortIndex)

Benachrichtigungssignal:

void sortIndexChanged(float sortIndex)

Siehe auch Qt3DRender::QSortPolicy.

vertexCount : int

Enthält die Anzahl der Primitiven.

Zugriffsfunktionen:

int vertexCount() const
void setVertexCount(int vertexCount)

Melder-Signal:

void vertexCountChanged(int vertexCount)

verticesPerPatch : int

Enthält Scheitelpunkte pro Patch.

Zugriffsfunktionen:

int verticesPerPatch() const
void setVerticesPerPatch(int verticesPerPatch)

Benachrichtigungssignal:

void verticesPerPatchChanged(int verticesPerPatch)

Member Function Dokumentation

[explicit] QGeometryRenderer::QGeometryRenderer(Qt3DCore::QNode *parent = nullptr)

Konstruiert einen neuen QGeometryRenderer mit parent.

© 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.