Matrix.initLookAt

Initializes a #graphene_matrix_t so that it positions the "camera" at the given @eye coordinates towards an object at the @center coordinates. The top of the camera is aligned to the direction of the @up vector.

Before the transform, the camera is assumed to be placed at the origin, looking towards the negative Z axis, with the top side of the camera facing in the direction of the Y axis and the right side in the direction of the X axis.

In theory, one could use @m to transform a model of such a camera into world-space. However, it is more common to use the inverse of @m to transform another object from world coordinates to the view coordinates of the camera. Typically you would then apply the camera projection transform to get from view to screen coordinates.

class Matrix
initLookAt

Parameters

eye Vec3

the vector describing the position to look from

center Vec3

the vector describing the position to look at

up Vec3

the vector describing the world's upward direction; usually, this is the graphene_vec3_y_axis() vector

Return Value

Type: Matrix

the initialized matrix

Meta