Method

CoglPipelineset_uniform_matrix

Declaration [src]

void
cogl_pipeline_set_uniform_matrix (
  CoglPipeline* pipeline,
  int uniform_location,
  int dimensions,
  int count,
  gboolean transpose,
  const float* value
)

Description [src]

Sets new values for the uniform at uniform_location. If this pipeline has a user program attached and is later used as a source for drawing, the given values will be assigned to the uniform which can be accessed from the shader’s source. The value for uniform_location should be retrieved from the string name of the uniform by calling cogl_pipeline_get_uniform_location().

This function can be used to set any matrix type uniform, including matrix arrays. For example, to set a single mat4 uniform you would use 4 for dimensions and 1 for count. To set an array of 8 mat3 values, you could use 3 for dimensions and 8 for count.

If transpose is FALSE then the matrix is expected to be in column-major order or if it is TRUE then the matrix is in row-major order. You can pass a #graphene_matrix_t by calling by passing the result of graphene_matrix_to_float() in value and setting transpose to FALSE.

Parameters

uniform_location

Type: int

The uniform’s location identifier.

dimensions

Type: int

The size of the matrix.

count

Type: int

The number of values to set.

transpose

Type: gboolean

Whether to transpose the matrix.

value

Type: const float*

Pointer to the new values to set.

The data is owned by the caller of the method.