FIPS PUB 153-1

# U.S. DEPARTMENT OF COMMERCE

Technology Administration

National Institute of Standards and Technology

FIPS PUB 153-1

FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION

(Supersedes FIPS PUB 153—1988 October 14)

PROGRAMMER’S HIERARCHICAL INTERACTIVE

GRAPHICS SYSTEM (PHIGS)

Category: Software Standard Subcategory: Graphics

1995 JANUARY 27

JK

468

. A8A3

NO.153-1

1995

FIPS PUB 153-1

FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION

(Supersedes FIPS PUB 153—1988 October 14)

PROGRAMMER’S HIERARCHICAL INTERACTIVE

GRAPHICS SYSTEM (PHIGS)

Category: Software Standard Subcategory: Graphics

Computer Systems Laboratory

National Institute of Standards and Technology

Gaithersburg, MD 20899-0001

Issued January 27, 1995

U.S. Department of Commerce

Ronald H. Brown, Secretary

Technology Administration

Mary L. Good, Under Secretary for Technology

National Institute of Standards

and Technology

Arati Prabhakar, Director
Foreword

The Federal Information Processing Standards Publication Series of the National

Institute of Standards and Technology (NIST) is the official publication relating to

standards and guidelines adopted and promulgated under the provisions of Section

111 (d) of the Federal Property and Administrative Services Act of 1949 as amended by

the Computer Security Act of 1987, Public Law 100-235. These mandates have given the

Secretary of Commerce and NIST important responsibilities for improving the utilization

and management of computer and related telecommunications systems in the Federal

Government. The NIST, through its Computer Systems Laboratory, provides leadership,

technical guidance, and coordination of Government efforts in the development of stan¬

dards and guidelines in these areas.

Comments concerning Federal Information Processing Standards Publications are

welcomed and should be addressed to the Director, Computer Systems Laboratory,

National Institute of Standards and Technology, Gaithersburg, MD 20899.

James H. Burrows, Director

Computer Systems Laboratory

Abstract

This publication is a revision of FIPS PUB 153 and supersedes that document in its

entirety. This revision provides a substantial, upward-compatible enhancement of the

basic PHIGS functionality known as Plus Lumiere and Surfaces, PHIGS PLUS (ANSI/

ISO 9592.1 a,2a,3a,4:1992). PHIGS PLUS adds facilities for the specification of curved

lines, curved and facetted surfaces, lighting and shading, and adds a mechanism for

color specification to allow non-indexed color specification. Amendments to each part of

the PHIGS specification detail revisions required by PHIGS PLUS. Also, each language

binding of PHIGS has been amended as a result of PHIGS PLUS. The specifications and

amendments that comprise the complete PHIGS standard as a result of this revision are

detailed in the Specification section of this document.

Key words: animation; archive file; CAD/CAM; dynamic environment; Federal Informa¬

tion Processing Standard (FIPS); graphics software standard; hierarchical graphics data

structure; language binding; Programmer’s Hierarchical Interactive Graphics System

(PHIGS); software; two or three dimensional.

National Institute of Standards U.S. Government Printing Office

Washington: 1995

For sale by the National

Technical Information

Service

U.S. Department of Commerce

Springfield, VA 22161

and Technology

FIPS PUB 153-1

13 pages (Jan. 27, 1995)

CODEN: FIPPAT
FIPS PUB 153-1

Federal Information

Processing Standards Publication 153-1

1995 January 27

Announcing the Standard for

PROGRAMMER’S HIERARCHICAL INTERACTIVE GRAPHICS SYSTEM (PHIGS)

Federal Information Processing Standards Publications (FIPS PUBS) are issued by the National Institute of Standards and Technology

(NIST) after approval by the Secretary of Commerce pursuant to Section 111 (d) of the Federal Property and Administrative Services

Act of 1949 as amended by the Computer Security Act of 1987, Public Law 100-235.

1. Name of Standard. Programmer’s Hierarchical Interactive Graphics System (PHIGS) (FIPS PUB

153-1).

2. Category of Standard. Software Standard, Graphics.

3. Explanation. This publication is a revision of FIPS PUB 153 and supersedes that document in its

entirety. This revision provides a substantial, upward-compatible enhancement of the basic PHIGS function¬

