GPHIGS 3.0 New Features
In order to provide more powerful functionality and to remove limitations of the PHIGS standard, GPHIGS implements extension functions. The documentation of these functions is separate from the ISO-defined functions and their name begin always by px. This allows one to write pure PHIGS applications if necessary and to isolate GPHIGS-dependent features easily.
Post on View
Menu-driven applications often need to dissociate the graphic area from menus. This can be done with PHIGS by defining several views. However, PHIGS does not define view border, background or stacking order. Also PHIGS views are defined by means of view representations and view index. This implies a full regeneration of the display when a view representation is modified even if this view is used only in one structure network. POST ON VIEW facilities removes these limitations. Extended view attributes can be defined and structures can be posted directly on views instead of on workstation. View stacking order can be modified. Views can be updated individually without refreshing the whole display.
Target and Z-Buffer Control
The PHIGS standard does not deal with double buffering. Since its first version, GPHIGS allows an application to run in double-buffer mode. In GPHIGS V3.0, GPHIGS includes new functions to control the buffer in which drawing occurs (called the rendering target) and the displayed buffer (called display target). It's also possible to swap targets, to copy the content of one target into another one, and to clear targets individually. Hidden line and Hidden surface removal are often realised by a Z-BUFFER. PHIGS defines a SET HLHSR MODE but does not define the CLEAR Z-BUFFER functionality. GPHIGS V3.0 implements this feature.
The PHIGS standard defines highlighting but does not define the method to highlight. GPHIGS V3.0 highlights objects by changing their colour. The highlighting colour can be modified as a normal structure element allowing one to highlight each object with a different colour.
Some high level hardware allows one to reduce the line jagging or aliasing introduced by point sampling on screens. GPHIGS V3.0 can control the anti-aliasing of individual primitives.
GPHIGS includes a new function which redefines the shape of a software polymarker.
It's sometimes convenient to keep the context of a child structure for the mother structure. That is: do not push and pop the traversal state list when executing a structure. For example, a structure can define several attributes common to many others. Each of them can include this structure to set the common attributes before its elements. Include structure is often faster than execute structure because traversal state list contains many elements and so takes time to copy.
Copy Element Range
PHIGS defines the function COPY ALL ELEMENT FROM STRUCTURE but does not define any function to copy a list of element. GPHIGS V3.0 includes this functionality.
GPHIGS allows an application to set configuration parameters in an external file parsed during the OPEN PHIGS function. GPHIGS V3.0 contains a function which allows an application to set these configuration parameters after opening PHIGS.