QGeometryRenderer Class

class Qt3DRender::QGeometryRenderer

Encapsulates geometry rendering. More...

Header: #include <QGeometryRenderer>
CMake: find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
Since: Qt 5.7
Instantiated By: GeometryRenderer
Inherits: Qt3DCore::QBoundingVolume
Inherited By:

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

Public Types

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

Properties

Public Functions

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
int vertexCount() const
int verticesPerPatch() const

Public 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 setVertexCount(int vertexCount)
void setVerticesPerPatch(int verticesPerPatch)

Signals

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 vertexCountChanged(int vertexCount)
void verticesPerPatchChanged(int verticesPerPatch)

Detailed Description

A Qt3DRender::QGeometryRenderer holds all the information necessary to draw a Qt3DCore::QGeometry. A QGeometry holds the coordinates of the geometry data - QGeometryRenderer specifies how to interpret that data.

Member Type Documentation

enum QGeometryRenderer::PrimitiveType

The type of the primitive.

Constant Value Description
Qt3DRender::QGeometryRenderer::Points 0x0000 List of points
Qt3DRender::QGeometryRenderer::Lines 0x0001 List of lines
Qt3DRender::QGeometryRenderer::LineLoop 0x0002 Connected group of lines connected at ends forming a loop
Qt3DRender::QGeometryRenderer::LineStrip 0x0003 Connected group of lines
Qt3DRender::QGeometryRenderer::Triangles 0x0004 List of triangles
Qt3DRender::QGeometryRenderer::TriangleStrip 0x0005 List of connected triangles
Qt3DRender::QGeometryRenderer::TriangleFan 0x0006 List of connected triagles where all triangles share the first vertex
Qt3DRender::QGeometryRenderer::LinesAdjacency 0x000A Allows geometry shader to access adjacent lines in a line list
Qt3DRender::QGeometryRenderer::TrianglesAdjacency 0x000C Allows geometry shader to access adjacent triangles in a triangle list
Qt3DRender::QGeometryRenderer::LineStripAdjacency 0x000B Allows geometry shader to access adjacent lines in a line strip
Qt3DRender::QGeometryRenderer::TriangleStripAdjacency 0x000D Allows geometry shader to access adjacent triangles in a triangle strip
Qt3DRender::QGeometryRenderer::Patches 0x000E Only primitive type accepted by tesselation shader where a patch consists of arbitrary number of vertices

Property Documentation

firstInstance : int

Holds the base instance.

Access functions:

int firstInstance() const
void setFirstInstance(int firstInstance)

Notifier signal:

void firstInstanceChanged(int firstInstance)

firstVertex : int

Holds the base vertex.

Access functions:

int firstVertex() const
void setFirstVertex(int firstVertex)

Notifier signal:

void firstVertexChanged(int firstVertex)

geometry : Qt3DCore::QGeometry*

Holds the geometry.

Access functions:

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

Notifier signal:

void geometryChanged(Qt3DCore::QGeometry *geometry)

indexBufferByteOffset : int

Holds the byte offset into the index buffer.

Access functions:

int indexBufferByteOffset() const
void setIndexBufferByteOffset(int offset)

Notifier signal:

void indexBufferByteOffsetChanged(int offset)

indexOffset : int

Holds the base vertex.

Access functions:

int indexOffset() const
void setIndexOffset(int indexOffset)

Notifier signal:

void indexOffsetChanged(int indexOffset)

instanceCount : int

Holds the instance count.

Access functions:

int instanceCount() const
void setInstanceCount(int instanceCount)

Notifier signal:

void instanceCountChanged(int instanceCount)

primitiveRestartEnabled : bool

Holds the primitive restart flag.

Access functions:

bool primitiveRestartEnabled() const
void setPrimitiveRestartEnabled(bool enabled)

Notifier signal:

void primitiveRestartEnabledChanged(bool primitiveRestartEnabled)

primitiveType : PrimitiveType

Holds the primitive type.

Access functions:

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

Notifier signal:

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

restartIndexValue : int

Holds the restart index.

Access functions:

int restartIndexValue() const
void setRestartIndexValue(int index)

Notifier signal:

void restartIndexValueChanged(int restartIndexValue)

vertexCount : int

Holds the primitive count.

Access functions:

int vertexCount() const
void setVertexCount(int vertexCount)

Notifier signal:

void vertexCountChanged(int vertexCount)

verticesPerPatch : int

Holds vertices per patch.

Access functions:

int verticesPerPatch() const
void setVerticesPerPatch(int verticesPerPatch)

Notifier signal:

void verticesPerPatchChanged(int verticesPerPatch)

Member Function Documentation

QGeometryRenderer::QGeometryRenderer(Qt3DCore::QNode *parent = nullptr)

Constructs a new QGeometryRenderer with parent.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qt3drender-qgeometryrenderer.html