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.