QGeometryRenderer Class

(Qt3DRender::QGeometryRenderer)

Encapsulates geometry rendering. More...

Header: #include <QGeometryRenderer>
qmake: QT += 3drender
Since: Qt 5.7
Instantiated By: GeometryRenderer
Inherits: Qt3DCore::QComponent
Inherited By:

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

This class was introduced in Qt 5.7.

Public Types

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

Properties

Public Functions

QGeometryRenderer(Qt3DCore::QNode *parent = nullptr)
int firstInstance() const
int firstVertex() const
Qt3DRender::QGeometry * geometry() const
Qt3DRender::QGeometryFactoryPtr geometryFactory() const
int indexBufferByteOffset() const
int indexOffset() const
int instanceCount() const
bool primitiveRestartEnabled() const
Qt3DRender::QGeometryRenderer::PrimitiveType primitiveType() const
int restartIndexValue() const
void setGeometryFactory(const Qt3DRender::QGeometryFactoryPtr &factory)
int vertexCount() const
int verticesPerPatch() const

Public Slots

void setFirstInstance(int firstInstance)
void setFirstVertex(int firstVertex)
void setGeometry(Qt3DRender::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(Qt3DRender::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 Qt3DRender::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 : Qt3DRender::QGeometry*

Holds the geometry.

Access functions:

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

Notifier signal:

void geometryChanged(Qt3DRender::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.

Qt3DRender::QGeometryFactoryPtr QGeometryRenderer::geometryFactory() const

Returns the geometry functor.

See also setGeometryFactory().

void QGeometryRenderer::setGeometryFactory(const Qt3DRender::QGeometryFactoryPtr &factory)

Sets the geometry factory.

See also geometryFactory().

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