Method

ClutterShaderEffectset_uniform

Declaration [src]

void
clutter_shader_effect_set_uniform (
  ClutterShaderEffect* effect,
  const gchar* name,
  GType gtype,
  gsize n_values,
  ...
)

Description [src]

Sets a list of values as the payload for the uniform name inside the shader effect

The gtype must be one of: G_TYPE_INT, for 1 or more integer values; G_TYPE_FLOAT, for 1 or more floating point values; CLUTTER_TYPE_SHADER_INT, for a pointer to an array of integer values; CLUTTER_TYPE_SHADER_FLOAT, for a pointer to an array of floating point values; and CLUTTER_TYPE_SHADER_MATRIX, for a pointer to an array of floating point values mapping a matrix

The number of values interpreted is defined by the n_value argument, and by the gtype argument. For instance, a uniform named “sampler0” and containing a single integer value is set using:

  clutter_shader_effect_set_uniform (effect, "sampler0",
                                     G_TYPE_INT, 1,
                                     0);

While a uniform named “components” and containing a 3-elements vector of floating point values (a “vec3”) can be set using:

  gfloat component_r, component_g, component_b;

  clutter_shader_effect_set_uniform (effect, "components",
                                     G_TYPE_FLOAT, 3,
                                     component_r,
                                     component_g,
                                     component_b);

or can be set using:

  gfloat component_vec[3];

  clutter_shader_effect_set_uniform (effect, "components",
                                     CLUTTER_TYPE_SHADER_FLOAT, 3,
                                     component_vec);

Finally, a uniform named “map” and containing a matrix can be set using:

  float v[16];

  cogl_matrix_to_float (&matrix, v);
  clutter_shader_effect_set_uniform (effect, "map",
                                     CLUTTER_TYPE_SHADER_MATRIX,
                                     1, v);

This method is not directly available to language bindings.

Parameters

name

Type: const gchar*

The name of the uniform to set.

The data is owned by the caller of the method.
The value is a NUL terminated UTF-8 string.
gtype

Type: GType

The type of the uniform to set.

n_values

Type: gsize

The number of values.

...

Type: 

A list of values.