ality known as Plus Lumiere and Surfaces, PHIGS PLUS (ANSI/ISO 9592.1 a,2a,3a,4:1992). PHIGS PLUS

adds facilities for the specification of curved lines, curved and facetted surfaces, lighting and shading, and

adds a mechanism for color specification to allow non-indexed color specification. Amendments to each part

of the PHIGS specification detail revisions required by PHIGS PLUS. Also, each language binding of PHIGS

has been amended as a result of PHIGS PLUS. The specifications and amendments that comprise the

complete PHIGS standard as a result of this revision are detailed in the Specification section of this

document.

In addition this revision adds a requirement for validation of PHIGS implementations using either

FORTRAN or C bindings. However, validation is currently limited to basic PHIGS functionality, and therefore

does not include the new functionality of PHIGS PLUS added by this revision.

FIPS 153-1 adopts the American National Standard Programmer’s Hierarchical Interactive Graphics

System, ANSI/ISO 9592.1-3:1989, and 9592.1 a,2a,3a,4:1992, and 9593.1:1992, 9593.3:1990, 9593.4:1991,

and 9593.1/AMI, 3/AMI, 4/AMI: 1991, as a Federal Information Processing Standard (FIPS). This standard

specifies the control and data interchange between an application program and its graphic support system.

It provides a set of functions and programming language bindings for ine definition, display and modification

of two-dimensional (2D) or three-dimensional (3D) graphical data. In addition, these language bindings allow

for the definition, display and modification of geometrically related objects, graphical data, and the relation¬

ships between the graphical data. The purpose of the standard is to promote portability of graphics applica¬

tion programs between different installations. The standard is for use by implementors as the reference

authority in developing graphics software systems; and by other computer professionals who need to know

the precise syntactic and semantic rules of the standard.

4. Approving Authority. Secretary of Commerce.

5. Maintenance Agency. U.S. Department of Commerce, National Institute of Standards and Technology

(NIST), Computer Systems Laboratory (CSL).

1
FIPS PUB 153-1

6. Cross Index.

a. ANSI/ISO 9592.1:1989, Information Processing Systems—Computer Graphics—Programmer’s

Hierarchical Interactive Graphics System (PHIGS), Part 1, Functional Description.

b. ANSI/ISO 9592.1a:1992, Amendment 1, Information Processing Systems—Computer GraphicsProgrammer’s Hierarchical Interactive Graphics System (PHIGS), Part 1, Functional Description.

c. ANSI/ISO 9592.2:1989, Information Processing Systems—Computer Graphics—Programmer’s

Hierarchical Interactive Graphics System (PHIGS), Part 2, Archive File Format.

d. ANSI/ISO 9592.2a:1992, Amendment 1, Information Processing Systems—Computer GraphicsProgrammer’s Hierarchical Interactive Graphics System (PHIGS), Part 2, Archive File Format.

e. ANSI/ISO 9592.3:1989, Information Processing Systems—Computer Graphics—Programmer’s

Hierarchical Interactive Graphics System (PHIGS), Part 3, Clear Text Encoding of Archive File.

f. ANSI/ISO 9592.3a:1992, Amendment 1, Information Processing Systems—Computer GraphicsProgrammer’s Hierarchical Interactive Graphics System (PHIGS), Part 3, Clear Text Encoding of Archive File.

g. ANSI/ISO 9592.4:1992, Information Processing Systems—Computer Graphics—Programmer’s

Hierarchical Interactive Graphics System (PHIGS), Part 4, Plus Lumiere and Surfaces, PHIGS PLUS.

h. ANSI/ISO 9593.1:1992, Information Processing Systems—Computer Graphics—Programmer’s

Hierarchical Interactive Graphics System (PHIGS), Language Bindings, FORTRAN.

i. ISO/IEC 9593.1:1990 Tech. Corrigendum, Programmer’s Hierarchical Interactive Graphics System

(PHIGS), Language Bindings, FORTRAN.

j. ANSI/ISO 9593.3:1990, Information Processing Systems—Computer Graphics—Programmer’s

Hierarchical Interactive Graphics System (PHIGS), Language Bindings, Ada.

k. ISO/IEC 9593.3:1990, Tech. Corrigendum, Programmer’s Hierarchical Interactive Graphics System

