diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-04-16 12:25:14 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-04-16 12:26:06 +0300 |
commit | bf8ed99fb5a474aa6a56d61c9e3a1b5e44d6b6cf (patch) | |
tree | bf0e9956fbad9c689e58f4c33eafbd286185a587 /src/datavisualization/engine/abstract3drenderer_p.h | |
parent | a30c0c304e55ffe30545ab0838e4dbe11a99b8da (diff) |
Add custom item support, part 2
Task-number: QTRD-2866
+ Added custom item rendering
Change-Id: If24400fed7c0467d8ebbd554d6e4df3ec5a205f3
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/abstract3drenderer_p.h')
-rw-r--r-- | src/datavisualization/engine/abstract3drenderer_p.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/datavisualization/engine/abstract3drenderer_p.h b/src/datavisualization/engine/abstract3drenderer_p.h index 884c0f39..967a41a9 100644 --- a/src/datavisualization/engine/abstract3drenderer_p.h +++ b/src/datavisualization/engine/abstract3drenderer_p.h @@ -69,7 +69,7 @@ public: virtual void updateData() = 0; virtual void updateSeries(const QList<QAbstract3DSeries *> &seriesList); - virtual void updateCustomData(const QList<CustomDataItem *> &customItems) = 0; + virtual void updateCustomData(const QList<CustomDataItem *> &customItems); virtual SeriesRenderCache *createNewCache(QAbstract3DSeries *series); virtual void cleanCache(SeriesRenderCache *cache); virtual void render(GLuint defaultFboHandle); @@ -110,6 +110,11 @@ public: virtual void modifiedSeriesList(const QVector<QAbstract3DSeries *> &seriesList); virtual void fixMeshFileName(QString &fileName, QAbstract3DSeries::Mesh mesh); + + virtual void addCustomItem(CustomDataItem *item); + + virtual QVector3D convertPositionToTranslation(const QVector3D &position) = 0; + void generateBaseColorTexture(const QColor &color, GLuint *texture); void fixGradientAndGenerateTexture(QLinearGradient *gradient, GLuint *gradientTexture); @@ -122,6 +127,13 @@ public: void setSelectionLabel(const QString &label); QString &selectionLabel(); + void drawCustomItems(RenderingState state, ShaderHelper *shader, + const QMatrix4x4 &viewMatrix, + const QMatrix4x4 &projectionViewMatrix, + const QMatrix4x4 &depthProjectionViewMatrix, + GLuint depthTexture, GLfloat shadowQuality); + QVector4D indexToSelectionColor(GLint index); + signals: void needRender(); // Emit this if something in renderer causes need for another render pass. void requestShadowQuality(QAbstract3DGraph::ShadowQuality quality); // For automatic quality adjustments |