Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
vpWindow(3)		   Library Functions Manual		   vpWindow(3)

NAME
       vpWindow	 -  multiply  the projection matrix by a perspective or	ortho-
       graphic 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  per-
       spective	 or orthographic projection matrix.  The new projection	matrix
       is defined by the coordinates of	six clipping planes in the eye coordi-
       nate  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 pro-
       jection matrix, even if the projection matrix is	not  the  current  ma-
       trix.	 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_CON-
       CAT_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)

VolPack								   vpWindow(3)

NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | STATE VARIABLES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=volpack-Window&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help