| Top |
GstGLShader *
gst_gl_shader_new (GstGLContext *context);
Note: must be called in the GL thread
GstGLShader * gst_gl_shader_new_default (GstGLContext *context,GError **error);
Note: must be called in the GL thread
Since: 1.8
GstGLShader * gst_gl_shader_new_link_with_stages (GstGLContext *context,GError **error,...);
Each stage will attempt to be compiled and attached to shader
. Then
the shader will be linked. On error, NULL will be returned and error
will
contain the details of the error.
Note: must be called in the GL thread
Since: 1.8
GstGLShader * gst_gl_shader_new_with_stages (GstGLContext *context,GError **error,...);
Each stage will attempt to be compiled and attached to shader
. On error,
NULL will be returned and error
will contain the details of the error.
Note: must be called in the GL thread
Since: 1.8
void
gst_gl_shader_use (GstGLShader *shader);
Mark's shader
as being used for the next GL draw command.
Note: must be called in the GL thread and shader
must have been linked.
int
gst_gl_shader_get_program_handle (GstGLShader *shader);
Since: 1.8
void
gst_gl_shader_release (GstGLShader *shader);
Releases the shader and stages.
Note: must be called in the GL thread
Since: 1.8
void
gst_gl_shader_release_unlocked (GstGLShader *shader);
Releases the shader and stages.
Note: must be called in the GL thread
Since: 1.8
gboolean gst_gl_shader_attach (GstGLShader *shader,GstGLSLStage *stage);
Attaches stage
to shader
. stage
must have been successfully compiled
with gst_glsl_stage_compile().
Note: must be called in the GL thread
Since: 1.8
gboolean gst_gl_shader_attach_unlocked (GstGLShader *shader,GstGLSLStage *stage);
Attaches stage
to shader
. stage
must have been successfully compiled
with gst_glsl_stage_compile().
Note: must be called in the GL thread
Since: 1.8
gboolean gst_gl_shader_compile_attach_stage (GstGLShader *shader,GstGLSLStage *stage,GError **error);
Compiles stage
and attaches it to shader
.
Note: must be called in the GL thread
Since: 1.8
void gst_gl_shader_detach (GstGLShader *shader,GstGLSLStage *stage);
Detaches stage
from shader
. stage
must have been successfully attached
to shader
with gst_gl_shader_attach() or gst_gl_shader_attach_unlocked().
Note: must be called in the GL thread
Since: 1.8
void gst_gl_shader_detach_unlocked (GstGLShader *shader,GstGLSLStage *stage);
Detaches stage
from shader
. stage
must have been successfully attached
to shader
with gst_gl_shader_attach() or gst_gl_shader_attach_unlocked().
Note: must be called in the GL thread
Since: 1.8
gboolean
gst_gl_shader_is_linked (GstGLShader *shader);
Note: must be called in the GL thread
Since: 1.8
gboolean gst_gl_shader_link (GstGLShader *shader,GError **error);
Links the current list of GstGLSLStage's in shader
.
Note: must be called in the GL thread
Since: 1.8
void gst_gl_shader_set_uniform_1i (GstGLShader *shader,const gchar *name,gint value);
void gst_gl_shader_set_uniform_1f (GstGLShader *shader,const gchar *name,gfloat value);
void gst_gl_shader_set_uniform_1fv (GstGLShader *shader,const gchar *name,guint count,gfloat *value);
void gst_gl_shader_set_uniform_1iv (GstGLShader *shader,const gchar *name,guint count,gint *value);
void gst_gl_shader_set_uniform_2f (GstGLShader *shader,const gchar *name,gfloat v0,gfloat v1);
void gst_gl_shader_set_uniform_2fv (GstGLShader *shader,const gchar *name,guint count,gfloat *value);
void gst_gl_shader_set_uniform_2i (GstGLShader *shader,const gchar *name,gint v0,gint v1);
void gst_gl_shader_set_uniform_2iv (GstGLShader *shader,const gchar *name,guint count,gint *value);
void gst_gl_shader_set_uniform_3f (GstGLShader *shader,const gchar *name,gfloat v0,gfloat v1,gfloat v2);
void gst_gl_shader_set_uniform_3fv (GstGLShader *shader,const gchar *name,guint count,gfloat *value);
void gst_gl_shader_set_uniform_3i (GstGLShader *shader,const gchar *name,gint v0,gint v1,gint v2);
void gst_gl_shader_set_uniform_3iv (GstGLShader *shader,const gchar *name,guint count,gint *value);
void gst_gl_shader_set_uniform_4f (GstGLShader *shader,const gchar *name,gfloat v0,gfloat v1,gfloat v2,gfloat v3);
void gst_gl_shader_set_uniform_4fv (GstGLShader *shader,const gchar *name,guint count,gfloat *value);
void gst_gl_shader_set_uniform_4i (GstGLShader *shader,const gchar *name,gint v0,gint v1,gint v2,gint v3);
void gst_gl_shader_set_uniform_4iv (GstGLShader *shader,const gchar *name,guint count,gint *value);
void gst_gl_shader_set_uniform_matrix_2fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
void gst_gl_shader_set_uniform_matrix_2x3fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
void gst_gl_shader_set_uniform_matrix_2x4fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
void gst_gl_shader_set_uniform_matrix_3fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
void gst_gl_shader_set_uniform_matrix_3x2fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
void gst_gl_shader_set_uniform_matrix_3x4fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
void gst_gl_shader_set_uniform_matrix_4fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
void gst_gl_shader_set_uniform_matrix_4x2fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
void gst_gl_shader_set_uniform_matrix_4x3fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
gint gst_gl_shader_get_attribute_location (GstGLShader *shader,const gchar *name);
void gst_gl_shader_bind_attribute_location (GstGLShader *shader,guint index,const gchar *name);