| Top |  |  |  |  | 
GObject ╰── GInitiallyUnowned ╰── GstObject ╰── GstElement ╰── GstBaseTransform ╰── GstGLBaseFilter ╰── GstGLFilter
GstGLFilter helps to implement simple OpenGL filter elements taking a single input and producing a single output with a GstGLFramebuffer
gboolean (*GstGLFilterRenderFunc) (GstGLFilter *filter,GstGLMemory *in_tex,gpointer user_data);
Since: 1.10
gboolean gst_gl_filter_render_to_target (GstGLFilter *filter,GstGLMemory *input,GstGLMemory *output,GstGLFilterRenderFunc func,gpointer data);
Transforms input
 into output
 using func
 on through FBO.
| filter | ||
| input | the input texture | |
| output | the output texture | |
| func | the function to transform  | [scope call] | 
| data | the data associated with  | [allow-none] | 
Since: 1.10
void gst_gl_filter_render_to_target_with_shader (GstGLFilter *filter,GstGLMemory *input,GstGLMemory *output,GstGLShader *shader);
Transforms input
 into output
 using shader
 with a FBO.
See also: gst_gl_filter_render_to_target()
Since: 1.4
gboolean gst_gl_filter_filter_texture (GstGLFilter *filter,GstBuffer *inbuf,GstBuffer *outbuf);
Calls filter_texture vfunc with correctly mapped GstGLMemorys
Since: 1.4
void
gst_gl_filter_draw_fullscreen_quad (GstGLFilter *filter);
Render a fullscreen quad using the current GL state. The only GL state this modifies is the necessary vertex/index buffers and, if necessary, a Vertex Array Object for drawing a fullscreen quad. Framebuffer state, any shaders, viewport state, etc must be setup by the caller.
Since: 1.10
void
gst_gl_filter_add_rgba_pad_templates (GstGLFilterClass *klass);
typedef struct {
  GstVideoInfo       in_info;
  GstVideoInfo       out_info;
  GstGLTextureTarget in_texture_target;
  GstGLTextureTarget out_texture_target;
  GstCaps           *out_caps;
  /* protected */
  GstGLFramebuffer  *fbo;
} GstGLFilter;
| GstVideoInfo  | the video info for input buffers | |
| GstVideoInfo  | the video info for output buffers | |
| GstGLTextureTarget  | The texture target of the input buffers (usually 2D) | |
| GstGLTextureTarget  | The texture target of the output buffers (usually 2D) | |
| GstCaps * | the output GstCaps | |
| GstGLFramebuffer * | GstGLFramebuffer object used for transformations (only for subclass usage) | 
typedef struct {
  GstGLBaseFilterClass parent_class;
  gboolean (*set_caps)          (GstGLFilter* filter, GstCaps* incaps, GstCaps* outcaps);
  gboolean (*filter)            (GstGLFilter *filter, GstBuffer *inbuf, GstBuffer *outbuf);
  gboolean (*filter_texture)    (GstGLFilter *filter, GstGLMemory *in_tex, GstGLMemory *out_tex);
  gboolean (*init_fbo)          (GstGLFilter *filter);
  GstCaps *(*transform_internal_caps) (GstGLFilter *filter,
    GstPadDirection direction, GstCaps * caps, GstCaps * filter_caps);
} GstGLFilterClass;
| mirror from GstBaseTransform | ||
| perform operations on the input and output buffers.  In general,
you should avoid using this method if at all possible. One valid
use-case for using this is keeping previous buffers for future calculations.
Note: If  | ||
| given  | ||
| perform initialization when the Framebuffer object is created | ||
| Perform sub-class specific modifications of the caps to be processed between upload on input and before download for output. |