GsScaleScreenScales the screen coordinate system | |||
Arguments
Return ValueNone.ExplanationThe screen coordinate system is scaled relative to the world coordinate system by an amount specified in the vector pointed to by scale.Each element of scale is a 12-bit integer. Scaling is performed relative to the original screen coordinate system set by GsSetView2() and GsSetRefView2(). If each element of scale is set to the value ONE, the screen coordinate system is reset to its original values. Note that ONE is defined to be the value 4096. World coordinates are represented in 32 bits, whereas screen coordinates are represented in 16 bits. The different representations would normally cause problems such as Far Clip proximity. GsScaleScreen() eliminates these problems by scaling the screen coordinate system within the wider area of the world coordinate system. For example, if the elements of scale are each set to ONE/2, the screen coordinate system will be expanded to the equivalent of 17 bits after scaling. Since the precision of screen coordinate values is only 16 bits, the low-order bit will be ignored. Note that when scaling is performed, objects that exist in screen coordinate systems having different scaling factors cannot be entered in the same ordering table. For example, in order to enter an object that was calculated with the normal scale screen coordinate system in an ordering table which already contains an object with a 1/2 scale screen coordinate system, it is necessary to right-shift the excess bit before entering the object in the ordering table. This can be done by specifying the shift amount when calling GsSortObject4(). See AlsoSVECTOR |