diff --git a/ext/libvisual/visual-gl.c b/ext/libvisual/visual-gl.c index 294dfc0c16..6319033e7e 100644 --- a/ext/libvisual/visual-gl.c +++ b/ext/libvisual/visual-gl.c @@ -764,6 +764,16 @@ render_frame (gint width, gint height, guint texture, GstVisualGL * visual) actor_negotiate (visual->display, visual); + if (visual->is_enabled_gl_depth_test) { + glEnable (GL_DEPTH_TEST); + glDepthFunc (visual->gl_depth_func); + } + + if (visual->is_enabled_gl_blend) { + glEnable (GL_BLEND); + glBlendFunc (visual->gl_blend_src_alpha, GL_ZERO); + } + glMatrixMode (GL_MODELVIEW); glScaled (1.0, -1.0, 1.0); @@ -777,6 +787,9 @@ render_frame (gint width, gint height, guint texture, GstVisualGL * visual) glPopAttrib (); + glDisable (GL_DEPTH_TEST); + glDisable (GL_BLEND); + GST_DEBUG_OBJECT (visual, "rendered one frame"); }