diff --git a/imagescrollareagl.cpp b/imagescrollareagl.cpp index e77c641..52f2381 100644 --- a/imagescrollareagl.cpp +++ b/imagescrollareagl.cpp @@ -220,11 +220,12 @@ void ImageWidget::allocateThumbnails(const QStringList &paths) } m_thumbnailTexture->destroy(); - m_thumbnailTexture->create(); m_thumbnailTexture->setFormat(QOpenGLTexture::RGBA16F); m_thumbnailTexture->setSize(THUMB_SIZE, THUMB_SIZE); m_thumbnailTexture->setLayers(std::min((int)paths.size(), m_maxArrayLayers)); + m_thumbnailTexture->setAutoMipMapGenerationEnabled(false); m_thumbnailTexture->setWrapMode(QOpenGLTexture::ClampToEdge); + m_thumbnailTexture->setMinMagFilters(QOpenGLTexture::Linear, QOpenGLTexture::Linear); m_thumbnailTexture->allocateStorage(); } @@ -370,6 +371,7 @@ void ImageWidget::paintGL() m_thumbnailProgram->setUniformValueArray("mtf_param", m_mtfParams.blackPoint, 3, 3); m_thumbnailProgram->setUniformValue("invert", m_invert); m_thumbnailProgram->setUniformValue("offset", 0, m_dy); + QMatrix4x4 mvp; mvp.ortho(rect()); m_thumbnailProgram->setUniformValue("mvp", mvp); @@ -591,12 +593,6 @@ void ImageWidget::initializeGL() m_image->setMagnificationFilter(QOpenGLTexture::Linear); m_thumbnailTexture = std::unique_ptr(new QOpenGLTexture(QOpenGLTexture::Target2DArray)); - m_thumbnailTexture->setFormat(QOpenGLTexture::RGBA16_UNorm); - m_thumbnailTexture->setSize(THUMB_SIZE, THUMB_SIZE); - m_thumbnailTexture->setLayers(1); - m_thumbnailTexture->allocateStorage(); - m_thumbnailTexture->bind(1); - m_thumbnailTexture->setMinMagFilters(QOpenGLTexture::Linear, QOpenGLTexture::Linear); m_transferOptions = std::unique_ptr(new QOpenGLPixelTransferOptions); m_transferOptions->setAlignment(1);