1get_camera_matrix(3)            Allegro manual            get_camera_matrix(3)
2
3
4

NAME

6       get_camera_matrix  - Constructs a camera matrix for perspective projec‐
7       tion. Allegro game programming library.
8

SYNOPSIS

10       #include <allegro.h>
11
12
13       void get_camera_matrix(MATRIX  *m,  fixed  x,  y,  z,  xfront,  yfront,
14       zfront, fixed xup, yup, zup, fov, aspect);
15

DESCRIPTION

17       Constructs  a  camera matrix for translating world-space objects into a
18       normalised view space, ready for the perspective projection. The x,  y,
19       and  z  parameters  specify  the  camera  position, xfront, yfront, and
20       zfront are the 'in front' vector specifying which  way  the  camera  is
21       facing  (this  can  be  any length: normalisation is not required), and
22       xup, yup, and zup are the 'up' direction vector.
23
24       The fov parameter specifies the field of view (ie. width of the  camera
25       focus) in binary, 256 degrees to the circle format. For typical projec‐
26       tions, a field of view in the region 32-48 will  work  well.  64  (90°)
27       applies no extra scaling - so something which is one unit away from the
28       viewer will be directly scaled to the viewport. A bigger FOV moves  you
29       closer to the viewing plane, so more objects will appear. A smaller FOV
30       moves you away from the viewing plane, which means you  see  a  smaller
31       part of the world.
32
33       Finally,  the  aspect  ratio  is  used to scale the Y dimensions of the
34       image relative to the X axis, so you can use it to adjust  the  propor‐
35       tions  of  the  output  image (set it to 1 for no scaling - but keep in
36       mind that the projection also performs scaling according to  the  view‐
37       port  size).  Typically, you will pass (float)w/(float)h, where w and h
38       are the parameters you passed to set_projection_viewport.
39
40       Note that versions prior to 4.1.0 multiplied this aspect ratio by 4/3.
41
42

SEE ALSO

44       apply_matrix(3),    get_align_matrix(3),    set_projection_viewport(3),
45       persp_project(3)
46
47
48
49Allegro                          version 4.4.3            get_camera_matrix(3)
Impressum