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:
intThe uniform’s location identifier.
dimensions-
Type:
intThe size of the matrix.
count-
Type:
intThe number of values to set.
transpose-
Type:
gbooleanWhether 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.