Provided by: allegro5-doc_5.2.9.1+dfsg-1.1build4_all bug

NAME

       al_orthographic_transform - Allegro 5 API

SYNOPSIS

              #include <allegro5/allegro.h>

              void al_orthographic_transform(ALLEGRO_TRANSFORM *trans,
                 float left, float top, float n,
                 float right, float bottom, float f)

DESCRIPTION

       Combines  the given transformation with an orthographic transformation which maps the screen rectangle to
       the given left/top and right/bottom coordinates.

       near/far is the z range, coordinates outside of that range will  get  clipped.   Normally  -1/1  is  fine
       because   all   2D   graphics   will  have  a  z  coordinate  of  0.   However  if  you  for  example  do
       al_draw_rectangle(0, 0, 100, 100) and rotate around the x axis (“towards the screen”) make  sure  your  z
       range allows values from -100 to 100 or the rotated rectangle will get clipped.

       Also,  if you are using a depth buffer the z range decides the depth resolution.  For example if you have
       a 16 bit depth buffer there are only 65536 discrete  depth  values.   So  if  your  near/far  is  set  to
       -1000000/1000000  most  of  the z positions would not result in separate depth values which could lead to
       artifacts.

       The result of applying this transformation to coordinates will be to normalize visible  coordinates  into
       the  cube  from  -1/-1/-1  to  1/1/1.   Such  a  transformation  is  mostly  useful  for  passing  it  to
       al_use_projection_transform(3alleg5) - see that function for an example use.

SINCE

       5.1.3

SEE ALSO

       al_use_projection_transform(3alleg5), al_perspective_transform(3alleg5)