diff options
author | Mika Salmela <mika.salmela@qt.io> | 2017-09-05 09:55:07 +0300 |
---|---|---|
committer | Mika Salmela <mika.salmela@qt.io> | 2017-09-05 07:00:50 +0000 |
commit | fdc983fb3c4ad79cdba282d84a7d8c51ae740965 (patch) | |
tree | 11e501c8053341697347b85147974298482cb852 /src/datavisualization/engine | |
parent | 3f8ae713dfdbaeb34bdc52d905fe5ca16765cf7f (diff) |
Set clamp to edge wrap modes for surface textures
By default surface textures had wrong wrap modes making the color bleed
on edges. This patch changes the texture wrap modes to clamp to edge.
Task-number: QTBUG-62996
Change-Id: Iebee66b01a78db6036cb0c833f39237f8e98b6b7
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/datavisualization/engine')
-rw-r--r-- | src/datavisualization/engine/surface3drenderer.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 9cfa0edc..9fa1eeb8 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -317,8 +317,12 @@ void Surface3DRenderer::updateSurfaceTextures(QVector<QSurface3DSeries *> series const QSurfaceDataArray &array = *dataProxy->array(); if (!series->texture().isNull()) { - cache->setSurfaceTexture(m_textureHelper->create2DTexture( - series->texture(), true, true, true)); + GLuint texId = m_textureHelper->create2DTexture(series->texture(), + true, true, true, true); + glBindTexture(GL_TEXTURE_2D, texId); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glBindTexture(GL_TEXTURE_2D, 0); + cache->setSurfaceTexture(texId); if (cache->isFlatShadingEnabled()) cache->surfaceObject()->coarseUVs(array, cache->dataArray()); |