GKS-94 to SVG: Some Reflections on the Evolution of Standards for 2D
Total Page:16
File Type:pdf, Size:1020Kb
EG UK Computer Graphics & Visual Computing (2015) Rita Borgo, Cagatay Turkay (Editors) GKS-94 to SVG: Some Reflections on the Evolution of Standards for 2D Graphics D. A. Duce1 and F.R.A. Hopgood2 1Department of Computing and Communication Technologies, Oxford Brookes University, UK 2Retired, UK Abstract Activities to define international standards for computer graphics, in particular through ISO/IEC, started in the 1970s. The advent of the World Wide Web has brought new requirements and opportunities for standardization and now a variety of bodies including ISO/IEC and the World Wide Web Consortium (W3C) promulgate standards in this space. This paper takes a historical look at one of the early ISO/IEC standards for 2D graphics, the Graph- ical Kernel System (GKS) and compares key concepts and approaches in this standard (as revised in 1994) with concepts and approaches in the W3C Recommendation for Scalable Vector Graphics (SVG). The paper reflects on successes as well as lost opportunities. Categories and Subject Descriptors (according to ACM CCS): I.3.6 [Computer Graphics]: Methodology and Techniques—Standards 1. Introduction a W3C Recommendation early in 1999. The current (at the time of writing) revision was published in 2010 [web10]. The Graphical Kernel System (GKS) was the first ISO/IEC international standard for computer graphics and was pub- It was clear from the early days that a vector graphics for- lished in 1985 [GKS85]. This was followed by other stan- mat specifically for the web would be a useful addition to the dards including the Computer Graphics Metafile (CGM), then-available set of markup languages. Chris Lilley at the the Computer Graphics Interface (CGI), a 3D extension of World Wide Web Consortium (W3C) wrote a requirements GKS (GKS-3D) and the Programmers’ Hierarchical Graph- document for a scalable graphics language in 1996 [svga] ics System (PHIGS). PHIGS was a 3D system providing and drawing on ideas from a number of input documents the a modelling capability as well as a viewing capability and W3C Scalable Vector Graphics Working Group was set up was aimed at environments requiring rapid modification of and produced a first draft document on 11 February 1999 graphical data describing geometrically related objects. At [svgb]. Historically the main influences were PGML from a more conceptual level, the Computer Graphics Reference Adobe, IBM, Netscape and Sun Microsystems (based on the Model was published in 1992. For an overview of graph- imaging model of PostScript and PDF) and VML from Au- ics standards of this period see [AD90]. Following ISO/IEC todesk, Inc., Hewlett-Packard Company, Macromedia, Inc., procedures GKS was subject to periodic review and it was Microsoft Corporation and Visio Corporation. Key features revised resulting in the publication of the second edition in of the first draft of SVG were the use of XML, integration November 1994 [GKS94]. with style sheets and use of the DOM (Document Object Meanwhile, the World Wide Web was launched in Model) to provide a scripting interface to manipulate doc- 1989/90. Native vector graphics support was unavailable ument content. SVG then went through an extensive revi- in the early days and plugins only worked on a subset of sion process until W3C published the first SVG standard (a browsers, so images were often used instead. This changed W3C Recommendation in their terminology) on 4 Septem- somewhat with the advent of the Virtual Reality Markup ber 2001 [svg01a] Since that time, SVG has been further Language in November 1994 (published as an ISO/IEC stan- revised. The current W3C Recommendation is version 1.1. dard after extensive revision in 1997 [VRM97]). Also, work and work on SVG2 is in progress. A comparison of SVG1.0 started on a WebCGM profile as early as 1995 and became and WebCGM appeared in [DHH02]. c The Eurographics Association 2015. DOI: 10.2312/cgvc.20151238 28 D.A. Duce & F.R.A. Hopgood / GKS-94 to SVG Both ISO/IEC and W3C develop standards through con- Application World Coordinates sensus building, the former amongst national standards mak- ing bodies, the latter through their membership. Software and hardware vendors were represented in both the GKS and Picture-part store SVG committees, though it is fair to say that user organisa- tions were better represented in the former than the latter. NDC picture Participation by academics was low in both cases. Fan out NDC Although GKS-94 and SVG have very different origins, Selection for display and indeed purposes, this paper explores some aspects of the functionality of each and how ideas have evolved over this Selection view 1 period. It offers an historical perspective, but also contains some reflections on both strengths and weaknesses of SVG Selection view 2 when seen in the context of GKS-94. The primary motiva- Selection view3 tion for this paper is to see how ideas in 2D vector graphics View 1 have evolved from GKS to SVG, what new insights have View 2 been gained and also what has been lost. A secondary moti- LDC vation is a plea to not loose sight of the early standardization View 3 Logical efforts in the field and to encourage the digital preservation DC of appropriate documents. View 1 View 2 The next section gives some context about the standard- View 3 ization processes of ISO/IEC and W3C. The paper then sets Realized picture out some historical context then gives brief overviews of Device GKS-94 and SVG. The paper concludes with reflections on key aspects of these. Figure 1: GKS-94 Architecture. 2. Historical Context The first edition of GKS was published in 1985 though de- considerably. Computing evolved from mainframes with at- velopment of the computer graphics standards for both 2D tached peripherals to high performance individual worksta- and 3D graphics had started in the mid 1970s. In those days tions with raster graphics capability and thence to laptops it was commonplace for applications to use multiple displays and mobile devices in the 2000s along with high-end large for a single task, for displays to have a wide range of differ- scale displays and immersive environments. Operating sys- ent characteristics and a wide variety of input devices were tems evolved to support multi-window displays through win- in use (for example light pens and tracker balls). Vector dis- dow management systems. In the 1990s it was commonplace plays were widespread, raster displays were both rare and for a single display to be used per task and for the mouse to expensive. Storage tube devices (such as the Tektronix 4010 be the most common input device. and 4014) were popular graphical output devices, and for the time were relatively low cost. Accumulated images could 3. An Overview of GKS-94 only be moved by flashing and redrawing the whole screen. Continuously refreshed vector displays, such as the Imlac An early event in the revision of the 1985 edition of the GKS PDS1 were much richer in capabilities, but much more ex- standard was a GKS Review Workshop held in September pensive. 1987 [gks87]. This explored the need to revise GKS in the light of subsequent developments in other standards includ- It was not unusual for a new graphics package to be devel- ing GKS-3D, PHIGS and work on a Computer Graphics oped, or an existing package to be extended, whenever a new Reference Model initiated in July 1985 [cgr]. Particular ar- device or new hardware was purchased in order to provide eas of attention at that workshop were segments and storage, convenient access to device features. Providing abstractions primitives, and input. to support device independence was an important issue that the early graphics standards sought to address. The worksta- An overview of GKS-94 at the end of the review process tion concept in GKS was developed with this in mind, a way was published by Brodlie, Damnjanovic, Duce and Hop- of representing a device with certain characteristics to which good [BDDH95]. This highlighted a number of areas in- output could be tailored. It is perhaps true that engineering cluding: normalized device coordinate (NDC) picture, prim- and scientific applications of computer graphics were domi- itive classes, output attributes, viewing, windowing environ- nant. ments, and input. During the late 1980s and 1990s this position changed The overall architecture of GKS-94 is shown in figure 1. c The Eurographics Association 2015. D.A. Duce & F.R.A. Hopgood / GKS-94 to SVG 29 The central part of GKS-94 was the normalized device co- by the CURVE INDEX bound at NDC level. This approach ordinate (NDC) picture. Primitives defined in world coordi- provided a flexible mechanism for defining, on a primitive nates by the application were transformed to NDC by a nor- by primitive basis, which attributes were to be workstation malization transformation (a window to viewport transfor- dependent (through the bundle index mechanism) or work- mation). Primitives could be stored at this level in a picture station independent (through logical attributes bound at the part store and then assembled to form a scene in the NDC NDC level). In other words this provided control over at- picture. A key property of the NDC picture was that it’s con- tributes that were used to differentiate one set of primitives tents were well-defined and hence the NDC picture could be of the same class from another, in a workstation dependent exported to an NDC metafile (Part 2 of the standard) and an way, perhaps using colour on a workstation capable of colour NDC metafile could be inserted into the NDC picture. Pic- output, or curve type (solid, dashed, etc.) on a workstation ture parts could be archived from a picture part archive (Part with only a monochrome capability.