diff options
author | Mika Salmela <mika.salmela@digia.com> | 2014-06-05 10:32:24 +0300 |
---|---|---|
committer | Mika Salmela <mika.salmela@digia.com> | 2014-06-05 10:36:02 +0300 |
commit | 2299481acb0b36d76414ed9e0ae2b2d110ff13d8 (patch) | |
tree | c7e4412dcea928b428a2abb7116009b3a4fbce43 /src/datavisualization/engine/drawer.cpp | |
parent | f8e9d36ce868adaade5aaa6769ba681763d16874 (diff) |
Scatter perf improvement
Task-number: QTRD-3148
Change-Id: I2c9efa84184819aaac123ee29685bc3a9e35bfe6
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/drawer.cpp')
-rw-r--r-- | src/datavisualization/engine/drawer.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index 8a8df4fd..b8726840 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -22,6 +22,7 @@ #include "utils_p.h" #include "texturehelper_p.h" #include "abstract3drenderer_p.h" +#include "scatterpointbufferhelper_p.h" #include <QtGui/QMatrix4x4> #include <QtCore/qmath.h> @@ -205,6 +206,22 @@ void Drawer::drawPoint(ShaderHelper *shader) glDisableVertexAttribArray(shader->posAtt()); } +void Drawer::drawPoints(ShaderHelper *shader, ScatterPointBufferHelper *object) +{ + // 1st attribute buffer : vertices + glEnableVertexAttribArray(shader->posAtt()); + glBindBuffer(GL_ARRAY_BUFFER, object->pointBuf()); + glVertexAttribPointer(shader->posAtt(), 3, GL_FLOAT, GL_FALSE, 0, (void*)0); + + // Draw the points + glDrawArrays(GL_POINTS, 0, object->indexCount()); + + // Free buffers + glBindBuffer(GL_ARRAY_BUFFER, 0); + + glDisableVertexAttribArray(shader->posAtt()); +} + void Drawer::drawLine(ShaderHelper *shader) { // Draw a single line |