pub trait GLFilterExt: 'static {
    fn draw_fullscreen_quad(&self);
fn filter_texture(
        &self,
        input: &Buffer,
        output: &Buffer
    ) -> Result<(), BoolError>;
fn render_to_target<P: FnMut(&GLFilter, &GLMemory) -> bool>(
        &self,
        input: &GLMemory,
        output: &GLMemory,
        func: P
    ) -> Result<(), BoolError>;
fn render_to_target_with_shader(
        &self,
        input: &GLMemory,
        output: &GLMemory,
        shader: &GLShader
    ); }
Expand description

Trait containing all GLFilter methods.

Implementors

GLFilter

Required methods

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.

Calls filter_texture vfunc with correctly mapped GstGLMemorys

input

an input buffer

output

an output buffer

Returns

whether the transformation succeeded

Transforms input into output using func on through FBO.

input

the input texture

output

the output texture

func

the function to transform input into output. called with data

Returns

the return value of func

Transforms input into output using shader with a FBO.

See also: render_to_target()

input

the input texture

output

the output texture

shader

the shader to use.

Implementors