Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

get_camera_matrix(3alleg4) [v7 man page]

get_camera_matrix(3alleg4)					  Allegro manual					get_camera_matrix(3alleg4)

NAME
get_camera_matrix - Constructs a camera matrix for perspective projection. Allegro game programming library. 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 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 pro- jections, a field of view in the region 32-48 will work well. 64 (90(de) 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 propor- tions of the output image (set it to 1 for no scaling - but keep in mind that the projection also performs scaling according to the view- port 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(3alleg4), get_align_matrix(3alleg4), set_projection_viewport(3alleg4), persp_project(3alleg4) Allegro version 4.4.2 get_camera_matrix(3alleg4)

Check Out this Related Man Page

set_projection_viewport(3alleg4)				  Allegro manual				  set_projection_viewport(3alleg4)

NAME
set_projection_viewport - Sets the viewport used to scale the output of persp_project(). Allegro game programming library. SYNOPSIS
#include <allegro.h> void set_projection_viewport(int x, int y, int w, int h); DESCRIPTION
Sets the viewport used to scale the output of the persp_project() function. Pass the dimensions of the screen area you want to draw onto, which will typically be 0, 0, SCREEN_W, and SCREEN_H. Also don't forget to pass an appropriate aspect ratio to get_camera_matrix later. The width and height you specify here will determine how big your viewport is in 3d space. So if an object in your 3D space is w units wide, it will fill the complete screen when you run into it (i.e., if it has a distance of 1.0 after the camera matrix was applied. The fov and aspect-ratio parameters to get_camera_matrix also apply some scaling though, so this isn't always completely true). If you pass -1/-1/2/2 as parameters, no extra scaling will be performed by the projection. SEE ALSO
persp_project(3alleg4), get_camera_matrix(3alleg4), ex3d(3alleg4), excamera(3alleg4), exquat(3alleg4), exscn3d(3alleg4), exstars(3alleg4), exzbuf(3alleg4) Allegro version 4.4.2 set_projection_viewport(3alleg4)
Man Page