PHIGS

PHIGS (Programmer's Hierarchical Interactive Graphics Standard) is an application programming interface (API) standard for rendering 3D computer graphics, considered to be the 3D graphics standard for the 1980s through the early 1990s. Subsequently, a combination of features and power led to the rise of OpenGL, which became the most popular professional 3D API of the mid to late 1990s.

Large vendors typically offered versions of PHIGS for their platforms, including DEC PHIGS, IBM's graPHIGS and Sun's SunPHIGS. It could also used within the X Window System, supported via PEX.[a] PEX consisted of an extension to X, adding commands that would be forwarded from the X server to the PEX system for rendering. Workstations were placed in windows typically, but could also be forwarded to take over the whole screen, or to various printer-output devices.

PHIGS was designed in the 1980s, inheriting many of its ideas from the Graphical Kernel System (GKS) of the late 1970s, and became a standard by 1989: ANSI (ANSI X3.144-1988), FIPS (FIPS 153) and then ISO (ISO/IEC 9592 and ISO/IEC 9593). Due to its early gestation, the standard supports only the most basic 3D graphics, including basic geometry and meshes, and only the basic Gouraud, "Dot", and Phong shading for rendering scenes. Although PHIGS ultimately expanded to contain advanced functions (including the more accurate Phong lighting model and Data Mapping), other features considered standard by the mid-1990s were not supported (notably texture mapping), nor were many machines of the era physically capable of optimizing it to perform in real time.

Technical details

The word "hierarchical" in the name refers to a notable feature of PHIGS: unlike most graphics systems, PHIGS included a scene graph system as a part of the basic standard. Models were built up in a Centralized Structure Store (CSS), a database containing a "world" including both the drawing primitives and their attributes (color, line style, etc.). CSSes could be shared among a number of virtual devices, known under PHIGS as workstations, each of which could contain any number of views.

Displaying graphics on the screen in PHIGS was a three-step process; first the model would be built into a CSS, then a workstation would be created and opened, and finally the model would be connected to the workstation. At that point the workstation would immediately render the model, and any future changes made to the model would instantly be reflected in all applicable workstation views.

PHIGS originally lacked the capability to render illuminated scenes, and was superseded by PHIGS+. PHIGS+ works in essentially the same manner, but added methods for lighting and filling surfaces within a 3D scene. PHIGS+ also introduced more advanced graphics primitives, such as Non-uniform rational B-spline (NURBS) surfaces. An ad hoc ANSI committee was formed around these proposed extensions to PHIGS, changing its name to the more descriptive and (optimistically) extensible name "PHIGS PLUS" -- "PLUS" being a slightly tongue-in-cheek acronym for "Plus Lumière Und Surfaces" (the two major areas of advancement over the base PHIGS standard).

The rise of OpenGL and the decline of PHIGS

OpenGL, unlike PHIGS, was an immediate-mode rendering system with no "state"; once an object is sent to a view to be rendered it essentially disappears. Changes to the model had to be re-sent into the system and re-rendered, a dramatically different programming mindset. For simple projects, PHIGS was considerably easier to use and work with.

However, OpenGL's "low-level" API allowed the programmer to make dramatic improvements in rendering performance by first examining the data on the CPU-side before trying to send it over the bus to the graphics engine. For instance, the programmer could "cull" the objects by examining which objects were actually visible in the scene, and sending only those objects that would actually end up on the screen. This was kept private in PHIGS, making it much more difficult to tune performance, but enabling tuning to happen "for free" within the PHIGS implementation.

Given the low performance systems of the era and the need for high-performance rendering, OpenGL was generally considered to be much more "powerful" for 3D programming. PHIGS fell into disuse. Version 6.0 of the PEX protocol was designed to support other 3D programming models as well, but did not regain popularity. PEX was mostly removed from XFree86 4.2.x (2002) and finally removed from the X Window System altogether in X11R6.7.0 (April 2004).[1]

Standards

ISO

  • ISO/IEC 9592 Information technology – Computer graphics and image processing – Programmer's Hierarchical Interactive Graphics System (PHIGS)
    • ISO/IEC 9592-1:1997 Part 1: Functional description[2]
    • ISO/IEC 9592-2:1997 Part 2: Archive file format[3]
    • ISO/IEC 9592-3:1997 Part 3: Specification for clear-text encoding of archive file[4]
  • ISO/IEC 9593 Information technology – Computer graphics – Programmer's Hierarchical Interactive Graphics System (PHIGS) language bindings
    • ISO/IEC 9593-1:1990 Part 1: FORTRAN[5]
    • ISO/IEC 9593-3:1990 Part 3: ADA[6]
    • ISO/IEC 9593-4:1991 Part 4: C[7]

See also

Notes

  1. ^ PEX was originally known as the "PHIGS Extension to X"; subsequently referred to as "X3d", whose letters form a rotational variant on the letters "P-E-X"

References

  1. ^ "X.Org Foundation releases X Window System X11R6.7".
  2. ^ "ISO/IEC 9592-1:1997". ISO. Retrieved 2017-10-14.
  3. ^ "ISO/IEC 9592-2:1997". ISO. Retrieved 2017-10-14.
  4. ^ "ISO/IEC 9593-1:1997". ISO. Retrieved 2017-10-14.
  5. ^ "ISO/IEC 9593-1:1990". ISO. Retrieved 2017-10-14.
  6. ^ "ISO/IEC 9593-3:1990". ISO. Retrieved 2017-10-14.
  7. ^ "ISO/IEC 9593-4:1991". ISO. Retrieved 2017-10-14.

External links

Alliant Computer Systems

Alliant Computer Systems was a computer company that designed and manufactured parallel computing systems. Together with Pyramid Technology and Sequent Computer Systems, Alliant's machines pioneered the symmetric multiprocessing market. One of the more successful companies in the group, over 650 Alliant systems were produced over their lifetime. The company was hit by a series of financial problems and went bankrupt in 1992.

Graphical Data Display Manager

GDDM (Graphical Data Display Manager) is a computer graphics system for the IBM System/370 which was developed in IBM's Hursley lab, and first released in 1979. GDDM was originally designed to provide programming support for the IBM 3279 colour display terminal and the associated 3287 colour printer. The 3279 was a colour graphics terminal designed to be used in a general business environment.

GDDM was extended in the early 1980s to provide graphics support for all of IBM's display terminals and printers, and ran on all of IBM's mainframe operating systems.

GDDM also provided support for the (then current) international standards for interactive computer graphics: GKS and PHIGS. Both GKS and PHIGS were designed around the requirements of CAD systems.

GDDM comprises a number of components:

Graphics primitives - lines, circles, boxes etc.

Graphing - through the Presentation Graphics Feature (PGF)

Language support - PL/I, REXX, COBOL etc.

Conversion capabilities - for example to GIF format.

Interactive Chart Utility (ICU).GDDM remains in widespread use today, embedded in many z/OS applications, as well as in System programs.

Graphical Kernel System

The Graphical Kernel System (GKS) was the first ISO standard for low-level computer graphics, introduced in 1977. A draft international standard was circulated for review in September, 1983.

Final ratification of the standard was achieved in 1985.GKS provides a set of drawing features for two-dimensional vector graphics suitable for charting and similar duties. The calls are designed to be portable across different programming languages, graphics devices and hardware, so that applications written to use GKS will be readily portable to many platforms and devices.

GKS was fairly common on computer workstations in the 1980s and early 1990s.

GKS formed the basis of Digital Research's GSX and GEM products; the latter was common on the Atari ST and was occasionally seen on PCs particularly in conjunction with Ventura Publisher. It was little used outside these markets and is essentially obsolete today except insofar as it is the underlying API defining the Computer Graphics Metafile. A descendant of GKS was PHIGS.

A main developer and promoter of the GKS was José Luis Encarnação, formerly director of the Fraunhofer Institute for Computer Graphics (IGD) in Darmstadt, Germany.

GKS has been standardized in the following documents:

ANSI standard ANSI X3.124 of 1985.

ISO 7942:1985 standard, revised as ISO 7942:1985/Amd 1:1991 and ISO/IEC 7942-1:1994, as well as ISO/IEC 7942-2:1997, ISO/IEC 7942-3:1999 and ISO/IEC 7942-4:1998

The language bindings are ISO standard ISO 8651.

GKS-3D (Graphical Kernel System for Three Dimensions) functional definition is ISO standard ISO 8805, and the corresponding C bindings are ISO 8806.The functionality of GKS is wrapped up as a data model standard in the STEP standard, section ISO 10303-46.

HP Color recovery

Color recovery is a technique used in Hewlett-Packard's 1990s workstation graphics devices to produce a 'near 24-bit' color look from an 8-bit framebuffer. Color recovery does rely on software support which is provided by libraries such as PHIGS, PEXLib, Starbase and Xlib (although Xlib does not enable it by default).

When using Color Recovery the data is sent to the driver as a 24-bit image. The driver will then dither the data (in most cases this can be done by the graphics hardware for maximum performance) which is stored in the framebuffer as an 8-bit image. On displaying that 8-bit image data, HP's color recovery technology produces in real time an approximation of the original 24-bit image based on the hints provided by the dithered data. The result is significantly better looking than dithering alone. According to the article in HP's journal, the technique could achieve up to 23 bits of color accuracy.Color Recovery was supported on framebuffers such as:

The integral framebuffer in the HP 9000/712 workstation

HCRX framebuffer

Visualize EG

ISO/IEC JTC 1/SC 24

ISO/IEC JTC 1/SC 24 Computer graphics, image processing and environmental data representation is a standardization subcommittee of the joint subcommittee ISO/IEC JTC 1 of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), which develops and facilitates standards within the field of computer graphics, image processing, and environmental data representation. The international secretariat of ISO/IEC JTC 1/SC 24 is the British Standards Institute (BSI) located in the United Kingdom.

