Chapter 7: Organizations, conferences, & graphics standards
7.2 Graphics Standards
In 1916 the American Institute of Electrical Engineers (now IEEE) invited the American Society of Mechanical Engineers (ASME), American Society of Civil Engineers (ASCE), American Institute of Mining and Metallurgical Engineers (AIMME) and the American Society for Testing Materials (ASTM) to join in establishing a national body to coordinate standards development and to serve as a clearinghouse for the work of standards developing agencies.
Two years later, the American National Standards Institute, or ANSI, originally founded as the American Engineering Standards Committee (AESC) was formed to serve as the national coordinator in the standards development process as well as an impartial organization to approve national consensus standards and halt user confusion on acceptability. The five organizations invited the U.S. Departments of War, Navy and Commerce to join them as founders. (See http://www.ansi.org)
The International Organization for Standardization (ISO) was established in 1947 to define “specifications and criteria to be applied consistently in the classification of materials, in the manufacture and supply of products, in testing and analysis, in terminology and in the provision of services.” In the field of CG, this can mean applications portability, graphics package portability, host machine independence, device independence, programming language independence, interoperability, and perhaps even programmer and operator portability.
The standardization process in CG started in the mid-60s. A number of software packages helped define “de-facto” standards for the portability of graphics programs. For example, Plot-10 from Tektronix, Cambridge University’s GINO-F and Culham Lab’s Ghost all provided for certain standardization, but there were problems with each of them. Also, there were european efforts for standardization that were progressing, most notably the German Standards Institute, or DIN, and the Norwegian group which proposed a package called GPGS as a standard. GPGS later became known as IDIGS.
The International Federation of Information Processing, or IFIP, is a non-governmental, non-profit umbrella organization established in 1960 for national societies working in the field of information processing. It established Technical Committees, or TCs (Foundations, Software Theory and Practice, Education, Applications, etc), each of which established Working Groups, or WGs, responsible for different activities within the context of the TC.IFIP WG 5.2, Computer Aided Design , belongs to IFIP TC 5, Computer Applications in Technology. It was established in 1972, and revised in 1986.
In 1972, ACM established an informal Graphics Standards Planning Committee, or GSPC. They met periodically, and discussed ideas that could possibly result in some kind of standardization. They organized and held a Workshop on Machine Independent Graphics at the National Bureau of Standards in 1974, and formalized themselves as the GSPC, but their activities soon (in the words of Robin Williams) languished for a few years.
In May of 1976, a Workshop on Graphics Standards Methodology was organized by Richard Guedj under the auspices of IFIP WG 5.2 in Seillac, France. Called Seillac I, the workshop was attended by representatives from all over the world who all agreed that it was extremely important to develop a sound methodology, and perhaps a new language conforming to that methodology. The Seillac workshop decided 1) to begin the standardization efforts with the application program interface, or API, 2) to separate the modeling of a scene from the viewing of a scene, and 3) to assure language independence.
SIGGRAPH 77 Proceedings coverDuring the SIGGRAPH 76 conference, GSPC was reactivated. Bob Dunn and Bert Herzog became the leaders of a group of 25 expert volunteers, divided into groups to deal with short-term issues and longer-term core issues that were identified both from their previous work as well as the Seillac workshop. In particular, they decided that a “State of the Art” group would survey existing software packages and approaches; a “Methodology group would look at a conceptual framework and guidelines; a “Core” group to define the semantics of a standard graphics package; and an “Interface” group that would consider interoperability with other software technologies. The Core recommendations were published in a supplement to the Proceedings of the SIGGRAPH 77 Conference.
ISO also established a working group, ISO WG2, the Graphics Working Group, to study the issues. They met in Bologna in 1978 and considered reports from DIN, the GSPC Core group, and IDIGS. The DIN report was called GKS, or Graphical Kernal System, which unlike Core, only dealt with 2D. They met again in Amsterdam in early 1979, and recommended that GKS and Core come closer together. DIN and GSPC met in Boulder, Colorado to discuss these recommendations.
In June, 1979 the Core work was passed to ANSI, which organized a working group called X3H3 to develop a standard based on Core. X3H3 ultimately recommended a standard called PHIGS. In the meantime, an ISO workshop was held in Budapest in October, 1979 to consider GKS version 5.0, as well as Core and a version of IDIGS. It decided to focus on GKS only. Following discussions at the Eurographics Geneva conference, the proposal for GKS as a two-dimensional standard for Computer Graphics was submitted to ISO. Some think that if the SIGGRAPH Core proposals had been submitted to ISO in the previous year then it is probable that ISO would have considered a two-dimensional standard unnecessary, but the GSPC had neglected to do this. The submission of the GKS proposal to ISO was followed by lengthy discussions with all interested parties and some of the ideas of the Core, especially those relating to forms of text output, were incorporated into GKS before it was published in 1982 as Draft International Standard 7942.
Discussions continued on minor details of 7942, and it has been said that the GSPC were not happy with the emergence of GKS. SIGGRAPH organized a vote of its members to decide whether it or ISO should be the appropriate authority to decide on standards for Graphics in America and the vote fell solidly in favor of ISO. In February 1984, SIGGRAPH published a special issue describing GKS which was sent to all its members, and it became the first published standard for graphics in August, 1985.
GKS defines a basic two-dimensional graphics system with uniform input and output primitives and a uniform interface to and from a GKS metafile for storing and transferring graphics information. It supports a wide range of graphics output devices including such devices as printers, plotters, vector graphics devices, storage tubes, refresh displays, raster displays, and microfilm recorders. As the technical work on GKS came to a close, attention was turned to issues of 3D. Some wanted to extend GKS, while others, most notably the U.S. introduced a new system, called PHIGS. It was agreed at a joint meeting in Canada in 1983 to launch both projects.
PHIGS stands for Programmer’s Hierarchical Interactive Graphics System. The PHIGS standard defined a set of functions and data structures to be used by a programmer to manipulate and display 3-D graphical objects. The standard was approved by ANSI as ANSI X3.144-1988, by ISO as ISO 9592-1:1989, and by the Federal government as Federal Information Processing Standard (FIPS) 153.
GKS-3D is a pure super-set of GKS designed to handle 3D graphics in a compatible way. That is to say, a 2D application written to the GKS standard is guaranteed to run in a GKS-3D environment without change. However, apart from the usual GKS functions, GKS-3D provides additional ones to handle 3D primitives, 3D input, and 3D viewing. It was standardized as ISO 8806-1 in 1988.
Discussions on the limitations of PHIGS in the area of rendering (output primitives) resulted in the recommendation and adoption of PHIGS+ in 1989.
Work on a Metafile standard for the storage and transfer of picture description information was approved in 1983, and ISO approved the Computer Graphics Metafile (CGM) standard in 1987 as ISO 8632. This standard defines the format of a file that describes one or more two-dimensional images. A CGM metafile is not a picture – it only contains a description of the picture. In order to see the picture, the information in the file must be translated by another program for a specific output device. Pictures are described as a collection of elements of different kinds, representing things like primitives, attributes, and control information.
CAD (Computer-Aided Design) systems had been developing their systems well before the standards activities took place. They were concerned with a metafile for transferring these files between CAD systems. Products may be designed as either a two-dimensional, three-view drawing layout, or as a full three-dimensional model with associated drawing views and dimensions using a CAD system. The Initial Graphics Exchange Specifications, or IGES format serves as a neutral data format to transfer the design to a dissimilar system. Translators, developed to the IGES Standard, are used to export a design into an IGES file for exchange and for importing the IGES file into the destination system.
“In 1979 events took place that catalyzed the CAD vendor community to create the first national standard for CAD data exchange. Mechanical CAD systems were less than ten years old, and there were only a handful of products with any significant market penetration. Even at this early stage, users were overwhelmed by the inability to share data among these tools and with their own internally-developed databases. Frustration was evident at a fateful two-day Society of Manufacturing Engineers (SME) meeting in the Fall of 1979. On the first day, an attendee from General Electric (GE) challenged a panel of CAD vendors, that included Computervision, Applicon, and Gerber, to work together to enable a common neutral exchange mechanism.
The panel reported on the second day, and the wheels were set in motion to create an ‘IGES.’ Once the panel admitted that a common translation mechanism was possible, it was impossible to stop the momentum of the customer’s enthusiasm and expectations. Applicon and ComputerVision agreed to open their internal databases, GE offered its neutral database, and Boeing offered the structure of its Computer Integrated Information Network (CIIN) database. Both GE and Boeing contributed their existing translators. A core team was formed that included representatives from NBS, Boeing, and GE. Team members had worked closely with each of the vendors on internal integration projects. This prior experience built the expertise and trust needed to craft a solution in a very short time, and neither vendor felt it gave an unfair advantage to the other.
Soon after, an open meeting was held at the National Academy of Sciences on October 10, 1979. Approximately 200 people attended to herald the birth of IGES.” Quoted from B. Goldstein, S. Kemmerer, C. Parks, “, A Brief History of Early Product Data Exchange Standa
rds” NISTIR 6221, September 1998.
See https://doi.org/10.6028/NIST.IR.6221
The mid-1980s saw the use of CAD playing a more significant role in aircraft design. Boeing decided to design its 777 aircraft totally on the computer, using CATIA. In Europe, a consortium of manufacturers (Aerospatiale(France), British Aerospace, CASA (Spain) and MBB (West Germany)) began the design of the Airbus 320 totally using CAD. The differing systems used by these companies demanded a standard for data interchange, and the SET (Standard D’Exchange et De Transfert) standard was developed. It was seen by many to be the main challenge to the IGES standard evolving in the U.S. SET began development in 1983 at Aerospatiale as a response to the halting implementation of the IGES standard, and because it was developed in one company, its proponents argued that it was faster and more dependable. Others, including U.S. standards officials, saw the emergence of two competitive standards as an impediment to the acceptance of a standard, because of problems of interpretation and agreement among standards makers.
Other standards which have been adopted (some are not official standards, but rather can be considered industry standards) include OpenGL (1992) from SGI, Java-2D and Java-3D from Sun, DirectX (1995) from Microsoft, X-windows (developed at MIT in the late 1980s ), PEX (PHIGS extension to X), PostScript, VRML, NTSC (PAL and SECAM), D1 (D2, D3, D5) and many more.
Although it is beyond the scope of this Section to accurately define file formats for graphics, it is worth noting that several have become de facto standards, and several more have come out of actual standards working groups and have either been designated as standards, or are being considered. For example, JPEG is an adopted standard (ISO WG 10, 1991) for encoding and compressing continuous tone raster still images. It was proposed by the Joint Photographics Expert Group, hence its name. Likewise, MPEG (ISO WG11, 1991) is a standard for encoding video and audio sequences, from the Moving Picture Experts Group. Below is a list of some other more popular formats: [1]
Format | Developer | Purpose |
BMP (BitMaP) | Microsoft | raster; color independence |
CCITT | Fax CCITT | document transmission |
DXF (Drawing eXchange File) | Autodesk, Inc. | interchange AutoCAD files |
EPS (Encapsulated PostScript) | Adobe | describes a single picture that can be included in a PostScript file |
GIF (Graphics Interchange Format) | Compuserve | uses LZW compression for transmission over telephone lines; has become a Web standard |
JFIF | C-Cube Microsystems | Portable JPEG |
PICT (PICTure data) | Apple | optimized for Apple QuickDraw |
QuickTime | Apple | storage and retrieval of compressed time-based data |
RLE (Run Length Encoding) | University of Utah | device independent raster |
TIFF (Tag Image File Format) | Aldus | raster scanned data format |
- The National Archives has a detailed description at https://www.nationalarchives.gov.uk/documents/graphic-file-formats.pdf ↵