[486/906] libvisual-gl: add minimal support to libvisual plugins that uses Framebuffer objects

Fix bug #310775

gst-launch audiotestsrc ! libvisual_gl_projectM ! glimagesink is working
but for now you cannot append any other opengl filters between
libvisual_gl_projectM and glimagesink because our FBO is turned OFF.

It would require that libvisual allows to split rendering between
pass1,2,3... and final rendering. In order to unbind our FBO before
the passN, and then rebind it just before the final libvisual rendering.
This commit is contained in:
Julien Isorce 2011-12-22 15:30:38 +01:00 committed by Tim-Philipp Müller
parent 0f54271129
commit 74526865c6

View file

@ -1908,6 +1908,7 @@ gst_gl_display_on_draw (GstGLDisplay * display)
glEnable (GL_TEXTURE_RECTANGLE_ARB);
glBegin (GL_QUADS);
/* gst images are top-down while opengl plane is bottom-up */
glTexCoord2i (display->redisplay_texture_width, 0);
glVertex2f (1.0f, 1.0f);
glTexCoord2i (0, 0);
@ -1917,6 +1918,15 @@ gst_gl_display_on_draw (GstGLDisplay * display)
glTexCoord2i (display->redisplay_texture_width,
display->redisplay_texture_height);
glVertex2f (1.0f, -1.0f);
/*glTexCoord2i (display->redisplay_texture_width, 0);
glVertex2i (1, -1);
glTexCoord2i (0, 0);
glVertex2f (-1.0f, -1.0f);
glTexCoord2i (0, display->redisplay_texture_height);
glVertex2f (-1.0f, 1.0f);
glTexCoord2i (display->redisplay_texture_width,
display->redisplay_texture_height);
glVertex2f (1.0f, 1.0f); */
glEnd ();
glDisable (GL_TEXTURE_RECTANGLE_ARB);