Encapsulates geometry rendering. More...
Header: | #include <QGeometryRenderer> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) 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 |
enum | PrimitiveType { Points, Lines, LineLoop, LineStrip, Triangles, …, Patches } |
|
|
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 |
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) |
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) |
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.
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 |
Holds the base instance.
Access functions:
int | firstInstance() const |
void | setFirstInstance(int firstInstance) |
Notifier signal:
void | firstInstanceChanged(int firstInstance) |
Holds the base vertex.
Access functions:
int | firstVertex() const |
void | setFirstVertex(int firstVertex) |
Notifier signal:
void | firstVertexChanged(int firstVertex) |
Holds the geometry.
Access functions:
Qt3DCore::QGeometry * | geometry() const |
void | setGeometry(Qt3DCore::QGeometry *geometry) |
Notifier signal:
void | geometryChanged(Qt3DCore::QGeometry *geometry) |
Holds the byte offset into the index buffer.
Access functions:
int | indexBufferByteOffset() const |
void | setIndexBufferByteOffset(int offset) |
Notifier signal:
void | indexBufferByteOffsetChanged(int offset) |
Holds the base vertex.
Access functions:
int | indexOffset() const |
void | setIndexOffset(int indexOffset) |
Notifier signal:
void | indexOffsetChanged(int indexOffset) |
Holds the instance count.
Access functions:
int | instanceCount() const |
void | setInstanceCount(int instanceCount) |
Notifier signal:
void | instanceCountChanged(int instanceCount) |
Holds the primitive restart flag.
Access functions:
bool | primitiveRestartEnabled() const |
void | setPrimitiveRestartEnabled(bool enabled) |
Notifier signal:
void | primitiveRestartEnabledChanged(bool primitiveRestartEnabled) |
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) |
Holds the restart index.
Access functions:
int | restartIndexValue() const |
void | setRestartIndexValue(int index) |
Notifier signal:
void | restartIndexValueChanged(int restartIndexValue) |
[since 6.0]
sortIndex : floatOverrides the sorting index when depth sorting is enabled.
If depth sorting is enabled on the frame graph, the renderer will sort objects based on how far the center of the bounding volume is from the camera and render objects from the furthest to the closest.
This property can be used to override the depth index and precisely control the order in which objects are rendered. This is useful when all objects are at the same physical distance from the camera.
The actual values are not significant, only that they define an order to sort the objects. These are sorted such as the object with the smallest value is drawn first, then the second smallest, and so on.
Note: Setting this to -1.f will disable the explicit sorting for this entity and revert to using the distance from the center of the bounding volume.
This property was introduced in Qt 6.0.
Access functions:
float | sortIndex() const |
void | setSortIndex(float sortIndex) |
Notifier signal:
void | sortIndexChanged(float sortIndex) |
See also Qt3DRender::QSortPolicy.
Holds the primitive count.
Access functions:
int | vertexCount() const |
void | setVertexCount(int vertexCount) |
Notifier signal:
void | vertexCountChanged(int vertexCount) |
Holds vertices per patch.
Access functions:
int | verticesPerPatch() const |
void | setVerticesPerPatch(int verticesPerPatch) |
Notifier signal:
void | verticesPerPatchChanged(int verticesPerPatch) |
Constructs a new QGeometryRenderer with parent.