summaryrefslogtreecommitdiffstats
path: root/src/render/geometry/qgeometryrenderer.cpp
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2016-05-03 21:26:04 +0100
committerSean Harmer <sean.harmer@kdab.com>2016-05-04 15:33:03 +0000
commit333a10969112566c78e1725472ca07edb73c5e2a (patch)
treefa5f46776c754d5b3d090ed803804ca054613965 /src/render/geometry/qgeometryrenderer.cpp
parent7fa8b1523a0791a159c594687c89af7ae621752a (diff)
Add firstVertex to QGeometryRenderer API
To support glDrawArraysInstancedBaseInstance Task-number: QTBUG-51515 Change-Id: I0c95b351ff7a3668f17256d0d875c3c36537fd01 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/geometry/qgeometryrenderer.cpp')
-rw-r--r--src/render/geometry/qgeometryrenderer.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/render/geometry/qgeometryrenderer.cpp b/src/render/geometry/qgeometryrenderer.cpp
index 716417bc5..87ca16f11 100644
--- a/src/render/geometry/qgeometryrenderer.cpp
+++ b/src/render/geometry/qgeometryrenderer.cpp
@@ -57,6 +57,7 @@ QGeometryRendererPrivate::QGeometryRendererPrivate()
, m_vertexCount(0)
, m_indexOffset(0)
, m_firstInstance(0)
+ , m_firstVertex(0)
, m_restartIndexValue(-1)
, m_verticesPerPatch(0)
, m_primitiveRestart(false)
@@ -92,6 +93,12 @@ QGeometryRendererPrivate::QGeometryRendererPrivate()
/*!
* \qmlproperty int GeometryRenderer::firstInstance
*
+ * Holds the first vertex.
+ */
+
+/*!
+ * \qmlproperty int GeometryRenderer::firstVertex
+ *
* Holds the base instance.
*/
@@ -213,6 +220,17 @@ int QGeometryRenderer::firstInstance() const
}
/*!
+ * \property QGeometryRenderer::firstVertex
+ *
+ * Holds the base vertex.
+ */
+int QGeometryRenderer::firstVertex() const
+{
+ Q_D(const QGeometryRenderer);
+ return d->m_firstVertex;
+}
+
+/*!
* \property QGeometryRenderer::restartIndex
*
* Holds the restart index.
@@ -316,6 +334,16 @@ void QGeometryRenderer::setFirstInstance(int firstInstance)
emit firstInstanceChanged(firstInstance);
}
+void QGeometryRenderer::setFirstVertex(int firstVertex)
+{
+ Q_D(QGeometryRenderer);
+ if (d->m_firstVertex == firstVertex)
+ return;
+
+ d->m_firstVertex = firstVertex;
+ emit firstVertexChanged(firstVertex);
+}
+
void QGeometryRenderer::setRestartIndexValue(int index)
{
Q_D(QGeometryRenderer);
@@ -423,6 +451,7 @@ Qt3DCore::QNodeCreatedChangeBasePtr QGeometryRenderer::createNodeCreationChange(
data.vertexCount = d->m_vertexCount;
data.indexOffset = d->m_indexOffset;
data.firstInstance = d->m_firstInstance;
+ data.firstVertex = d->m_firstVertex;
data.restartIndexValue = d->m_restartIndexValue;
data.verticesPerPatch = d->m_verticesPerPatch;
data.primitiveRestart = d->m_primitiveRestart;