Overview
ISO/IEC 9593-4:1991/Amd 1:1994 is Amendment 1 to the C language binding of the Programmer’s Hierarchical Interactive Graphics System (PHIGS) and PHIGS PLUS. Published by ISO/IEC, this amendment updates the C API mapping for PHIGS functionality defined in ISO/IEC 9592‑1 and extends support for PHIGS PLUS features (lighting, shading, surface display). It clarifies conformance rules, adds PHIGS PLUS type/macro/function bindings, refines data storage rules and error handling, and updates identifier and function name tables.
Key topics and requirements
- Scope and conformance: Implementations of the C binding must expose the declarations and implement functions specified in ISO/IEC 9592‑1 and, for PHIGS PLUS, ISO/IEC 9592‑4. The amendment explicitly requires visibility of clauses 5–10 for PHIGS PLUS.
- New normative reference: ISO/IEC 9592‑4:1992 (PHIGS PLUS) is added.
- PHIGS PLUS bindings: Adds clauses 8–10 covering C PHIGS PLUS type definitions (8.1–8.4), macro definitions (9.1–9.3), and functions (10.1–10.3).
- Error handling: Introduces C‑binding specific error codes. Example: error 2207 (“Ignoring function”) is raised when an output primitive mixes vertex data types (e.g., some vertices include normals and others do not).
- Data storage rules: Clarifies array storage (for color, control points, vertex arrays, etc.). Array element indexing uses the mapping: element (i, j) = i + j * DX where DX = size_x, i = 0..DX‑1, j = 0..DY‑1.
- Data types: Defines mesh-related types such as Pedge flag arrays, Pedge flag triplet lists, and Px-set datatypes (lists of Px‑lists). These describe edge visibility flags for quadrilateral meshes and triangle sets.
- Identifier & function tables: Updates abbreviation tables and merges PHIGS and PHIGS PLUS function name lists for consistent C identifiers (examples: C name ↔ PHIGS/PHIGS PLUS name mappings).
Applications and users
- Graphics library implementers creating or maintaining PHIGS/PHIGS PLUS C APIs
- Vendor developers of workstation graphics, CAD/CAM, scientific visualization and legacy systems requiring PHIGS compliance
- API designers ensuring conformance and consistent naming/typing for surface rendering, color mapping, light sources and parametric surfaces
- Technical writers and standards compliance engineers documenting or auditing PHIGS C bindings
Related standards
This amendment is essential reading for any team implementing or maintaining PHIGS-based C bindings, ensuring correct data layouts, error behavior, and full support for PHIGS PLUS features.