Specify layout index in shader

This commit is contained in:
2023-03-11 13:38:36 +01:00
parent fde1594086
commit 74aee15f80
4 changed files with 6 additions and 6 deletions
+3 -3
View File
@@ -425,7 +425,7 @@ void ImageWidget::initializeGL()
m_program = std::unique_ptr<QOpenGLShaderProgram>(new QOpenGLShaderProgram); m_program = std::unique_ptr<QOpenGLShaderProgram>(new QOpenGLShaderProgram);
m_program->addShaderFromSourceFile(QOpenGLShader::Vertex, ":/shaders/image.vert"); m_program->addShaderFromSourceFile(QOpenGLShader::Vertex, ":/shaders/image.vert");
m_program->addShaderFromSourceFile(QOpenGLShader::Fragment, ":/shaders/image.frag"); m_program->addShaderFromSourceFile(QOpenGLShader::Fragment, ":/shaders/image.frag");
if(f3)f3->glBindFragDataLocation(m_program->programId(), 0, "color");
if(!m_program->link()) if(!m_program->link())
{ {
qDebug() << "Link failed" << m_program->log(); qDebug() << "Link failed" << m_program->log();
@@ -442,7 +442,7 @@ void ImageWidget::initializeGL()
m_debayerProgram = std::unique_ptr<QOpenGLShaderProgram>(new QOpenGLShaderProgram); m_debayerProgram = std::unique_ptr<QOpenGLShaderProgram>(new QOpenGLShaderProgram);
m_debayerProgram->addShaderFromSourceFile(QOpenGLShader::Vertex, ":/shaders/debayer.vert"); m_debayerProgram->addShaderFromSourceFile(QOpenGLShader::Vertex, ":/shaders/debayer.vert");
m_debayerProgram->addShaderFromSourceFile(QOpenGLShader::Fragment, ":/shaders/debayer.frag"); m_debayerProgram->addShaderFromSourceFile(QOpenGLShader::Fragment, ":/shaders/debayer.frag");
if(f3)f3->glBindFragDataLocation(m_debayerProgram->programId(), 0, "color");
m_debayerProgram->bind(); m_debayerProgram->bind();
m_debayerProgram->enableAttributeArray("qt_Vertex"); m_debayerProgram->enableAttributeArray("qt_Vertex");
m_debayerProgram->setAttributeBuffer("qt_Vertex", GL_FLOAT, 0, 2, sizeof(float)*4); m_debayerProgram->setAttributeBuffer("qt_Vertex", GL_FLOAT, 0, 2, sizeof(float)*4);
@@ -459,7 +459,7 @@ void ImageWidget::initializeGL()
m_thumbnailProgram = std::unique_ptr<QOpenGLShaderProgram>(new QOpenGLShaderProgram); m_thumbnailProgram = std::unique_ptr<QOpenGLShaderProgram>(new QOpenGLShaderProgram);
m_thumbnailProgram->addShaderFromSourceFile(QOpenGLShader::Vertex, ":/shaders/thumb.vert"); m_thumbnailProgram->addShaderFromSourceFile(QOpenGLShader::Vertex, ":/shaders/thumb.vert");
m_thumbnailProgram->addShaderFromSourceFile(QOpenGLShader::Fragment, ":/shaders/thumb.frag"); m_thumbnailProgram->addShaderFromSourceFile(QOpenGLShader::Fragment, ":/shaders/thumb.frag");
if(f3)f3->glBindFragDataLocation(m_thumbnailProgram->programId(), 0, "color");
m_thumbnailProgram->bind(); m_thumbnailProgram->bind();
m_thumbnailProgram->enableAttributeArray("qt_Vertex"); m_thumbnailProgram->enableAttributeArray("qt_Vertex");
m_thumbnailProgram->setAttributeBuffer("qt_Vertex", GL_FLOAT, 0, 2, sizeof(float)*4); m_thumbnailProgram->setAttributeBuffer("qt_Vertex", GL_FLOAT, 0, 2, sizeof(float)*4);
+1 -1
View File
@@ -3,7 +3,7 @@
uniform sampler2D qt_Texture0; uniform sampler2D qt_Texture0;
in vec2 qt_TexCoord0; in vec2 qt_TexCoord0;
in vec2 center; in vec2 center;
out vec4 color; layout(location = 0) out vec4 color;
#define f(x, y) texelFetch(qt_Texture0, icenter + ivec2(x, y), 0).r #define f(x, y) texelFetch(qt_Texture0, icenter + ivec2(x, y), 0).r
+1 -1
View File
@@ -7,7 +7,7 @@ uniform bool invert;
uniform bool srgb; uniform bool srgb;
uniform vec3 whiteBalance; uniform vec3 whiteBalance;
in vec2 qt_TexCoord0; in vec2 qt_TexCoord0;
out vec4 color; layout(location = 0) out vec4 color;
vec3 Linear2sRGB(vec3 color) vec3 Linear2sRGB(vec3 color)
{ {
+1 -1
View File
@@ -4,7 +4,7 @@ uniform sampler2DArray qt_Texture0;
uniform vec3 mtf_param; uniform vec3 mtf_param;
uniform bool invert; uniform bool invert;
in vec3 qt_TexCoord0; in vec3 qt_TexCoord0;
out vec4 color; layout(location = 0) out vec4 color;
vec4 MTF(vec4 x, vec3 m) vec4 MTF(vec4 x, vec3 m)
{ {