init_look_at


Description:

[ Version ( since = "1.0" ) ]
public unowned Matrix? init_look_at (Vec3 eye, Vec3 center, Vec3 up)

Initializes a Matrix 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 this to transform a model of such a camera into world-space. However, it is more common to use the inverse of this 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.

Parameters:

this

a Matrix

eye

the vector describing the position to look from

center

the vector describing the position to look at

up

the vector describing the world's upward direction; usually, this is the y_axis vector

Returns:

the initialized matrix