Correctly render BW image

This commit is contained in:
2021-03-22 18:20:54 +01:00
parent 43028f32c6
commit ab3a7d9654
3 changed files with 6 additions and 0 deletions
+2
View File
@@ -5,10 +5,12 @@ varying vec2 qt_TexCoord0;
uniform vec2 scale; uniform vec2 scale;
uniform float a; uniform float a;
uniform int stretch; uniform int stretch;
uniform bool bw;
void main(void) void main(void)
{ {
vec4 color = texture2D(qt_Texture0, qt_TexCoord0); vec4 color = texture2D(qt_Texture0, qt_TexCoord0);
if(bw)color = color.rrra;
color = color*scale.x + scale.y; color = color*scale.x + scale.y;
max(color, vec4(0.0f)); max(color, vec4(0.0f));
+3
View File
@@ -64,6 +64,7 @@ void ImageWidget::setImage(RawImage *image)
break; break;
} }
m_image->generateMipMaps(); m_image->generateMipMaps();
m_bwImg = true;
update(); update();
} }
@@ -79,6 +80,7 @@ void ImageWidget::setImage(const QPixmap &pixmap)
m_image->setMinMagFilters(QOpenGLTexture::LinearMipMapLinear, QOpenGLTexture::Linear); m_image->setMinMagFilters(QOpenGLTexture::LinearMipMapLinear, QOpenGLTexture::Linear);
m_image->setWrapMode(QOpenGLTexture::ClampToBorder); m_image->setWrapMode(QOpenGLTexture::ClampToBorder);
m_image->setBorderColor(0, 0, 0, 0); m_image->setBorderColor(0, 0, 0, 0);
m_bwImg = false;
update(); update();
} }
@@ -167,6 +169,7 @@ void ImageWidget::paintGL()
m_program->setUniformValue("stretch", m_stretch); m_program->setUniformValue("stretch", m_stretch);
m_program->setUniformValue("a", m_param); m_program->setUniformValue("a", m_param);
m_program->setUniformValue("zoom", 1.0f/m_scale); m_program->setUniformValue("zoom", 1.0f/m_scale);
m_program->setUniformValue("bw", m_bwImg);
m_image->bind(0); m_image->bind(0);
f->glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); f->glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
+1
View File
@@ -40,6 +40,7 @@ class ImageWidget : public QOpenGLWidget
float m_scale; float m_scale;
float m_param; float m_param;
bool m_blockRepaint; bool m_blockRepaint;
bool m_bwImg;
public: public:
explicit ImageWidget(QWidget *parent = nullptr); explicit ImageWidget(QWidget *parent = nullptr);
~ImageWidget(); ~ImageWidget();