Hi all..
I am GLSL beginner. I am using shader with Qt's OGL module.
I have created a shader and have drawn an image on the QGLWidget but stuck about how to apply the shader to the image object.
e.g. I have created a shader for brightness, but how to apply gl_fragcolor value to the image?
Please Hv a Look at my code and let me know how to use gl_FragColor Value while Updating the image in paintGL() Function.
void GLWidget::initializeGL()
{
//***************Shader for Brightness************************//
QGLShader *vshader1 = new QGLShader(QGLShader::Vertex, this);
const char *vsrc1 =
"varying mediump vec4 Alpha;"
"void main(void)\n"
"{\n"
"vec3 col = vec3(0.40, 1.0, 0.0);"
"Alpha = vec4(col * 0.2 + col * 0.8 * 0.45, 1.0);"
"Alpha = clamp(Alpha, 0.0, 1.0);"
"gl_Position = Alpha;"
"}\n";
bool b1 = vshader1->compileSourceCode(vsrc1);
QGLShader *fshader1 = new QGLShader(QGLShader::Fragment, this);
const char *fsrc1 =
"varying mediump float Alpha;"
"void main (void)"
"{"
"gl_FragColor = gl_Color * Alpha;"
"}";
bool bl = fshader1->compileSourceCode(fsrc1);
bool addS = program1.addShader(fshader1);
bool addS1 = program1.addShader(vshader1);
bool link = program1.link();
}
Quick help is appreciated.
Thanks in advance.
Bhavana M.