OpenGLFrameBuffer bypasses OpenGLShaderProgram


#1

Hey there,

I got a Problem and really don't know right now where i got wrong. I built a simple OpenGL-Application where I used a fragment-shader to render some stuff.

I then added an OpenGLFrameBuffer*, an Image and a Graphics object that draws onto my Image.

In the renderOpenGL() method I fill the Image with a randomly generated color with Graphics->fillAll(Colour).

Then I generate a OpenGLFrameBuffer* from the Image with OpenGLImageType::getFrameBufferFrom(Image)

and pass it to the shaderProgram as a uniform with texUniform->set(frameBuffer->getTextureID());

The Window diplays the random color correctly, but when i do something like this in the fragment-shader:

//    gl_FragColor = texture2D(tex, texCoordOut);
    gl_FragColor = vec4(texCoordOut, 1.0, 1.0);

It still shows the blinking framebuffer.

Can somebody help me? It seems like the usage of a framebuffer object simply "deactivates" the shaderProgram.


#2

Ok, so I tried out some stuff, the problem seems to be the graphics object that is attached to the image of type openGLImageType. But I have no Idea how the graphics-object interacts with the ShaderProgram

Help is appreciated