Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
get_camera_matrix(3)		Allegro	manual		  get_camera_matrix(3)

       get_camera_matrix  - Constructs a camera	matrix for perspective projec-
       tion. Allegro game programming library.

       #include	<allegro.h>

       void get_camera_matrix(MATRIX  *m,  fixed  x,  y,  z,  xfront,  yfront,
       zfront, fixed xup, yup, zup, fov, aspect);

       Constructs  a  camera matrix for	translating world-space	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 projec-
       tions, a	field  of  view	 in  the  region  32-48	 will  work  well.  64
       (90<degree>)  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 im-
       age 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 pa-
       rameters	you passed to set_projection_viewport.

       Note that versions prior	to 4.1.0 multiplied this aspect	ratio by 4/3.

       apply_matrix(3),	   get_align_matrix(3),	   set_projection_viewport(3),

Allegro				 version 4.4.3		  get_camera_matrix(3)


Want to link to this manual page? Use this URL:

home | help