Provided by: libvolpack1-dev_1.0b3-9.1_amd64 bug

NAME

       vpWindow - multiply the projection matrix by a perspective or orthographic matrix

SYNOPSIS

       #include <volpack.h>

       vpResult
       vpWindow(vpc, type, left, right, bottom, top, near, far)
           vpContext *vpc;
           int type;
           double left, right;
           double bottom, top;
           double near, far;

ARGUMENTS

       vpc    VolPack context from vpCreateContext.

       type   Projection type code.  Currently, must be VP_PARALLEL.

       left   Coordinate of the left vertical clipping plane.

       right  Coordinate of the right vertical clipping plane.

       bottom Coordinate of the bottom horizontal clipping plane.

       top    Coordinate of the top horizontal clipping plane.

       near   Coordinate of the near depth clipping plane.

       far    Coordinate of the far depth clipping plane.

DESCRIPTION

       vpWindow  is  used  to multiply the current projection matrix by a perspective or orthographic projection
       matrix.  The new projection matrix is defined by the coordinates  of  six  clipping  planes  in  the  eye
       coordinate  system (see vpCurrentMatrix(3)).  The matrix maps the points (left, bottom, near) and (right,
       top, near) to the lower left and upper right corners of the clipping window.  For an alternative means of
       specifying the projection matrix, see vpWindowPHIGS(3).

       Currently,  only  orthographic  projections  are  supported.   Perspective projections will be added in a
       future release.

       The matrix for parallel projections is:   A   0   0   D
         0   B   0   E
         0   0   C   F
         0   0   0   1

       A = 2 / (right - left)
       B = 2 / (top - bottom)
       C = 2 / (far - near)
       D = (left + right) / (left - right)
       E = (bottom + top) / (bottom - top)
       F = (near + far) / (near - far) The matrix  is  multiplied  into  the  projection  matrix,  even  if  the
       projection  matrix is not the current matrix.    By default, the matrix is post-multiplied (N = N*m where
       N is the current matrix and m is the argument to vpMultMatrix).  The VP_CONCAT_MODE option to vpSeti  can
       be  used  to select pre-multiplication.  The default window is a parallel projection with left = bottom =
       near = -0.5, and right = top = far = 0.5.

STATE VARIABLES

       The current matrix concatenation parameters can be retrieved with the following state variable codes (see
       vpGeti(3)): VP_CONCAT_MODE.

ERRORS

       The normal return value is VP_OK.  The following error return values are possible:

       VPERROR_BAD_VALUE
              The clipping plane coordinates are invalid (left >= right, etc.).

       VPERROR_BAD_OPTION
              The type argument is invalid.

SEE ALSO

       VolPack(3), vpCreateContext(3), vpCurrentMatrix(3), vpWindowPHIGS(3)