The View Mapping (Projection) Transformation provided by a
utility function in the GKS-3D standard takes View Reference Coordinates
to Normalized Projection Coordinates (NPC3), and the projection may be
either parallel or perspective (see
).
The default View Mapping Transformation sets the identity matrix.
The transformation maps the View Volume in VRC3 space to a rectangular parallelepiped in Normalized Projection Coordinates. The horizontal and vertical boundaries of the View Volume are specified by the projectors drawn from the Projection Reference Point (the centre of projection) to the corners of the View Window, which is a rectangle parallel to the View Reference Plane, and with edges parallel to the U and V axes. The View Window cuts the N axis of the VRC3 system at the View Plane Distance (VPD) from the View Reference Point. The hither (front) and yon (back) boundaries of the View volume are specified by the Front Plane and the Back Plane, which are planes parallel to the View Reference Plane at distances from the View Reference Point called the Front Plane Distance (FPD) and the Back Plane Distance (BPD).
The rectangular parallelepiped in NPC3 to which the View Volume is mapped, called the Projection Viewport Limits, is specified by the two points (XMIN, YMIN, ZMIN) and (XMAX, YMAX, ZMAX). Although the View Mapping operation maps a volume to a volume, which is slightly different from the usual idea of projection onto a plane, a little thought should (hopefully) convince the reader that the effect is equivalent. Consider looking at the result along the N axis; the effect is that the contents of a truncated pyramid are distorted to map into a rectangular volume, and thus objects closer to the viewer will be magnified.
For parallel projection, the projectors are parallel to a line drawn from the Projection Reference Point to the centre of the View Window, and thus the PRP should be set in the middle of the View Window to produce an orthographic projection. In this case the actual Z value of the PRP is unimportant, so long as it is not identical to the View Plane Distance.
The View Clip takes place at the edges of the View Clipping Limits according to the setting of the clipping indicators. There are three of these: the x-y clipping indicator, the front clipping indicator, and the back clipping indicator. The default clipping limits are set to [0,1]x[0,1]x[0,1] and all clipping indicators set to clip on ('GCLIP'). It would normally be the case that the View Clipping Limits and the Projection Viewport Limits were set to the same values, but this is not a requirement. If not set to be co-incident, there is clearly the possibility for an application to clip away all of the image by mistake!
The GKS-3D Projection System. The figure shows the definition of the View Volume with Perspective Projection.