Impact! Miniatures

Impact! Miniatures is a company started in April 2006 by members of the Blood Bowl online community with the aim of producing figures suitable for use with Fantasy Football games such as Elfball, Blood Bowl, Street Brawl, Street Bowl and Deathball.

IrisVision

IrisVision was an expansion card developed by Silicon Graphics for IBM compatible PCs in 1991 and was one of the first 3D accelerator cards available for the high-end PC market. IrisVision was actually an adaptation of the graphics pipeline found in the Personal IRIS workstation to the Micro Channel architecture and consumer ISA buses found on most modern PCs of the day. It is also notable for being the first time that any variant of IRIS GL was ever ported to the PC (an experience that subsequently led to the creation of the OpenGL API).

Marc Andreessen

Marc Lowell Andreessen ( ann-DREE-sən; born July 9, 1971) is an American entrepreneur, investor, and software engineer. He is the co-author of Mosaic, the first widely used Web browser; co-founder of Netscape; and co-founder and general partner of Silicon Valley venture capital firm Andreessen Horowitz. He founded and later sold the software company Opsware to Hewlett-Packard. Andreessen is also a co-founder of Ning, a company that provides a platform for social networking websites. He sits on the board of directors of Facebook, eBay, and Hewlett Packard Enterprise, among others. Andreessen was one of six inductees in the World Wide Web Hall of Fame announced at the First International Conference on the World-Wide Web in 1994. Andreessen was depicted in the 2019 National Geographic series Valley of the Boom by actor John Karna.

