QGeometryRenderer Class

class Qt3DRender::QGeometryRenderer

Encapsulates geometry rendering. More...

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.

ConstantValueDescription
Qt3DRender::QGeometryRenderer::Points0x0000List of points
Qt3DRender::QGeometryRenderer::Lines0x0001List of lines
Qt3DRender::QGeometryRenderer::LineLoop0x0002Connected group of lines connected at ends forming a loop
Qt3DRender::QGeometryRenderer::LineStrip0x0003Connected group of lines
Qt3DRender::QGeometryRenderer::Triangles0x0004List of triangles
Qt3DRender::QGeometryRenderer::TriangleStrip0x0005List of connected triangles
Qt3DRender::QGeometryRenderer::TriangleFan0x0006List of connected triagles where all triangles share the first vertex
Qt3DRender::QGeometryRenderer::LinesAdjacency0x000AAllows geometry shader to access adjacent lines in a line list
Qt3DRender::QGeometryRenderer::TrianglesAdjacency0x000CAllows geometry shader to access adjacent triangles in a triangle list
Qt3DRender::QGeometryRenderer::LineStripAdjacency0x000BAllows geometry shader to access adjacent lines in a line strip
Qt3DRender::QGeometryRenderer::TriangleStripAdjacency0x000DAllows geometry shader to access adjacent triangles in a triangle strip
Qt3DRender::QGeometryRenderer::Patches0x000EOnly 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().