I have some OpenGL code that behaves inconsistently across different hardware. I've got some code that:
- Creates a render buffer and binds a texture to its color buffer (Texture A)
- Sets this render buffer as active, and adjusts the viewport, etc
- Activates a pixel shader (gaussian blur, in this instance).
- Draws a quad to full screen, with texture A on it.
- Unbinds the renderbuffer, etc.
On my development machine this works fine, and has the intended effect of blurring the texture "in place", however on other hardware this does not seem to work.
I've gotten it down to two possibilities.
A) Making a renderbuffer render to itself is not supposed to work, and only works on my development machine due to some sort of fluke.
Or
B) This approach should work, but something else is going wrong.
Any ideas? Honestly I have had a hard time finding specifics about this issue.