

 
Manual Reference Pages  GET_CAMERA_MATRIX (3)
NAME
get_camera_matrix  Constructs a camera matrix for perspective projection. Allegro game programming library.
CONTENTS
Synopsis
Description
See Also
SYNOPSIS
#include <allegro.h>
void get_camera_matrix(MATRIX *m, fixed x, y, z, xfront, yfront, zfront,
fixed xup, yup, zup, fov, aspect);
DESCRIPTION
Constructs a camera matrix for translating worldspace objects into a
normalised view space, ready for the perspective projection. The x, y,
and z parameters specify the camera position, xfront, yfront, and zfront
are the ’in front’ vector specifying which way the camera is facing
(this can be any length: normalisation is not required), and xup, yup,
and zup are the ’up’ direction vector.
The fov parameter specifies the field of view (ie. width of the camera
focus) in binary, 256 degrees to the circle format. For typical
projections, a field of view in the region 3248 will work well. 64
(90�) applies no extra scaling  so something which is one unit away
from the viewer will be directly scaled to the viewport. A bigger FOV
moves you closer to the viewing plane, so more objects will appear. A
smaller FOV moves you away from the viewing plane, which means you see a
smaller part of the world.
Finally, the aspect ratio is used to scale the Y dimensions of the image
relative to the X axis, so you can use it to adjust the proportions of
the output image (set it to 1 for no scaling  but keep in mind that the
projection also performs scaling according to the viewport size).
Typically, you will pass (float)w/(float)h, where w and h are the
parameters you passed to set_projection_viewport.
Note that versions prior to 4.1.0 multiplied this aspect ratio by 4/3.
SEE ALSO
apply_matrix(3),
get_align_matrix(3),
set_projection_viewport(3),
persp_project(3)
Allegro  GET_CAMERA_MATRIX (3)  version 4.4.2 
Visit the GSP FreeBSD Man Page Interface. Output converted with manServer 1.07. 