| GStreamer Bad Plugins 1.0 Library Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Properties | ||||
GQuark gst_gl_shader_error_quark (void); #define GST_GL_SHADER_ERROR enum GstGLShaderError; enum GstGLShaderSourceType; struct gst_gl_shadervariable_desc; int gst_gl_shadervariable_set (GstGLShader *shader,struct gst_gl_shadervariable_desc *ret); int gst_gl_shadervariables_parse (GstGLShader *shader,char *variables,int (*_setvariable) (GstGLShader * shader, struct gst_gl_shadervariable_desc * v)); GstGLShader; GstGLShader * gst_gl_shader_new (GstGLContext *context); void gst_gl_shader_set_vertex_source (GstGLShader *shader,const gchar *src); void gst_gl_shader_set_fragment_source (GstGLShader *shader,const gchar *src); const gchar * gst_gl_shader_get_vertex_source (GstGLShader *shader); const gchar * gst_gl_shader_get_fragment_source (GstGLShader *shader); void gst_gl_shader_set_active (GstGLShader *shader,gboolean active); gboolean gst_gl_shader_is_compiled (GstGLShader *shader); gboolean gst_gl_shader_compile (GstGLShader *shader,GError **error); gboolean gst_gl_shader_compile_and_check (GstGLShader *shader,const gchar *source,GstGLShaderSourceType type); gboolean gst_gl_shader_compile_all_with_attribs_and_check (GstGLShader *shader,const gchar *v_src,const gchar *f_src,const gint n_attribs,const gchar *attrib_names[],GLint attrib_locs[]); gboolean gst_gl_shader_compile_with_default_f_and_check (GstGLShader *shader,const gchar *v_src,const gint n_attribs,const gchar *attrib_names[],GLint attrib_locs[]); gboolean gst_gl_shader_compile_with_default_v_and_check (GstGLShader *shader,const gchar *f_src,GLint *pos_loc,GLint *tex_loc); gboolean gst_gl_shader_compile_with_default_vf_and_check (GstGLShader *shader,GLint *pos_loc,GLint *tex_loc); void gst_gl_shader_release (GstGLShader *shader); void gst_gl_shader_use (GstGLShader *shader); 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);
"active" gchar* : Read / Write "compiled" gboolean : Read "fragment-src" gchar* : Read / Write "vertex-src" gchar* : Read / Write
typedef enum {
GST_GL_SHADER_ERROR_COMPILE,
GST_GL_SHADER_ERROR_LINK,
GST_GL_SHADER_ERROR_PROGRAM
} GstGLShaderError;
typedef enum {
GST_GL_SHADER_FRAGMENT_SOURCE,
GST_GL_SHADER_VERTEX_SOURCE
} GstGLShaderSourceType;
int gst_gl_shadervariable_set (GstGLShader *shader,struct gst_gl_shadervariable_desc *ret);
int gst_gl_shadervariables_parse (GstGLShader *shader,char *variables,int (*_setvariable) (GstGLShader * shader, struct gst_gl_shadervariable_desc * v));
void gst_gl_shader_set_vertex_source (GstGLShader *shader,const gchar *src);
void gst_gl_shader_set_fragment_source (GstGLShader *shader,const gchar *src);
const gchar * gst_gl_shader_get_vertex_source (GstGLShader *shader);
const gchar * gst_gl_shader_get_fragment_source (GstGLShader *shader);
gboolean gst_gl_shader_compile_and_check (GstGLShader *shader,const gchar *source,GstGLShaderSourceType type);
gboolean gst_gl_shader_compile_all_with_attribs_and_check (GstGLShader *shader,const gchar *v_src,const gchar *f_src,const gint n_attribs,const gchar *attrib_names[],GLint attrib_locs[]);
gboolean gst_gl_shader_compile_with_default_f_and_check (GstGLShader *shader,const gchar *v_src,const gint n_attribs,const gchar *attrib_names[],GLint attrib_locs[]);
gboolean gst_gl_shader_compile_with_default_v_and_check (GstGLShader *shader,const gchar *f_src,GLint *pos_loc,GLint *tex_loc);
gboolean gst_gl_shader_compile_with_default_vf_and_check (GstGLShader *shader,GLint *pos_loc,GLint *tex_loc);
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);
"compiled" property"compiled" gboolean : Read
Shader compile and link status.
Default value: FALSE
"fragment-src" property"fragment-src" gchar* : Read / Write
GLSL Fragment Shader source code.
Default value: NULL
"vertex-src" property"vertex-src" gchar* : Read / Write
GLSL Vertex Shader source code.
Default value: NULL