diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-10-03 13:40:02 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-10-03 13:46:02 +0300 |
commit | 56d71710d5c87047815c2f2a3686ecb01332da7c (patch) | |
tree | 4ba14151b6b0f321b1eea2a84371ce3399140679 /src/datavisualization/engine | |
parent | eca4f57c854874ec6e4f616e663b43675d76cff4 (diff) |
Selection fixed for Android surface
Task-number: QTRD-2368
Change-Id: I7b6bf5f16111a7dfdb49cb391b29872bf12ac8fd
Change-Id: I7b6bf5f16111a7dfdb49cb391b29872bf12ac8fd
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavisualization/engine')
-rw-r--r-- | src/datavisualization/engine/surface3drenderer.cpp | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index cebe906e..9f40e410 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -484,7 +484,7 @@ void Surface3DRenderer::drawSlicedScene() GLfloat scaleX; GLfloat scaleXBackground; - GLfloat offset; + GLfloat offset = 0.0f; if (m_cachedSelectionMode == QDataVis::SelectionModeSliceRow) { scaleX = m_surfaceScaleX; scaleXBackground = m_scaleXWithBackground; @@ -1694,15 +1694,6 @@ void Surface3DRenderer::updateSelectionTexture() // ID color so that each vertex (data point) has 4x4 pixel area of ID color int idImageWidth = (m_sampleSpace.width() - 1) * 4; int idImageHeight = (m_sampleSpace.height() - 1) * 4; - -#if defined(Q_OS_ANDROID) - // Android requires power-of-two textures - GLuint temp; - idImageWidth = Utils::getNearestPowerOfTwo(idImageWidth, temp); - idImageHeight = Utils::getNearestPowerOfTwo(idImageHeight, temp); - // TODO: This is not enough, the selection texture itself needs to be modified for Android (colors?, scaling) -#endif - int stride = idImageWidth * 4 * sizeof(uchar); // 4 = number of color components (rgba) uchar *bits = new uchar[idImageWidth * idImageHeight * 4 * sizeof(uchar)]; @@ -1735,7 +1726,8 @@ void Surface3DRenderer::updateSelectionTexture() } // Move the ID image (bits) to the texture - m_selectionTexture = m_textureHelper->create2DTexture(bits, idImageWidth, idImageHeight); + QImage image = QImage(bits, idImageWidth, idImageHeight, QImage::Format_RGB32); + m_selectionTexture = m_textureHelper->create2DTexture(image, false, false, false); // Release the temp bits allocation delete[] bits; |