(PHIGS) Language Bindings, Ada.

l. ANSI/ISO 9593.4:1991, Information Processing Systems—Computer Graphics—Programmer’s

Hierarchical Interactive Graphics System (PHIGS), Language Bindings, C.

7. Related Documents.

a. Federal Information Resources Management Regulations (FIRMR) subpart 201.20.303, Standards,

and subpart 201.39.1002, Federal Standards.

b. Federal ADP and Telecommunications Standards Index, U.S. General Services Administration,

Information Resources Management Service, (updated periodically).

c. NIST, Validated Products List: Programming Languages, Database Language SQL, Graphics,

GOSIP, POSIX, Security, Published quarterly and available by subscription from the National Technical

Information Service (NTIS), U.S. Department of Commerce, Springfield, VA 22161.

d. FIPS PUB 69-1, Programming Language FORTRAN, adopts ANSI X3.9-1978/R1989.

e. FIPS PUB 119, Programming Language Ada, adopts ANSI/MIL-STD-1815A-1983.

f. FIPS PUB 120-1, Graphical Kernel System (GKS), adopts ANSI X3.124-1985.

g. FIPS PUB 128-1, Computer Graphics Metafile (CGM), adopts ANSI/ISO 8632:1992.

h. FIPS PUB 160, Programming Language C, adopts ANSI/ISO 9899:1992.

i. ANSI/ISO 8632:1992, Information Processing Systems—Computer Graphics Metafile for the

Storage and Transfer of Picture Description Information (Part 1: Functional Specifications; Part 2: Character

Encoding; Part 3: Binary Encoding; Part 4: Clear Text Encoding).

j. ISO/IEC 646:1991, Information Processing—7-Bit Coded Character Set for Information Interchange.

k. ISO 2022:1986, Information Processing—ISO 7-Bit and 8-Bit Coded Character Sets—Code Exten¬

sion Techniques.

l. ISO 2382/13:1984, Data Processing—Vocabulary—Part 13: Computer Graphics.

m. ISO 6093:1985, Information Processing—Representation of Numeric Values in Character Strings for

Information Interchange.

n. ISO 7942:1985, Information Processing Systems—Computer Graphics—Functional Specification of

the Graphical Kernel System (GKS).

2
FIPS PUB 153-1

o. ISO 7942/Amendment 1:1991, Computer Graphics—Graphical Kernel Systems (GKS) Functional

Descriptions.

p. ISO 8805:1988, Information Processing—Computer Graphics—Graphical Kernel System (GKS-3D)

Extensions Functional Description.

8. Objectives. The primary objectives of this standard are:

- to allow very highly interactive graphics application programs using 2D or 3D hierarchically structured

graphics data to be easily transported between installations. This will reduce costs associated with

the transfer of programs among different computers and graphics devices, including replacement

devices.

- to aid the understanding and use of dynamic hierarchical graphics methods by application pro¬

grammers.

- to aid manufacturers of graphics equipment by serving as a guideline for identifying useful combina¬

tions of graphics capabilities in a device.

- to encourage more effective utilization and management of graphics application programmers by

ensuring that skills acquired on one job are transportable to other jobs, thereby reducing the cost of

graphics programmer retraining.

- to aid graphics application programmers in understanding and using graphics methods by specifying

well-defined functions and names. This will avoid the confusion of incompatibility common with

operating systems and programming languages.

9. Applicability. PHIGS is one of the computer graphics standards (Appendix A discussses the family of

computer graphics standards) provided for use by all Federal departments and agencies. These graphics

standards should be used for all computer graphics applications and programs that are either developed or

acquired for government use.

9.1 The FIPS for PHIGS is intended for use in computer graphics applications that are either developed

or acquired for government use. It is specifically designed to meet the performance requirements of such

demanding applications as Computer Aided Design/Computer Aided Engineering/Computer Aided Manufac¬

turing, command and control, molecular modelling, simulation and process control. It emphasizes the support

of applications needing a highly dynamic, highly interactive operator interface and expecting rapid screen

update of complex images to be performed by the display system. The PHIGS PLUS functionality is designed

to support graphics applications requiring lighting and shading, curved lines, curved and facetted surfaces,

