Having described the concepts, this section will attempt to explain how all these parameters are actually set. This is an area of the GKS-3D standard which was modified fairly late, and release 2.0 of GKSGRAL-3D still took place before the publication of the Draft International Standard for the FORTRAN binding [7].
As for the Normalization Transformation, there may be more than one Viewing Transformation (actually, combined Viewing and Projection Transformation plus Clip), and the different transformations are specified by a View Index. However, unlike the Normalization Transformation, which applies to all primitives no matter on which workstation they are displayed, the Viewing Transformation is workstation-dependent, and so the same VieW Index (VWI) may produce a different effect on each active display. The View Index is set using the routine:
CALL GSVWI(VWI)Following this call all primitives will be transformed according to the parameters specified by viewing attribute bundle VWI, assuming that the deferral mode set has allowed the workstation to be brought up-to-date. The default viewing attributes, corresponding to VWI = 0, define identity matrices for the View Orientation and View Mapping transformations, and place the clip limits at the boundary of NPC3 space.
As indicated, the attribute values contained in the viewing attribute bundle specified by VWI must be defined separately for each workstation using the call:
CALL GSVWR(WKID, VWI, VWM, PRM, VCLP, CLW, CLB, CLF)
The utility functions provided to evaluate the matrices are EValuate VieW orientation Matrix and EValuate ProJection (View Mapping) Matrix:
CALL GEVVWM(VRPX, VRPY, VRPZ, VUPX, VUPY, VUPZ,
VPNX, VPNY, VPNZ, CSW, ERR, VWM)
CALL GEVPJM(UMIN, UMAX, VMIN, VMAX, PRVP, PROTYP,
PRPU, PRPV, PRPN, VPD, BPD, FPD, ERR, PRM)