summaryrefslogtreecommitdiffstats
path: root/src/render/geometry/qgeometryrenderer.h
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2020-11-18 12:29:48 +0000
committerMike Krus <mike.krus@kdab.com>2020-11-20 14:58:17 +0000
commitc6aec09f4f6030fa11b9ba911e4c0df2fe7485b2 (patch)
tree3f2fbc49f76264fefaa8ceccbeacbde1b7ddaae7 /src/render/geometry/qgeometryrenderer.h
parentb0dbd67d7b95cb4c74a502e04b68e3b3f9dc8e6b (diff)
Introduce QGeometryRenderer::sortIndex
Lets user override the sorting order of entities. [ChangeLog] Add sortIndex property to QGeometryRenderer to explicitly control the order in which entities are rendered Pick-to: 5.15 Change-Id: Iab7fd0d705f7ddcb424a59f86f8c2c28059813d1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/geometry/qgeometryrenderer.h')
-rw-r--r--src/render/geometry/qgeometryrenderer.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/render/geometry/qgeometryrenderer.h b/src/render/geometry/qgeometryrenderer.h
index 14d8bbccc..c0e14eaaf 100644
--- a/src/render/geometry/qgeometryrenderer.h
+++ b/src/render/geometry/qgeometryrenderer.h
@@ -65,6 +65,7 @@ class Q_3DRENDERSHARED_EXPORT QGeometryRenderer : public Qt3DCore::QBoundingVolu
Q_PROPERTY(bool primitiveRestartEnabled READ primitiveRestartEnabled WRITE setPrimitiveRestartEnabled NOTIFY primitiveRestartEnabledChanged)
Q_PROPERTY(Qt3DCore::QGeometry* geometry READ geometry WRITE setGeometry NOTIFY geometryChanged)
Q_PROPERTY(PrimitiveType primitiveType READ primitiveType WRITE setPrimitiveType NOTIFY primitiveTypeChanged)
+ Q_PROPERTY(float sortIndex READ sortIndex WRITE setSortIndex NOTIFY sortIndexChanged)
public:
explicit QGeometryRenderer(Qt3DCore::QNode *parent = nullptr);
~QGeometryRenderer();
@@ -99,6 +100,7 @@ public:
bool primitiveRestartEnabled() const;
Qt3DCore::QGeometry *geometry() const;
PrimitiveType primitiveType() const;
+ float sortIndex() const;
public Q_SLOTS:
void setInstanceCount(int instanceCount);
@@ -112,6 +114,7 @@ public Q_SLOTS:
void setPrimitiveRestartEnabled(bool enabled);
void setGeometry(Qt3DCore::QGeometry *geometry);
void setPrimitiveType(PrimitiveType primitiveType);
+ void setSortIndex(float sortIndex);
Q_SIGNALS:
void instanceCountChanged(int instanceCount);
@@ -126,11 +129,14 @@ Q_SIGNALS:
void geometryChanged(Qt3DCore::QGeometry *geometry);
void primitiveTypeChanged(PrimitiveType primitiveType);
+ void sortIndexChanged(float sortIndex);
+
protected:
explicit QGeometryRenderer(QGeometryRendererPrivate &dd, Qt3DCore::QNode *parent = nullptr);
private:
Q_DECLARE_PRIVATE(QGeometryRenderer)
+ float m_sortIndex;
};
} // namespace Qt3DRender