for a
HEP graphics strategy
February 9, 1996
Olivier Couet
CERN Geneva, Switzerland
HEP should concentrate the efforts on specific HEP software.
The graphics software strategy has to be based on this overall strategy.
The various layer of a graphics package are (form the lowest to the highest):
Points, lines, polygons and text drawing in pixel coordinates on screen and on paper. This layer is machine dependent. It is often called ``Device driver''.
Graphics window manipulation (move, resize, request the size etc ...). X-Window is the de-facto standard on UNIX platforms.
Drawing in user coordinates independently from the final hardware output required. Possibility to create graphics objects (GKS segments, PHIGS structures etc ...) which can be manipulated interactively. This level is machine independent.
Sophisticated graphics primitives (macro primitives) are available at this level (axis, iso-contours, vector fields etc ...). This layer should provide all the graphics tools specific to a given environment. e.g: HEP needs log scales, error bars, lego plots etc... .
In HEP all levels of graphics are used, ranging from the low level 2D drawing to the high level 3D graphics:
Physics analysis and data presentation (PAW). 2D and 3D views are used depending on the kind of data set represented.
Simulate the experiments at the physics level (GEANT). Use 2D and 3D graphics. 3D graphics is mainly wireframe but some high level rendering algorithms like ``ray tracing'' or ``Gouraud shading'' are more and more used.
Gives a reconstructed view of the interactions. 2D and 3D graphics are used. 3D was mainly wireframe. It is evolving and some graphics rendering algorithms are now used. Speed is needed to rotate the 3D volumes in real time.
{\em online software}. Fast 2D graphics and deported output is required. No real need for high quality paper output.
2D and 3D views are used. Requires high quality output, often in large formats like A0.
Navigation into the accelerators and detectors. High level 3D. These are real time programs.
Mainly done with PAW. The graphics is provided by HIGZ. The X11 driver covers 99\% of the screen output needs. The paper output needs are completely covered by the PostScript driver.
The simulation is done with GEANT-3. GEANT-3 uses HIGZ 2D. The 3D transformations are done by GEANT itself. Because of the large number of volumes manipulated and the fact that GEANT needs to have the knowledge of the volumes (for tracking), GEANT doesn't use the graphics structures provided by systems like PHIGS.
This is the area where PHIGS is most widely used because it provides a standard way to create and manipulate 3D graphics structures.
X11 is often used directly. Also HIGZ and HPLOT are used (with the X11 driver). PHIGS or GKS are not used.
The graphics package used comes with the CAD system itself. Often the user doesn't know which one is used.
It runs on dedicated hardware (mainly SGI). The graphics system used are special VR systems on top of GL or OpenGL.
The first graphics (ISO) standard used in HEP was the Graphical Kernel System: GKS. Below are listed the main advantages (+) and the disadvantages (-) of this system:
+ It is an (ISO) standard.
+ It produce true PostScript output.
+ Simple to use.
+ A lot of drivers (Tektronix, Falco, Megatek etc ...).
- Only 2D. GKS 3D has immediately been superseded by PHIGS.
- X11 driver was not well supported (in the GTSGRAL version).
- No scientific macro primitives.
CERN has licensed GKS/GTSGRAL in January 1987.
No new application uses GKS.
The CERNLIB and PHIGS environments are described in the following figure:
GPHIGS is the PHIGS implementation of G5G/TGS. This is the main implementation machine-independent now available on the market.
Not all the HEP experiments use GPHIGS (CMS uses HP native PHIGS).
+ Tuned for HEP: Macro primitives, axis log scale, errors bars etc ...
+ True PS output.
+ Simple to use.
+ X11 driver supported.
- No real 3D (2D 1/2).
- Low number of drivers supported, but interfaces to GKS and PHIGS. In all cases it is not really a problem because X11 and PostScript drivers cover 99\% of the actual need.
+ ISO standard.
+ Graphics structure are supported
+ A lot of drivers.
+ True PS output.
+ Full 3D.
+ X11 driver supported.
- Complex to use specially PHIGS+
- No scientific macro primitives. G5G has developed PHIGURE.
CERN has licensed GPHIGS in June 1991.
Now graphics in the industry is more and more driven by domains like movies, games, design etc .. where the quality and the realism of the pictures produced is essential. OpenGL answer these requirements.
Open-Inventor environment is described in the following figure:
Note that OpenGL doesn't provide windows management facilities like X11, SGI/GL, Apollo/GPR etc .. .
The native window manager has to be use to manipulate windows (move, resize, request the size etc ...).
The OpenGL task is ``only'' to produce graphics.
+ Emerging de facto industry standards.
+ OpenGL manages the screen output only: uses the native window manager.
+ OpenGL is bundled with NT.
+ VRML: Virtual Reality modeling Language (``3D HTML'') is very close to OpenGL.
- No true PostScript output in Open Inventor. G5G/TGS is developing one. It will be available in April 1996.
- No scientific macro primitives. But likely to come.
For comparison, one floating license for one university in Europe cost 11000 CHF per platform.