Basic Graphics Packages: GKS, HIGZ and PHIGS
Present Situation
This is a summary of the present situation on basic graphics facilities.
-
GKS was frozen in 1992 and no further driver has been installed. The
interest from users in this package has dropped nearly completely. One
can note that the package is still available on VM and VMS, but no
X driver is available and no request for installation has been received
since 1993.
-
Existing applications requiring an X driver (for display on a
workstation or an X-terminal) should use HIGZ, whenever it is possible.
It is realised that some applications could exceptionally require the
full functionality of GKS and X-Window. The developers of these packages
have been invited to contact us (graphics.support@cern.ch) in order to
seek alternative solutions.
-
New high-level 3D applications should be based on PHIGS.
We advise application programmers to use
HIGZ
for relatively simple 2D
applications, or
PHIGS
for 3D highly-interactive applications
requiring hierarchical data structures.
WHICH GRAPHICS PACKAGE?
Users at CERN have now a relatively large choice of graphics
facilities, and we want here to indicate some basic guidelines for the
user who has to decide which one is most suitable for his needs. Apart
from the interactive applications (e.g.
PAW, which, although having
physics data analysis as its main goal, can be also a tool for a
casual user wishing to produce graphs quickly) the user has access on
most platforms to the two main graphics libraries:
-
HIGZ ("High level Interface to Graphics and ZEBRA" - see section 4.1.3.)
-
GPHIGS (CERN-supported implementation of PHIGS, the "Programmer's
Hierarchical Interactive Graphics System" - see section 4.1.4.)
Which one should you use?
For the production of simple drawings (like an X/Y plot):
Use PAW, or one of the numerous graphical tools available on Macintosh
and PC. Note that PAW offers a lot of capabilities relating to data
analysis, but it is also a powerful tool that is simple to use for the
production of any kind of graph, and it is available on virtually all
platforms at CERN.
For the implementation of your own graphical application:
-
If the application is 2D, does not require segmentation, must be
portable: use HIGZ.
-
If the application is simple 3D, must be portable: use HIGZ.
-
If the application is high-level 3D, must be portable: use PHIGS.
-
If the application is 2D, does require segmentation, if it is at the
moment GKS-based, but it must now run under X-Window (for display on a
workstation or an X-terminal) or on a new platform where GKS does not
exists: this is a very specific case for which you are invited to
contact us (graphics.support@cern.ch).
HIGZ
HIGZ is an interface package between a user program and an underlying
standard graphics package. These "standard graphics packages" or
libraries (like GKS or X-Window):
-
do not provide the high level functions (axes, graphs, histogram,
surface and lego plots, logarithmic scales, etc.) necessary for a data
presentation system, and,
-
always have differences (sometimes minor) in the actual implementations
on different computers.
The main motivation of HIGZ is to solve these two main problems,
offering exactly the same user interface on different platforms.
HIGZ offers a high level user interface to the graphics package,
keeping the program independent of it. The level of HIGZ has been
deliberately chosen to be close to GKS or PHIGS and as basic as
possible.
HIGZ is part of the CERN Program Library, hence is freely available to
all those having access to it.
The main advantages of HIGZ may be summarised as follows:
- Simple to use (the user needs to know less than 20 routines).
- The calling sequences of the basic routines are very simple.
- Some graphics macro-primitives are implemented, providing very
frequently used functions such as histograms, full graphs, circles, bars
and pie charts, surfaces and lego plots, axes, etc.
- Permits the storage of graphics data in a way which makes their
organization and subsequent editing possible and easy. The picture data
base is highly condensed and fully transportable, based on direct
access files. A picture management facility is available for picture
creation, merging, archiving, editing, etc.
-
The package is fully portable: HIGZ is available on all UNIX machines
(workstations), IBM/VM, VAX/VMS and a reduced version (without picture
handling) is also available on PCs.
-
The following interfaces are available: GPR (APOLLO), GL (SGI), GDDM
(IBM), DI3000, PHIGS, all flavours of GKS, X11 (all dialects) (Standard,
DecWindow, Openwindow), PostScript, and Falco terminals.
-
Simple 3D routines are now being implemented.
A comprehensive User's manual is available.
The basic limitations in using HIGZ to support GKS-based programs are
as follows:
-
Bundled attributes do not exist.
-
Minor differences in the ``Normalization and Workstation
Transformation'' management.
-
Segmentation is not available (and this is the main limitation of HIGZ
as a GKS-interface).
-
The 3D implementation is completely different from GKS.
PHIGS (GPHIGS)
The Programmer's Hierarchical Interactive Graphics System (PHIGS) is a
3D graphics standard which was developed within ISO in parallel to
GKS-3D. It was accepted as a full International Standard in 1988. A
great deal of PHIGS is identical to GKS-3D, including the primitives,
the attributes, the workstation concept, and the viewing and input
models. However, PHIGS has a single Central Structure Store (CSS),
unlike the separate Workstation Dependent and Workstation Independent
Segment Storage (WDSS and WISS) of GKS. The CSS contains Structures
which can be configured into a hierarchical directed-graph database,
and within the structures themselves are stored the graphics
primitives, attributes, and so forth. PHIGS is aimed particularly at
highly interactive applications with complicated hierarchical data
structures, for example: Mechanical CAD, Molecular Modelling,
Simulation and Process Control.
At the end of 1991, CERN acquired an implementation of PHIGS in a
portable machine-independent version (i.e. it did not consider
hardware-dependent packages supplied by the hardware
manufacturers). The package is from the French companie G5G -
Graphisme 5eme Generation -. This specific implementation of PHIGS,
the only one officially supported at CERN, is called GPHIGS. The
package is available on the following platforms: VAX VMS, HP (HP/UX),
Silicon Graphics, IBM RISC 6000, SUN (SunOS and Solaris), DEC Station
(Ultrix), DEC ALPHA (OpenVMS and OSF/1). Both the FORTRAN and C
bindings are available. The following driver interfaces are available:
X-Window, DEC-Windows, GL, Starbase, XGL, HP GL, CGM, and
PostScript. A new version (3.1) is now available, as announced in CNL
216.
GPHIGS is freely available to the European collaborating Institutes
and available against payment of a fee to the supplier (via CERN), to
the non-European collaborating Institutes.
The conditions for obtaining a GPHIGS licence are based on the
following terms:
______________________________________________________________
| |
| EUROPEAN COLLABORATING INSTITUTES |
| |
| 1. Binary obtainable from CERN free of charge. |
| 2. Documentation payable to CERN. |
| |
| NON-EUROPEAN COLLABORATING INSTITUTES |
| |
| 1. Binary obtainable from CERN against payment of a fee to |
| the supplier via CERN |
| 2. Documentation payable to CERN. |
+--------------------------------------------------------------+
Olivier Couet, Nicole Cremel, Carlo E. Vandoni CN/ASD