NAPLPS

NAPLPS (North American Presentation Level Protocol Syntax) is a graphics language for use originally with videotex and teletext services. NAPLPS was developed from the Telidon system developed in Canada, with a small number of additions from AT&T Corporation. The basics of NAPLPS were later used as the basis for several other microcomputer-based graphics systems.

Non-uniform rational B-spline

Non-uniform rational basis spline (NURBS) is a mathematical model commonly used in computer graphics for generating and representing curves and surfaces. It offers great flexibility and precision for handling both analytic (surfaces defined by common mathematical formulae) and modeled shapes. NURBS are commonly used in computer-aided design (CAD), manufacturing (CAM), and engineering (CAE) and are part of numerous industry wide standards, such as IGES, STEP, ACIS, and PHIGS. NURBS tools are also found in various 3D modeling and animation software packages.

They can be efficiently handled by the computer programs and yet allow for easy human interaction. NURBS surfaces are functions of two parameters mapping to a surface in three-dimensional space. The shape of the surface is determined by control points. NURBS surfaces can represent, in a compact form, simple geometrical shapes. T-splines and subdivision surfaces are more suitable for complex organic shapes because they reduce the number of control points twofold in comparison with the NURBS surfaces.

In general, editing NURBS curves and surfaces is highly intuitive and predictable. Control points are always either connected directly to the curve/surface, or act as if they were connected by a rubber band. Depending on the type of user interface, editing can be realized via an element’s control points, which are most obvious and common for Bézier curves, or via higher level tools such as spline modeling or hierarchical editing.

OpenGL

Open Graphics Library (OpenGL) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering.

Silicon Graphics Inc., (SGI) began developing OpenGL in 1991 and released it on June 30, 1992; applications use it extensively in the fields of computer-aided design (CAD), virtual reality, scientific visualization, information visualization, flight simulation, and video games. Since 2006 OpenGL has been managed by the non-profit technology consortium Khronos Group.

Scene graph

A scene graph is a general data structure commonly used by vector-based graphics editing applications and modern computer games, which arranges the logical and often spatial representation of a graphical scene.

A scene graph is a collection of nodes in a graph or tree structure. A tree node may have many children but only a single parent, with the effect of a parent applied to all its child nodes; an operation performed on a group automatically propagates its effect to all of its members. In many programs, associating a geometrical transformation matrix (see also transformation and matrix) at each group level and concatenating such matrices together is an efficient and natural way to process such operations. A common feature, for instance, is the ability to group related shapes and objects into a compound object that can then be moved, transformed, selected, etc. as easily as a single object.

Toby Howard

Toby L. J. Howard is a Reader in the School of Computer Science at the University of Manchester in the UK, and Director of undergraduate studies.

X Window System protocols and architecture

In computing, the X Window System (commonly: X11, or X) is a network-transparent windowing system for bitmap displays. This article details the protocols and technical structure of X11.

Xsgi

Xsgi was the Silicon Graphics (SGI) implementation of the X Window System (X11) server for its IRIX-based graphical workstations and servers. Xsgi was released in 1991 with IRIX 4.0 on the SGI Indigo workstation.

ISO standards by standard number
1–9999
10000–19999
20000+
IEC standards
ISO/IEC standards
Related

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.