Function
Coglgraphene_matrix_project_points
Declaration [src]
void
cogl_graphene_matrix_project_points (
const graphene_matrix_t* matrix,
int n_components,
size_t stride_in,
void* points_in,
size_t stride_out,
void* points_out,
int n_points
)
Description [src]
Projects an array of input points and writes the result to another array of output points. The input points can either have 2, 3 or 4 components each. The output points always have 4 components (known as homogeneous coordinates). The output array can simply point to the input array to do the transform inplace.
Here’s an example with differing input/output strides:
typedef struct {
float x,y;
uint8_t r,g,b,a;
float s,t,p;
} MyInVertex;
typedef struct {
uint8_t r,g,b,a;
float x,y,z;
} MyOutVertex;
MyInVertex vertices[N_VERTICES];
MyOutVertex results[N_VERTICES];
graphene_matrix_t matrix;
my_load_vertices (vertices);
my_get_matrix (&matrix);
cogl_graphene_matrix_project_points (&matrix,
2,
sizeof (MyInVertex),
&vertices[0].x,
sizeof (MyOutVertex),
&results[0].x,
N_VERTICES);
Parameters
matrix

Type:
graphene_matrix_t
A projection matrix.
The data is owned by the caller of the function. n_components

Type:
int
The number of position components for each input point. (either 2, 3 or 4)
stride_in

Type:
size_t
The stride in bytes between input points.
points_in

Type:
void*
A pointer to the first component of the first input point.
The argument can be NULL
.The data is owned by the caller of the function. stride_out

Type:
size_t
The stride in bytes between output points.
points_out

Type:
void*
A pointer to the first component of the first output point.
The argument can be NULL
.The data is owned by the caller of the function. n_points

Type:
int
The number of points to transform.