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:

A00D

0B0E

00CF

0001

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.).