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

  
 
  

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

NAME
     vpCurrentMatrix - choose the current transformation matrix

SYNOPSIS
     #include <volpack.h>

     vpResult
     vpCurrentMatrix(vpc, option)
	 vpContext *vpc;
	 int option;

ARGUMENTS
     vpc    VolPack context from vpCreateContext.

     option A  code  specifying  one  of  the  VolPack	transformation	matrices
	    (VP_MODEL, VP_VIEW or VP_PROJECT).

DESCRIPTION
     vpCurrentMatrix is used to choose the current transformation  matrix.   The
     option parameter must be one of the following:

	 VP_MODEL	modeling transformation
	 VP_VIEW	viewing transformation
	 VP_PROJECT	projection transformation

     Subsequent  calls to the matrix transformation functions (vpIdentityMatrix,
     vpTranslate, vpRotate, vpScale, vpMultMatrix and vpSetMatrix)  are  applied
     to the new current transformation matrix.

     Typically	the  modeling transformation is used to specify a transformation
     from object coordinates to world coordinates.  In	object	coordinates  the
     volume  data  is located inside a unit cube centered at the origin (corners
     at (-0.5, -0.5, -0.5) and (0.5, 0.5, 0.5)).  The default modeling transfor-
     mation is the identity, so the volume is initially located inside the  unit
     cube  in  world  coordinates.   By default, the current matrix is VP_MODEL.
     The modeling transformation is also applied to light direction vectors (see
     vpSetLight(3)).

     The viewing transformation is used for transforming world coordinates  into
     eye  coordinates.	In eye coordinates the viewer is looking down the Z axis
     in the negative direction.  The default value of the  matrix  is  also  the
     identity,	so the viewer is looking down the Z axis in world coordinates as
     well.  Typically this transformation matrix is used to specify the location
     and direction of the viewer.  It is also possible to combine  the	modeling
     and  viewing  matrices  (as in the OpenGL viewing model), in which case you
     can store the composite transformation in either the model or the view  ma-
     trix set the other matrix to the identity.

     The projection transformation specifies the transformation from eye coordi-
     nates  to clip coordinates.  In the clip coordinate system the entire view-
     ing frustum lies inside a cube defined by the planes X=1, X=-1, Y=1,  Y=-1,
     Z=1  and  Z=-1.   This transformation also specifies the type of projection
     used to produce a 2D image.  The 2D image is computed by  projecting  along
     the  Z  axis  in the clip coordinate system and then scaling in the X and Y
     dimensions to the final image size.  The routines	vpWindow  and  vpWindow-
     PHIGS are useful for computing projection transformations.

STATE VARIABLES
     The  current transformation matrix code can be retrieved with the following
     state variable codes (see vpGeti(3)): VP_CURRENT_MATRIX.

ERRORS
     The normal return value is VP_OK.	The following error return value is pos-
     sible:

     VPERROR_BAD_OPTION
	    The option argument is invalid.

SEE ALSO
     VolPack(3), vpCreateContext(3), vpGetMatrix(3)

VolPack 						      vpCurrentMatrix(3)

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

home | help