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

  
 
  

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

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  clip-
     ping window.  For an alternative means of specifying the projection matrix,
     see vpWindowPHIGS(3).

     Currently,  only  orthographic projections are supported.	Perspective pro-
     jections 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-multi-
     plied  (N	= N*m where N is the current matrix and m is the argument to vp-
     MultMatrix).  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  fol-
     lowing 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)

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

home | help