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

FreeBSD Manual Pages

  
 
  

home | help
al_build_..._transform(3)  Library Functions Manual  al_build_..._transform(3)

NAME
       al_build_camera_transform - Allegro 5 API

SYNOPSIS
	      #include <allegro5/allegro.h>

	      void al_build_camera_transform(ALLEGRO_TRANSFORM *trans,
		 float position_x, float position_y, float position_z,
		 float look_x, float look_y, float look_z,
		 float up_x, float up_y, float up_z)

DESCRIPTION
       Builds  a  transformation which can be used to transform	3D coordinates
       in world	space to camera	space.	This involves translation and a	 rota-
       tion.  The function expects three coordinate triplets: The camera's po-
       sition, the position the	camera is looking at and an up vector.	The up
       vector  does not	need to	be of unit length and also does	not need to be
       perpendicular to	the view direction - it	can usually just be the	 world
       up direction (most commonly 0/1/0).

       For example:

	      al_build_camera_transform(&t,
		  1, 1,	1,
		  5, 5,	5,
		  0, 1,	0);

       This create a transformation for	a camera standing at 1/1/1 and looking
       towards 5/5/5.

	      Note:  If	 the position and look parameters are identical, or if
	      the up direction is parallel to the view direction, an  identity
	      matrix is	created.

       Another example which will simply re-create the identity	matrix:

	      al_build_camera_transform(&t,
		  0, 0,	0,
		  0, 0,	-1,
		  0, 1,	0);

       An  example where the up	vector will cause the camera to	lean (roll) by
       45 degrees:

	      al_build_camera_transform(&t,
		  1, 1,	1,
		  5, 5,	5,
		  1, 1,	0);

       Since 5.1.9

SEE ALSO
       al_translate_transform_3d(3),		    al_rotate_transform_3d(3),
       al_scale_transform_3d(3), al_compose_transform(3), al_use_transform(3)

Allegro	reference manual			     al_build_..._transform(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=al_build_camera_transform&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help