| 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.
void
gst_gl_context_clear_shader (GstGLContext *context);
Clear's the currently set shader from the GL state machine.
Note: must be called in the GL thread.
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);
Perform glUniform1i() for name
on shader
void gst_gl_shader_set_uniform_1f (GstGLShader *shader,const gchar *name,gfloat value);
Perform glUniform1f() for name
on shader
void gst_gl_shader_set_uniform_1fv (GstGLShader *shader,const gchar *name,guint count,const gfloat *value);
Perform glUniform1fv() for name
on shader
void gst_gl_shader_set_uniform_1iv (GstGLShader *shader,const gchar *name,guint count,const gint *value);
Perform glUniform1iv() for name
on shader
void gst_gl_shader_set_uniform_2f (GstGLShader *shader,const gchar *name,gfloat v0,gfloat v1);
Perform glUniform2f() for name
on shader
void gst_gl_shader_set_uniform_2fv (GstGLShader *shader,const gchar *name,guint count,const gfloat *value);
Perform glUniform2fv() for name
on shader
void gst_gl_shader_set_uniform_2i (GstGLShader *shader,const gchar *name,gint v0,gint v1);
Perform glUniform2i() for name
on shader
void gst_gl_shader_set_uniform_2iv (GstGLShader *shader,const gchar *name,guint count,const gint *value);
Perform glUniform2iv() for name
on shader
void gst_gl_shader_set_uniform_3f (GstGLShader *shader,const gchar *name,gfloat v0,gfloat v1,gfloat v2);
Perform glUniform3f() for name
on shader
void gst_gl_shader_set_uniform_3fv (GstGLShader *shader,const gchar *name,guint count,const gfloat *value);
Perform glUniform3fv() for name
on shader
void gst_gl_shader_set_uniform_3i (GstGLShader *shader,const gchar *name,gint v0,gint v1,gint v2);
Perform glUniform3i() for name
on shader
void gst_gl_shader_set_uniform_3iv (GstGLShader *shader,const gchar *name,guint count,const gint *value);
Perform glUniform3iv() for name
on shader
void gst_gl_shader_set_uniform_4f (GstGLShader *shader,const gchar *name,gfloat v0,gfloat v1,gfloat v2,gfloat v3);
Perform glUniform4f() for name
on shader
void gst_gl_shader_set_uniform_4fv (GstGLShader *shader,const gchar *name,guint count,const gfloat *value);
Perform glUniform4fv() for name
on shader
void gst_gl_shader_set_uniform_4i (GstGLShader *shader,const gchar *name,gint v0,gint v1,gint v2,gint v3);
Perform glUniform4i() for name
on shader
void gst_gl_shader_set_uniform_4iv (GstGLShader *shader,const gchar *name,guint count,const gint *value);
Perform glUniform4iv() for name
on shader
void gst_gl_shader_set_uniform_matrix_2fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
Perform glUniformMatrix2fv() for name
on shader
void gst_gl_shader_set_uniform_matrix_2x3fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
Perform glUniformMatrix2x3fv() for name
on shader
void gst_gl_shader_set_uniform_matrix_2x4fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
Perform glUniformMatrix2x4fv() for name
on shader
void gst_gl_shader_set_uniform_matrix_3fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
Perform glUniformMatrix3fv() for name
on shader
void gst_gl_shader_set_uniform_matrix_3x2fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
Perform glUniformMatrix3x2fv() for name
on shader
void gst_gl_shader_set_uniform_matrix_3x4fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
Perform glUniformMatrix3x4fv() for name
on shader
void gst_gl_shader_set_uniform_matrix_4fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
Perform glUniformMatrix4fv() for name
on shader
void gst_gl_shader_set_uniform_matrix_4x2fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
Perform glUniformMatrix4x2fv() for name
on shader
void gst_gl_shader_set_uniform_matrix_4x3fv (GstGLShader *shader,const gchar *name,gint count,gboolean transpose,const gfloat *value);
Perform glUniformMatrix4x3fv() for name
on shader
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);
Bind attribute name
to the specified location index
using
glBindAttributeLocation().
void gst_gl_shader_bind_frag_data_location (GstGLShader *shader,guint index,const gchar *name);
Bind attribute name
to the specified location index
using
glBindFragDataLocation().
gchar * gst_gl_shader_string_fragment_get_default (GstGLContext *context,GstGLSLVersion version,GstGLSLProfile profile);
Since: 1.16
gchar * gst_gl_shader_string_fragment_external_oes_get_default (GstGLContext *context,GstGLSLVersion version,GstGLSLProfile profile);
Since: 1.16