and non-indexed color specification.

9.2 The use of this standard is compulsory and binding when one or more of the following situations

exist:

- The graphics application is very highly interactive, or contains hierarchically structured graphics data,

or requires rapid modification of 2D or 3D graphics data and the relationships among the data.

- It is anticipated that the life of the graphics program will be longer than the life of the presently utilized

graphics equipment.

- The graphics application or program is under constant review for updating of the specifications, and

changes may result frequently.

- The graphics application is being designed and programmed centrally for a decentralized system that

employs computers of different makes and models and different graphics devices.

- The graphics program will or might be run on equipment other than that for which the program is

initially written.

- The graphics program is to be understood and maintained by programmers other than the original

ones.

- The graphics program is or is likely to be used by organizations outside the Federal government (i.e.,

state and local governments, and others).

3
FIPS PUB 153-1

9.3 Nonstandard features of implementations of PHIGS should be used only when the needed opera¬

tion or function cannot reasonably be implemented with the standard features alone. Although nonstandard

features can be very useful, it should be recognized that the use of these or any other nonstandard elements

may make the interchange of graphics programs and future conversion more difficult and costly.

10. Specifications. American National Standard Programmer’s Hierarchical Interactive Graphics

System, ANSI/ISO 9592.1-3:1989 and ANSI/ISO 9592.la,2a,3a,4:1992, define the scope of the specifica¬

tions, the syntax and semantics of the PHIGS elements and requirements for conforming implementations.

All of these specifications apply to Federal Government implementations of this standard.

ANSI/ISO 9592.1-3:1989 and ANSI/ISO 9592.1 a,2a,3a,4:1992 define a language independent nucleus

of a graphics system for integration into a programming language. Thus, it is embedded in a language layer

obeying the particular conventions of the language. FIPS 153-1 is therefore divided into two parts. Part 1

represents the functional aspects of PHIGS. Part 1 consists of the following:

(1) Functional description (ANSI/ISO 9592.1:1989) and (ANSI/ISO 9592.1 a:1992, Amendment 1)

The functional description of PHIGS provides a set of functions for the definition, display and

modification of 2D or 3D graphical data. It also provides for the definition, display and manipulation

of geometrically related objects, along with the modification of graphics data and the relationships

between that graphical data.

(2) Archive file format (ANSI/ISO 9592.2:1989) and (ANSI/ISO 9592.2a:1992, Amendment 1)

The archive file provides a file format suitable for the storage and retrieval of PHIGS structures and

structure network definitions. It allows structure definitions to be stored in an organized way on a

graphical software system. It also facilitates transfer of structure definitions between different

graphical software systems.

(3) Clear-text encoding (ANSI/ISO 9592.3:1989) and (ANSI/ISO 9592.3a:1992, Amendment 1)

The clear-text encoding provides a representation of the archive file syntax that is easy to type, edit

and read. The file is human-readable (allows editing), human friendly (easy and natural to read) and

machine readable (parsable by software).

(4) Plus Lumiere and Surfaces, PHIGS PLUS (ANSI/ISO 9592.4:1992)

The Programmer’s Hierarchical Interactive Graphics System (PHIGS) Plus Lumiere and Surfaces

(PHIGS PLUS) extends the basic PHIGS functionality by adding facilities for the specification of

curved lines, curved and facetted surfaces, lighting and other effects such as depth modulation.

Part 2 of FIPS 153-1 consists of the bindings of PHIGS and PHIGS PLUS functions to actual program¬

ming languages, defined in ANSI/ISO 9593:1990. These bindings are developed in cooperation with the

voluntary standards committees of the various languages. The following bindings currently exist, and form

part 2 of FIPS 153-1:

- The FORTRAN Language binding for PHIGS (ANSI/ISO 9593.1:1992), and for PHIGS PLUS

(ANSI/ISO 9593.1:1991 /AMI);

- The ADA Language binding for PHIGS (ANSI/ISO 9593.3:1990), and for PHIGS PLUS (ANSI/ISO

9593.3:1991/AM1);

- The C Language binding for PHIGS (ANSI/ISO 9593.4:1991), and for PHIGS PLUS (ANSI/ISO

9593.4:1991/AMI).

