Top | ![]() |
![]() |
![]() |
![]() |
ClutterShader * | clutter_shader_new () |
void | clutter_shader_set_vertex_source () |
const gchar * | clutter_shader_get_vertex_source () |
void | clutter_shader_set_fragment_source () |
const gchar * | clutter_shader_get_fragment_source () |
gboolean | clutter_shader_compile () |
void | clutter_shader_release () |
gboolean | clutter_shader_is_compiled () |
void | clutter_shader_set_is_enabled () |
gboolean | clutter_shader_get_is_enabled () |
void | clutter_shader_set_uniform () |
CoglHandle | clutter_shader_get_cogl_program () |
CoglHandle | clutter_shader_get_cogl_fragment_shader () |
CoglHandle | clutter_shader_get_cogl_vertex_shader () |
#define | CLUTTER_VALUE_HOLDS_SHADER_FLOAT() |
void | clutter_value_set_shader_float () |
const gfloat * | clutter_value_get_shader_float () |
#define | CLUTTER_VALUE_HOLDS_SHADER_INT() |
void | clutter_value_set_shader_int () |
const gint * | clutter_value_get_shader_int () |
#define | CLUTTER_VALUE_HOLDS_SHADER_MATRIX() |
void | clutter_value_set_shader_matrix () |
const gfloat * | clutter_value_get_shader_matrix () |
gboolean | compiled | Read |
gboolean | enabled | Read / Write |
gchar * | fragment-source | Read / Write |
gchar * | vertex-source | Read / Write |
ClutterShader is an object providing an abstraction over the OpenGL programmable pipeline. By using ClutterShader<!-- -->s is possible to override the drawing pipeline by using small programs also known as "shaders".
ClutterShader is available since Clutter 0.6.
ClutterShader is deprecated since Clutter 1.8; use ClutterShaderEffect in newly written code, instead.
ClutterShader *
clutter_shader_new (void
);
clutter_shader_new
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Create a new ClutterShader instance.
Since: 0.6
void clutter_shader_set_vertex_source (ClutterShader *shader
,const gchar *data
,gssize length
);
clutter_shader_set_vertex_source
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Sets the GLSL source code to be used by a ClutterShader for the vertex program.
Since: 0.6
const gchar *
clutter_shader_get_vertex_source (ClutterShader *shader
);
clutter_shader_get_vertex_source
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Query the current GLSL vertex source set on shader
.
the source of the vertex shader for this
ClutterShader object or NULL
. The returned string is owned by the
shader object and should never be modified or freed
Since: 0.6
void clutter_shader_set_fragment_source (ClutterShader *shader
,const gchar *data
,gssize length
);
clutter_shader_set_fragment_source
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Sets the GLSL source code to be used by a ClutterShader for the fragment program.
Since: 0.6
const gchar *
clutter_shader_get_fragment_source (ClutterShader *shader
);
clutter_shader_get_fragment_source
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Query the current GLSL fragment source set on shader
.
the source of the fragment shader for this
ClutterShader object or NULL
. The returned string is owned by the
shader object and should never be modified or freed
Since: 0.6
gboolean clutter_shader_compile (ClutterShader *shader
,GError **error
);
clutter_shader_compile
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Compiles and links GLSL sources set for vertex and fragment shaders for a ClutterShader. If the compilation fails and a GError return location is provided the error will contain the errors from the compiler, if any.
Since: 0.8
void
clutter_shader_release (ClutterShader *shader
);
clutter_shader_release
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Frees up any GL context resources held by the shader.
Since: 0.6
gboolean
clutter_shader_is_compiled (ClutterShader *shader
);
clutter_shader_is_compiled
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Checks whether shader
is is currently compiled, linked and bound
to the GL context.
Since: 0.8
void clutter_shader_set_is_enabled (ClutterShader *shader
,gboolean enabled
);
clutter_shader_set_is_enabled
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Enables a shader. This function will attempt to compile and link the shader, if it isn't already.
When enabled
is FALSE
the default state of the GL pipeline will be
used instead.
Since: 0.6
gboolean
clutter_shader_get_is_enabled (ClutterShader *shader
);
clutter_shader_get_is_enabled
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Checks whether shader
is enabled.
Since: 0.6
void clutter_shader_set_uniform (ClutterShader *shader
,const gchar *name
,const GValue *value
);
clutter_shader_set_uniform
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Sets a user configurable variable in the GLSL shader programs attached to a ClutterShader.
shader |
||
name |
name of uniform in GLSL shader program to set. |
|
value |
a ClutterShaderFloat, ClutterShaderInt or ClutterShaderMatrix GValue. |
Since: 1.0
CoglHandle
clutter_shader_get_cogl_program (ClutterShader *shader
);
clutter_shader_get_cogl_program
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Retrieves the underlying CoglHandle for the shader program.
A CoglHandle for the shader program,
or NULL
. The handle is owned by the ClutterShader and it should
not be unreferenced.
[transfer none]
Since: 1.0
CoglHandle
clutter_shader_get_cogl_fragment_shader
(ClutterShader *shader
);
clutter_shader_get_cogl_fragment_shader
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Retrieves the underlying CoglHandle for the fragment shader.
A CoglHandle for the fragment
shader, or NULL
. The handle is owned by the ClutterShader
and it should not be unreferenced.
[transfer none]
Since: 1.0
CoglHandle
clutter_shader_get_cogl_vertex_shader (ClutterShader *shader
);
clutter_shader_get_cogl_vertex_shader
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Retrieves the underlying CoglHandle for the vertex shader.
A CoglHandle for the vertex
shader, or NULL
. The handle is owned by the ClutterShader
and it should not be unreferenced.
[transfer none]
Since: 1.0
#define CLUTTER_VALUE_HOLDS_SHADER_FLOAT(x) (G_VALUE_HOLDS ((x), CLUTTER_TYPE_SHADER_FLOAT))
Evaluates to TRUE
if x
holds a ClutterShaderFloat.
Since: 1.0
void clutter_value_set_shader_float (GValue *value
,gint size
,const gfloat *floats
);
Sets floats
as the contents of value
. The passed GValue
must have been initialized using CLUTTER_TYPE_SHADER_FLOAT
.
value |
a GValue |
|
size |
number of floating point values in |
|
floats |
an array of floating point values. |
[array length=size] |
Since: 0.8
const gfloat * clutter_value_get_shader_float (const GValue *value
,gsize *length
);
Retrieves the list of floating point values stored inside
the passed GValue. value
must have been initialized with
CLUTTER_TYPE_SHADER_FLOAT
.
value |
a GValue |
|
length |
return location for the number of returned floating
point values, or |
[out] |
the pointer to a list of floating point values. The returned value is owned by the GValue and should never be modified or freed.
[array length=length]
Since: 0.8
#define CLUTTER_VALUE_HOLDS_SHADER_INT(x) (G_VALUE_HOLDS ((x), CLUTTER_TYPE_SHADER_INT))
Evaluates to TRUE
if x
holds a ClutterShaderInt.
Since: 1.0
void clutter_value_set_shader_int (GValue *value
,gint size
,const gint *ints
);
Sets ints
as the contents of value
. The passed GValue
must have been initialized using CLUTTER_TYPE_SHADER_INT
.
value |
a GValue |
|
size |
number of integer values in |
|
ints |
an array of integer values. |
[array length=size] |
Since: 0.8
const gint * clutter_value_get_shader_int (const GValue *value
,gsize *length
);
Retrieves the list of integer values stored inside the passed
GValue. value
must have been initialized with
CLUTTER_TYPE_SHADER_INT
.
value |
a GValue |
|
length |
return location for the number of returned integer
values, or |
[out] |
the pointer to a list of integer values. The returned value is owned by the GValue and should never be modified or freed.
[array length=length]
Since: 0.8
#define CLUTTER_VALUE_HOLDS_SHADER_MATRIX(x) (G_VALUE_HOLDS ((x), CLUTTER_TYPE_SHADER_MATRIX))
Evaluates to TRUE
if x
holds a ClutterShaderMatrix.
Since: 1.0
void clutter_value_set_shader_matrix (GValue *value
,gint size
,const gfloat *matrix
);
Sets matrix
as the contents of value
. The passed GValue
must have been initialized using CLUTTER_TYPE_SHADER_MATRIX
.
value |
a GValue |
|
size |
number of floating point values in |
|
matrix |
a matrix of floating point values. |
[array length=size] |
Since: 0.8
const gfloat * clutter_value_get_shader_matrix (const GValue *value
,gsize *length
);
Retrieves a matrix of floating point values stored inside
the passed GValue. value
must have been initialized with
CLUTTER_TYPE_SHADER_MATRIX
.
value |
a GValue |
|
length |
return location for the number of returned floating
point values, or |
[out] |
the pointer to a matrix of floating point values. The returned value is owned by the GValue and should never be modified or freed.
[array length=length][transfer none]
Since: 0.8
ClutterShaderError
has been deprecated since version 1.8 and should not be used in newly-written code.
ClutterShader error enumeration
Since: 0.6
typedef struct _ClutterShader ClutterShader;
ClutterShader
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead
The ClutterShader structure contains only private data and should be accessed using the provided API
Since: 0.6
struct ClutterShaderClass { };
ClutterShaderClass
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffectClass instead
The ClutterShaderClass structure contains only private data
Since: 0.6
“compiled”
property “compiled” gboolean
Whether the shader is compiled and linked, ready for use in the GL context.
ClutterShader:compiled
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Flags: Read
Default value: FALSE
Since: 0.8
“enabled”
property “enabled” gboolean
Whether the shader is currently used in the GL rendering pipeline.
ClutterShader:enabled
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Flags: Read / Write
Default value: FALSE
Since: 0.6
“fragment-source”
property “fragment-source” gchar *
GLSL source code for the fragment shader part of the shader program.
ClutterShader:fragment-source
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Flags: Read / Write
Default value: NULL
Since: 0.6
“vertex-source”
property “vertex-source” gchar *
GLSL source code for the vertex shader part of the shader program, if any
ClutterShader:vertex-source
has been deprecated since version 1.8 and should not be used in newly-written code.
Use ClutterShaderEffect instead.
Flags: Read / Write
Default value: NULL
Since: 0.6