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.

RELATED TO set_projection_viewport…

persp_project(3alleg4), get_camera_matrix(3alleg4), ex3d(3alleg4), excamera(3alleg4), exquat(3alleg4), exscn3d(3alleg4), exstars(3alleg4), exzbuf(3alleg4)