11. Implementation. Implementation of this standard involves four areas of consideration: the effective

date, acquisition of PHIGS software system implementations, interpretations of PHIGS implementations, and

validation of PHIGS implementations.

4
FIPS PUB 153-1

11.1 Effective Date. This revised standard is effective August 1, 1995. Requirements for the use of

basic PHIGS functionality (defined in ANSI/ISO 9592.1-3:1989 and ANSI/ISO 9593.1:1992, 9593.3:1990,

9593.4:1991) are unchanged and continue in effect. Validation of PHIGS implementations is required after

the effective date in accordance with Section 11.4.

11.2 Acquisition of Implementations. Conformance to FIPS for PHIGS is required whether PHIGS

toolbox packages are developed internally, acquired as part of an ADP system procurement, acquired by

separate procurement, used under an ADP leasing arrangement, or specified for use in contracts for

programming services. Recommended terminology for procurement of FIPS for PHIGS is contained in the

U.S. General Services Administration publication Federal ADP & Telecommunications Standards Index,

Chapter 4 Part 1.

11.3 Interpretation of this FIPS. NIST provides for the resolution of questions regarding FIPS for

PHIGS specifications and requirements, and issues official interpretations as needed. Procedures for inter¬

pretations are specified in FIPS PUB 29-3. All questions about the interpretation of FIPS for PHIGS should

be addressed to:

Director

Computer Systems Laboratory (CSL)

ATTN: PHIGS Interpretation

National Institute of Standards and Technology

Gaithersburg, MD 20899

Telephone: (301) 975-3265

11.4 Validation of PHIGS Implementations. Implementations of FIPS for PHIGS using either

FORTRAN or C bindings shall be validated in accordance with NIST Computer Systems Laboratory (CSL)

validation procedures for FIPS for PHIGS. Recommended procurement terminology for validation of FIPS for

PHIGS is contained in the U.S. General Services Administration publication Federal ADP & Telecommunica¬

tions Standards Index, Chapter 4 Part 2. This GSA publication provides terminology for three validation

options: Delayed Validation, Prior Validation Testing, and Prior Validation. The agency shall select the

appropriate validation option. The agency is advised to refer to the NIST publication Validated Products List

for information about the validation status of PHIGS products. This information may be used to specify

validation time frames that are not unduly restrictive of competition.

The agency shall specify the criteria used to determine whether a Validation Summary Report (VSR) or

Certificate is applicable to the hardware/software environment of the PHIGS implementation offered. The

criteria for applicability of a VSR or Certificate should be appropriate to the size and timing of the procure¬

ment. A large procurement may require that the offered version/release of the PHIGS implementation shall

be validated in a specified hardware/software environment and that the validation shall be conducted with

specified hardware/software features or parameter settings; e.g., the same parameter settings to be used in

a performance benchmark. An agency with a single-license procurement may review the Validated Products

Listto determine the applicability of existing VSRs or Certificates to the agency’s hardware/software environ¬

ment.

PHIGS implementations using either FORTRAN or C bindings shall be validated using the NIST PHIGS

Test Suite, a suite of automated validation tests for PHIGS implementations. The NIST PHIGS Test Suite was

first released in July 1990 to help users and vendors determine compliance with FIPS for PHIGS. The most

recent version of the test suite will be used for validating conformance of PHIGS implementations after the

effective date of FIPS PUB 153-1. The results of validation testing by the PHIGS Testing Service are

published on a quarterly basis in the Validated Products List, available from the National Technical Informa¬

tion Service (NTIS). See related documents section.

5
FIPS PUB 153-1

Each release of the test suite has provided additional language bindings and test cases to increase the

test suite’s coverage of PHIGS functionality. Version 2.1 of the NIST PHIGS Test Suite, released in April 1994,

provides testing for PHIGS implementations using either the FORTRAN or C language binding. Version 2.1

does not include tests for the functionality of PHIGS PLUS added by this revision of FIPS for PHIGS.

Current information about the NIST PHIGS Validation Service and validation procedures for FIPS for

PHIGS is available from:

National Institute of Standards and Technology

Computer Systems Laboratory

Graphics Software Group

Building 225, Room A266

Gaithersburg, MD 20899

(301) 975-3265

