Function

Cogl-18Coglgraphene_matrix_transform_points

  • Transforms an array of input points and writes the result to another array of output points. The input points can either have 2 or 3 components each. The output points always have 3 components. The output array can simply point to the input array to do the transform in-place.

    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_transform_points (&matrix,
    2,
    sizeof (MyInVertex),
    &vertices[0].x,
    sizeof (MyOutVertex),
    &results[0].x,
    N_VERTICES);

    Parameters

    • matrix: Graphene.Matrix

      A transformation matrix

    • n_components: number

      The number of position components for each input point. (either 2 or 3)

    • stride_in: number | bigint

      The stride in bytes between input points.

    • points_in: any

      A pointer to the first component of the first input point.

    • stride_out: number | bigint

      The stride in bytes between output points.

    • points_out: any

      A pointer to the first component of the first output point.

    • n_points: number

      The number of points to transform.

    Returns void