GstGLFramebuffer

GstGLFramebuffer — OpenGL framebuffer abstraction

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GstObject
            ╰── GstGLFramebuffer

Includes

#include <gst/gl/gl.h>

Description

A GstGLFramebuffer represents and holds an OpenGL framebuffer object with it's associated attachments.

A GstGLFramebuffer can be created with gst_gl_framebuffer_new() or gst_gl_framebuffer_new_with_default_depth() and bound with gst_gl_framebuffer_bind(). Other resources can be bound with gst_gl_framebuffer_attach()

Note: OpenGL framebuffers are not shareable resources so cannot be used between multiple OpenGL contexts.

Functions

gst_gl_framebuffer_new ()

GstGLFramebuffer *
gst_gl_framebuffer_new (GstGLContext *context);

Parameters

context

a GstGLContext

 

Returns

a new GstGLFramebuffer.

[transfer full]

Since: 1.10


gst_gl_framebuffer_new_with_default_depth ()

GstGLFramebuffer *
gst_gl_framebuffer_new_with_default_depth
                               (GstGLContext *context,
                                guint width,
                                guint height);

Parameters

context

a GstGLContext

 

width

width for the depth buffer

 

height

for the depth buffer

 

Returns

a new GstGLFramebuffer with a depth buffer of width and height

Since: 1.10


gst_gl_framebuffer_attach ()

void
gst_gl_framebuffer_attach (GstGLFramebuffer *fb,
                           guint attachment_point,
                           GstGLBaseMemory *mem);

attach mem to attachment_point

Parameters

fb

a GstGLFramebuffer

 

attachment_point

the OpenGL attachment point to bind mem to

 

mem

the memory object to bind to attachment_point

 

Since: 1.10


gst_gl_framebuffer_bind ()

void
gst_gl_framebuffer_bind (GstGLFramebuffer *fb);

Bind fb into the current thread

Parameters

Since: 1.10


gst_gl_context_clear_framebuffer ()

void
gst_gl_context_clear_framebuffer (GstGLContext *context);

Unbind the current framebuffer

Parameters

context

a GstGLContext

 

Since: 1.10


GstGLFramebufferFunc ()

gboolean
(*GstGLFramebufferFunc) (gpointer stuff);

callback definition for operating through a GstGLFramebuffer object

Parameters

stuff

user data

 

gst_gl_framebuffer_draw_to_texture ()

gboolean
gst_gl_framebuffer_draw_to_texture (GstGLFramebuffer *fb,
                                    GstGLMemory *mem,
                                    GstGLFramebufferFunc func,
                                    gpointer user_data);

Perform the steps necessary to have the output of a glDraw* command in func update the contents of mem .

Parameters

fb

a GstGLFramebuffer

 

mem

the GstGLMemory to draw to

 

func

the function to run.

[scope call]

user_data

data to pass to func

 

Returns

the result of executing func

Since: 1.10


gst_gl_framebuffer_get_effective_dimensions ()

void
gst_gl_framebuffer_get_effective_dimensions
                               (GstGLFramebuffer *fb,
                                guint *width,
                                guint *height);

Retreive the effective dimensions from the current attachments attached to fb .

Parameters

fb

a GstGLFramebuffer

 

width

output width.

[out][allow-none]

height

output height.

[out][allow-none]

Since: 1.10


gst_gl_framebuffer_get_id ()

guint
gst_gl_framebuffer_get_id (GstGLFramebuffer *fb);

Parameters

Returns

the OpenGL id for fb

Since: 1.10


gst_gl_context_check_framebuffer_status ()

gboolean
gst_gl_context_check_framebuffer_status
                               (GstGLContext *context,
                                guint fbo_target);

Parameters

context

a GstGLContext

 

fbo_target

the GL value of the framebuffer target, GL_FRAMEBUFFER, GL_READ_FRAMEBUFFER, GL_DRAW_FRAMEBUFFER

 

Returns

whether whether the current framebuffer is complete

Since: 1.10

Types and Values

GstGLFramebuffer

typedef struct _GstGLFramebuffer GstGLFramebuffer;

Opaque GstGLFramebuffer struct


GstGLFramebufferClass

typedef struct {
} GstGLFramebufferClass;

Opaque GstGLFramebufferClass struct

See Also

GstGLBaseMemory, GstGLMemory, GstGLContext