12. Waivers. Under certain exceptional circumstances, the heads of Federal departments and agencies

may approve waivers to Federal Information Processing Standards (FIPS). The head of such agency may

redelegate such authority only to a senior official designated pursuant to section 3506(b) of Title 44, United

States Code.

Waivers shall be granted only when:

a. Compliance with a standard would adversely affect the accomplishment of the mission of an oper¬

ator of a Federal computer system, or

b. Cause a major adverse financial impact on the operator which is not offset by Governmentwide

savings.

Agency heads may act upon a written waiver request containing the information detailed above. Agency

heads may also act without a written waiver request when they determine that conditions for meeting the

standard cannot be met. Agency heads may approve waivers only by a written decision which explains the

basis upon which the agency head made the required finding(s). A copy of each such decision, with

procurement sensitive or classified portions clearly identified, shall be sent to: National Institute of Standards

and Technology; ATTN: FIPS Waiver Decisions, Technology Building, Room B-154; Gaithersburg, MD

20899. In addition notice of each waiver granted and each delegation of authority to approve waivers shall

be sent promptly to the Committee on Government Operations of the House of Representatives and the

Committee on Governmental Affairs of the Senate and shall be published promptly in the Federal Register.

When the determination on a waiver applies to the procurement of equipment and/or services, a notice

of the waiver determination must be published in the Commerce Business Daily as a part of the notice of

solicitation for offers of an acquisition or, if the waiver determination is made after that notice is published,

by amendment to such notice.

A copy of the waiver, any supporting documents, the document approving the waiver and any supporting

and accompanying documents, with such deletions as the agency is authorized and decides to make under

5 U.S.C. Sec. 552(b), shall be part of the procurement documentation and retained by the agency.

13. Where to Obtain Copies. Copies of this publication are for sale by the National Technical Information

Service, U.S. Department of Commerce, Springfield, VA 22161. (Sale of the included specifications docu¬

ment is by arrangement with the American National Standards Institute.) When ordering, refer to Federal

Information Processing Standards Publication 153-1 (FIPSPUB153-1) and title. Payment may be made by

check, money order, or deposit account.

6
FIPS PUB 153-1

APPENDIX A

The Family of Graphics Standards

The following computer graphics standards are now available to address the needs of government

applications in creating, modifying, manipulating, and exchanging computer-generated pictures:

• FIPS PUB 120-1, the Graphical Kernel System (GKS), which adopts ANSI X3.124-1985;

• FIPS PUB 153-1, the Programmer’s Hierarchical Interactive Graphics System (PHIGS), which

adopts ANSI/ISO 9592-1989;

• FIPS PUB 128-1, the Computer Graphics Metafile (CGM), which adopts ANSI/ISO 8632-1992 and

• FIPS PUB 177, the Initial Graphics Exchange Specification (IGES), which adopts ASME/ANSI

Y14.26M-1989.

In addition, the Computer Graphics Interface (CGI) has recently become an International standard, and

is expected to be issued as a FIPS.

These standards fall into two categories: Application Programmer’s Interface (API) standards, and

Interoperability standards. The goal of API standards is to enhance the portability of graphics programs (and

programmers) between installations and environments. The goal of Interoperability standards is to enable

graphics data to be exchanged successfully between graphics systems and devices.

Figure 1 is a very simple reference model of a computer graphics operating environment. The model

emphasizes that a graphics application program interacts with physical devices and human operators via a

computer graphics environment. Figure 1 also shows that the application may receive information from an

external database.

The output of the graphics program, as shown in Figure 1, is directed to a virtual graphics device (i.e.,

Virtual Device Interface or VDI) rather than directly to a physical device. A Device Driver provides an

interface, implemented in either hardware or software, for translating virtual device commands to commands

understood by a particular physical device. By substituting one device driver for another, an application can

run on a different physical device. This device independence is a central concept of this graphics reference

model.

In Figure 1, the API standards reside in the box labelled the Device Independent Graphics Package.

Interoperability standards are related to the boxes in Figure 1 labelled Metafile, Database and Virtual Device

Interface. Figure 2 depicts the various graphics standards associated with the general model shown in Figure

1. These are discussed below.

7
FIPS PUB 153-1

Device Independent Graphics Package

t

