PHIGS

Programmer's Hierarchical Interactive Graphics System
AbbreviationPHIGS
StatusPublished
Year started1988; 36 years ago (1988)
Latest versionISO/IEC 9592 and ISO/IEC 9593
1997 (1997) and 1990 (1990)/1991 (1991)
OrganizationANSI, FIPS, ISO, IEC
Related standardsANSI X3.144-1988, FIPS 153
Domain3D computer graphics application programming interface

PHIGS (Programmer's Hierarchical Interactive Graphics System) 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 be 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 1988: 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.
Cite error: There are <ref group=lower-alpha> tags or {{efn}} templates on this page, but the references will not show without a {{reflist|group=lower-alpha}} template or {{notelist}} template (see the help page).