diff options
author | Mike Krus <mike.krus@kdab.com> | 2016-05-03 21:26:04 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-05-04 15:33:03 +0000 |
commit | 333a10969112566c78e1725472ca07edb73c5e2a (patch) | |
tree | fa5f46776c754d5b3d090ed803804ca054613965 /src/render/geometry/qgeometryrenderer.cpp | |
parent | 7fa8b1523a0791a159c594687c89af7ae621752a (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.cpp | 29 |
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; |