Current Terminal Future "CGITermlnal Current Printer

Figure 1. Computer Graphics Reference Model.

Figure 2. Standards in the Computer Graphics Reference Model.

8
FIPS PUB 153-1

Application Programmer’s Interface (API) Standards

Standards at the API promote program and programmer portability. A standard at this level specifies a

set of operations on a variety of graphics objects. An API standard provides for the portability of applications

across a wide range of computer hardware, operating systems, programming languages, and graphics

devices. A program written to an API standard at one facility in one environment should be easily transferable

to another facility in a different environment. Facility dependencies should be the major area requiring

modification.

The specific functions supported by a particular API standard provide certain capabilities. The applica¬

tion programmer, by identifying the capabilities needed, determines the API better suited for the application.

As shown in Figure 2, there are currently two graphics API standards, GKS and PHIGS.

GKS provides a functional description of a two-dimensional (2D) graphics interface. It provides the basic

graphics support required by a wide variety of applications requiring the production of computer-generated

pictures. A procedural language binding of a functional standard specifies the exact name for each operation,

its parameter sequence, and the data types for the parameters. FORTRAN, Pascal, Ada and C language

bindings are parts of GKS.

GKS is suitable for use in graphics programming applications that employ a broad spectrum of graphics,

from simple passive graphics output (where pictures are produced solely by output functions without interac¬

tion with an operator) to interactive applications; and which control a whole range of graphics devices,

including but not limited to vector and raster devices, microfilm recorders, storage tube displays, refresh

displays, and color displays.

PHIGS provides for the definition, display, modification, and manipulation of 2D and 3D graphical data.

It provides functionality to support storage of graphics and application data in a hierarchical form. Information

may be inserted, changed, and deleted from the hierarchical data storage with the functions provided by

PHIGS. Language binding specifications for PHIGS include FORTRAN, C and Ada.

PHIGS is specifically designed to meet the performance requirements of such demanding applications

as Computer Aided Design/Computer Aided Engineering/Computer Aided Manufacturing, command and

control, molecular modelling, simulation and process control.

Capabilities in PHIGS but not in GKS include: the centralized hierarchical data storage; the dynamic and

responsive nature of interactions; the addition of a modeling capability; and support for color models other

than Red-Green-Blue (RGB).

Interoperability Standards

Graphics Interoperability standards allow graphical data to be interchanged between graphics devices.

As shown in Figure 2, there are three graphics interoperability standards, CGM, (future) CGI, and IGES.

CGM is used for the storage and transfer of picture description information. It enables pictures to be

recorded for long term storage, and to be exchanged between graphics devices, systems, and installations.

As indicated in Figure 2, the storage mechanism for CGM is in the form of a neutral file format called a

metafile. The software which creates the metafile is known as a CGM Generator. The software which reads

and displays a CGM metafile is known as an Interpreter.

CGM specifies a semantic interface that describes 2D graphical entities using primitives (like polyline,

text, and ellipse) and attributes (like color, line width, interior style, and fonts). CGM is compatible with the

specification of 2D elements in GKS. A data encoding specifies the exact sequence of bits used to represent

each operation and its parameters. CGM contains three types of data stream encodings (binary, character,

and clear text) to provide the implementor choices depending on the particular application.

9
FIPS PUB 153-1

IGES provides a method for representing and storing geometric, topological, and non-geometric product

definition data that is independent of any one system. Where CGM transfers graphical pictures, IGES

transfers a graphical database which can be processed to represent a picture. Thus IGES represents more

than just purely graphical data. As Figure 2 indicates, the storage mechanism for IGES is in the form of a

neutral file format that must be translated by a Preprocessor and Postprocessor for conversion between

systems. IGES permits the compatible exchange of product definition data used by various computer aided

design/computer aided manufacturing (CAD/CAM) systems.

The future CGI standard is designed to specify the exchange of information at the Virtual Device

Interface. It will provide an interface between the device independent and device dependent parts of a

graphics system. Since CGI contains information at a virtual level, it can be used to create a CGM. A CGM

can also be output on a CGI device in a straightforward manner.

10
I
U.S. Department of Commerce

National Technical Information Sen/ice

5285 Port Royal Road

Springfield, VA 22161

Official Business

Penalty for Private Use $300