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.

Stability:Unstable
Available since:2.0

Parameters

uniform_location int
 

The uniform’s location identifier.

dimensions int
 

The size of the matrix.

count int
 

The number of values to set.

transpose gboolean
 

Whether to transpose the matrix.

value const float*
 

Pointer to the new values to set.

 The data is owned by the caller of the function.