![]() |
![]() |
![]() |
GStreamer Bad Plugins 1.0 Library Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties |
GstGLShader; GstGLShader * gst_gl_shader_new (GstGLContext *context
); GstGLShader * gst_gl_shader_new_default (GstGLContext *context
,GError **error
); GstGLShader * gst_gl_shader_new_link_with_stages (GstGLContext *context
,GError **error
,...
); GstGLShader * gst_gl_shader_new_with_stages (GstGLContext *context
,GError **error
,...
); void gst_gl_shader_use (GstGLShader *shader
); int gst_gl_shader_get_program_handle (GstGLShader *shader
); void gst_gl_shader_release (GstGLShader *shader
); void gst_gl_shader_release_unlocked (GstGLShader *shader
); gboolean gst_gl_shader_attach (GstGLShader *shader
,GstGLSLStage *stage
); gboolean gst_gl_shader_attach_unlocked (GstGLShader *shader
,GstGLSLStage *stage
); gboolean gst_gl_shader_compile_attach_stage (GstGLShader *shader
,GstGLSLStage *stage
,GError **error
); void gst_gl_shader_detach (GstGLShader *shader
,GstGLSLStage *stage
); void gst_gl_shader_detach_unlocked (GstGLShader *shader
,GstGLSLStage *stage
); gboolean gst_gl_shader_is_linked (GstGLShader *shader
); gboolean gst_gl_shader_link (GstGLShader *shader
,GError **error
); 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
);
GstGLShader * gst_gl_shader_new (GstGLContext *context
);
Note: must be called in the GL thread
|
a GstGLContext |
Returns : |
a new empty shader . [transfer full]
|
GstGLShader * gst_gl_shader_new_default (GstGLContext *context
,GError **error
);
Note: must be called in the GL thread
|
a GstGLContext |
|
a GError that is filled on failure |
Returns : |
a default shader or NULL on failure. [transfer full]
|
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
|
a GstGLContext |
|
a GError |
|
a NULL terminated list of GstGLSLStage's |
Returns : |
a new shader with the specified stages. [transfer full]
|
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
|
a GstGLContext |
|
a GError |
|
a NULL terminated list of GstGLSLStage's |
Returns : |
a new shader with the specified stages. [transfer full]
|
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.
|
a GstGLShader |
int gst_gl_shader_get_program_handle (GstGLShader *shader
);
|
a GstGLShader |
Returns : |
the GL program handle for this shader |
Since 1.8
void gst_gl_shader_release (GstGLShader *shader
);
Releases the shader and stages.
Note: must be called in the GL thread
|
a GstGLShader |
Since 1.8
void gst_gl_shader_release_unlocked (GstGLShader *shader
);
Releases the shader and stages.
Note: must be called in the GL thread
|
a GstGLShader |
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
|
a GstGLShader |
|
a GstGLSLStage to attach |
Returns : |
whether stage could be attached to shader
|
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
|
a GstGLShader |
|
a GstGLSLStage to attach |
Returns : |
whether stage could be attached to shader
|
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
|
a GstGLShader |
|
a GstGLSLStage to attach |
|
a GError |
Returns : |
whether stage could be compiled and attached to shader
|
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
|
a GstGLShader |
|
a GstGLSLStage to attach |
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
|
a GstGLShader |
|
a GstGLSLStage to attach |
Since 1.8
gboolean gst_gl_shader_is_linked (GstGLShader *shader
);
Note: must be called in the GL thread
|
a GstGLShader |
Returns : |
whether shader has been successfully linked |
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
|
a GstGLShader |
|
a GError |
Returns : |
whether shader could be linked together. |
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
);