Computer Graphics Programming: GKS - The Graphics Standard by Günter EnderleComputer Graphics Programming: GKS - The Graphics Standard by Günter Enderle

Computer Graphics Programming: GKS - The Graphics Standard

byGünter Enderle, Klaus Kansy, Günther Pfaff

Paperback | November 20, 2011

Pricing and Purchase Info

$141.95

Earn 710 plum® points

Prices and offers may vary in store

Quantity:

In stock online

Ships free on orders over $25

Not available in stores

about

TO COMPUTER GRAPHICS BASED ONGKS Part I gives an introduction to basic concepts of computer graph­ ics and to the principles and concepts of GKS. The aims of this part are twofold: to provide the beginner with an overview of the terminology and concepts of computer graphics, based on GKS, and to give the computer graphics expert an introduc­ tion to the GKS standard. In the early chapters of this part, the main areas of computer graphics, the various classes of com­ puter graphics users, the interfaces of GKS and its underlying design concepts are discussed and important terms are defined. The later chapters give an informal introduction to the main concepts of GKS and their interrelationships: output, attributes, coordinate systems, transformations, input, segments, metafile, state lists, and error handling. This introduction to the GKS framework will prepare the ground for the detailed description of 2D GKS functions in Part III and the 3D extensions to GKS in Part IV. 1 WHAT IS COMPUTER GRAPHICS? 1. 1 Defmition of Computer Graphics The Data Processing Vocabulary of the International Organization for Stan­ dardization (ISO) [ISO 84] defines Computer Graphics as follows: "Methods and techniques for converting data to and from a graphic display via computer. " This definition refers to three basic components of any computer graphics system - namely "data", "computer", and "display".
Title:Computer Graphics Programming: GKS - The Graphics StandardFormat:PaperbackPublished:November 20, 2011Publisher:Springer Berlin HeidelbergLanguage:English

The following ISBNs are associated with this title:

ISBN - 10:3642710816

ISBN - 13:9783642710810

Reviews

Table of Contents

I - Introduction to Computer Graphics Based on GKS.- What Is Computer Graphics?.- 1.1 Definition of Computer Graphics.- 1.2 Areas of Computer Graphics.- 1.3 Impact of the Graphical Kernel System on Computer Graphics.- 2 Aims and Contents of Part I.- 3 The Computer Graphics User.- 4 Interfaces of the Graphical Kernel System.- 5 Principles and Goals of the Graphical Kernel System.- 6 Main Concepts of the Graphical Kernel System.- 7 Creating Graphical Output.- 7.1 Line Graphics and Raster Graphics.- 7.2 Output Primitives and Attributes.- 7.2.1 Output Primitives.- 7.2.2 Output Primitive Attributes.- 7.3 Indices, Bundles, and Tables.- 8 Coordinate Systems and Transformations.- 8.1 Coordinate Systems.- 8.2 Transformations.- 8.3 The Normalization Transformation.- 8.4 Clipping.- 9 The Graphical Workstation.- 9.1 Routing Output to Workstations.- 9.2 Types of GKS Workstations.- 9.3 The Workstation Transformation.- 9.4 The Deferral State.- 9.5 Addressing Special Workstation Capabilities.- 10 Input.- 10.1 Interactive Computer Graphics.- 10.2 Logical Input Device Classes.- 10.3 Operating Modes.- 10.4 Echoes, Prompts, and Input Device Initialisation.- 11 Segments.- 11.1 Structuring Pictures.- 11.2 Manipulating Segments.- 11.3 Segment Attributes.- 11.4 Segment Transformations.- 11.5 Workstation-Dependent and Workstation-Independent Segment Storage.- 11.6 Copying Segments.- 12 The GKS Metafile.- 12.1 Graphics Metafiles.- 12.2 GKSM and CGM.- 12.3 The Metafile Interface.- 12.4 The Metafile Formats.- 13 States and State Lists.- 13.1 The GKS Operating State.- 13.2 The State Lists.- 13.3 Inquiry Functions for State List Values.- 14 Error Handling.- 15 3D Extensions to GKS.- II - The Process of Generating a Standard.- 1 The Evolution of Computer Graphics.- 1.1 Graphical Devices.- 1.2 Graphics Software.- 1.3 SEILLAC I.- 2 Committees, People, and Events.- 2.1 Graphics Standardization Committees.- 2.2 People.- 2.3 Overview of the Main Events.- 3 GKS Review - Problems and Their Solutions.- 3.1 Scope of the Standard.- 3.2 Output Primitives.- 3.3 Segmentation.- 3.4 Input.- 3.5 Transformations.- 3.6 Workstation Concept.- III - Graphical Kernel System Programming.- 1 Format and Structure of Part III.- 1.1 Contents of Part III.- 1.2 Format of GKS Function Definitions.- 1.2.1 Example of the Definition of GKS Functions.- 1.2.2 Format of Language-Independent Definition.- 1.2.3 Format of FORTRAN Definition.- 1.3 Format of Examples.- 1.3.1 Example of an Example.- 1.3.2 Format of Pascal Examples.- 1.3.3 Format of FORTRAN Examples.- 1.4 Exercises.- 2 Levels.- 2.1 Overview.- 2.2 Functionality of the GKS Levels.- 2.2.1 The Minimal or Lowest Level of GKS (Level 0 a).- 2.2.2 Level 0 b.- 2.2.3 Level 0c.- 2.2.4 Levels 1a, 1b, 1c.- 2.2.5 Levels 2a, 2b, 2c.- 2.3 The Impact on Writing Portable Application Programs.- 2.4 Exercises.- 3 States and State Lists.- 3.1 Introduction.- 3.2 Operating States.- 3.3 The Functions Allowed in Individual States.- 3.4 State Lists.- 3.5 Basic Control Functions.- 3.6 Examples.- 4 Workstations.- 4.1 Introduction.- 4.2 Workstation Description Table.- 4.3 Workstation State List.- 4.4 GKS Functions Which Involve Workstations.- 4.5 Workstation Control.- 4.6 Deferring Picture Changes.- 4.7 Addressing Workstation Capabilities Not Covered by GKS.- 4.8 Examples.- 4.9 Exercises.- 5 Transformations.- 5.1 Coordinate Systems.- 5.2 Normalization Transformation.- 5.3 Workstation Transformation.- 5.4 Clipping.- 5.5 Transformation of LOCATOR and STROKE Input.- 5.6 Examples.- 5.7 Exercises.- 6 Output Primitives.- 6.1 Introduction.- 6.2 POLYLINE Primitive.- 6.2.1 Global POLYLINE Attributes.- 6.2.2 Workstation-Dependent POLYLINE Attributes.- 6.3 POLYMARKER Primitive.- 6.3.1 Global Polymarker Attributes.- 6.3.2 Workstation-Dependent POLYMARKER Attributes.- 6.4 TEXT Primitive.- 6.4.1 TEXT Attributes for Beginners.- 6.4.2 Character Body.- 6.4.3 Text Extent Rectangle.- 6.4.4 Text Font and Precision.- 6.4.5 Setting Global Text Attributes.- 6.4.6 Workstation-Dependent TEXT Attributes.- 6.5 FILL AREA Primitive.- 6.5.1 Global FILL AREA Attributes.- 6.5.2 Workstation-Dependent FILL AREA Attributes.- 6.6 CELL ARRAY Primitive.- 6.7 Generalized Drawing Primitive (GDP).- 6.8 Attribute Setting Functions Which Concern All Primitives.- 6.8.1 Setting the Colour Table.- 6.8.2 Setting the Aspect Source Flags.- 6.8.3 Setting the Pick Identifier.- 6.8.4 Clipping Rectangle.- 6.9 Examples.- 6.10 Exercises.- 7 Segments.- 7.1 Introduction.- 7.2 How Are Segments Generated?.- 7.3 What Is Stored in a Segment?.- 7.4 When Are Primitives Taken from the Transformation Pipeline?.- 7.5 Segment Creation and Deletion.- 7.6 Manipulation of the Segment Attributes.- 7.7 The Workstation-Independent Segment Storage (WISS).- 7.8 Different Levels of Segmentation.- 7.9 Utility Functions.- 7.10 Examples.- 7.11 Exercises.- 8 Input.- 8.1 Introduction to Logical Input Devices.- 8.1.1 Identification.- 8.1.2 Logical Input Classes and Values.- 8.1.3 Operating Modes.- 8.1.4 Logical Input Device Model.- 8.1.5 Setting the Logical Input Device Mode.- 8.2 Details About Logical Input Devices.- 8.2.1 LOCATOR and STROKE Devices.- 8.2.2 Valuator.- 8.2.3 Choice.- 8.2.4 Pick.- 8.2.5 String.- 8.3 Initialising Logical Input Devices.- 8.4 Changing the Input Device Mode.- 8.5 Request Input.- 8.6 Sample Input Functions.- 8.7 Event Input.- 8.7.1 Input Queue and Current Event Report.- 8.7.2 Functions to Await and Delete Event Queue Entries.- 8.7.3 Get Input Functions.- 8.8 A Compound Example of Using the GKS Input Functions.- 8.9 Exercises.- 9 Error Handling.- 9.1 Strategy.- 9.2 The Emergency Closure Procedure.- 9.3 The ERROR HANDLING and ERROR LOGGING Procedures.- 9.4 Error Detection Within GKS Procedures.- 9.5 Reaction of Application Programs to Error Detections.- 9.6 List of GKS Error Numbers and Messages.- 9.6.1 States.- 9.6.2 Workstations.- 9.6.3 Transformations.- 9.6.4 Output Attributes.- 9.6.5 Output Primitives.- 9.6.6 Segments.- 9.6.7 Input.- 9.6.8 Metafiles.- 9.6.9 Escape.- 9.6.10 Miscellaneous Errors.- 9.6.11 System Errors.- 9.6.12 Reserved Errors.- 9.6.13 Implementation-Dependent Errors.- 9.7 Exercises.- 10 Inquiry Functions.- 10.1 State Lists and Inquiry Functions.- 10.1.1 Error Reports in Inquiry Functions.- 10.1.2 Inquiry Functions for the Settable State Lists.- 10.1.3 Inquiry Functions for the Workstation Description Table.- 10.1.4 Inquiry Functions for the Error State List and Pixel Memories.- 10.2 Description of the Inquiry Functions.- 10.2.1 Inquiry Function for Operating State.- 10.2.2 Inquiry Functions for GKS Description Table.- 10.2.3 Inquiry Functions for GKS State List.- 10.2.4 Inquiry Functions for Workstation State List.- 10.2.5 Inquiry Functions for Workstation Description Table.- 10.2.6 Inquiry Functions for Segment State List.- 10.2.7 Pixel Inquiries.- 10.2.8 Inquiry Function for GKS Error State List.- 10.3 Examples.- 10.4 Exercises.- 11 Metafile Interface.- 11.1 Overview.- 11.2 The Metafile Workstation.- 11.3 GKSM Output.- 11.3.1 Non-Graphical Data.- 11.3.2 Graphical GKSM Output.- 11.3.3 Segment Functions.- 11.4 GKSM Input.- 11.5 Program Examples.- 11.6 Exercises.- IV - GKS-3D.- 1 History.- 2 Overview of GKS-3D.- 2.1 Scope and Purpose.- 2.2 Functionality of GKS-3D.- 2.3 Levels.- 3 State Lists.- 4 Workstations.- 5 Transformations.- 5.1 Coordinate Systems.- 5.2 Normalization Transformation.- 5.3 Viewing Transformation.- 5.4 Hidden Line/Hidden Surface Removal (HLHSR).- 5.5 Workstation Transformation.- 5.6 Transformation of LOCATOR 3 and STROKE 3 Input.- 6 Output Primitives.- 6.1 Introduction.- 6.2 POLYLINE 3 Primitive.- 6.3 POLYMARKER 3 Primitive.- 6.4 TEXT 3 Primitive.- 6.5 FILL AREA 3 Primitive.- 6.6 FILL AREA SET 3 Primitive.- 6.7 CELL ARRAY 3 Primitive.- 6.8 Generalized Drawing Primitive 3 (GDP3).- 7 Segments.- 8 Input.- 8.1 Initialise Functions.- 8.2 Request Input Functions.- 8.3 Sample Input Functions.- 8.4 Event Input Functions.- 9 List of GKS-3D Error Numbers and Messages.- 9.1 GKS-3D Transformations.- 9.2 GKS-3D Output Attributes.- 9.3 GKS-3D Output Primitives.- 10 Inquiry Functions.- 10.1 Inquiry Functions for GKS-3D State List.- 10.2 Inquiry Functions for GKS-3D Workstation State List.- 10.3 Inquiry Functions for GKS-3D Workstation Description Table.- 10.4 Inquiry Functions for the Segment State List.- 10.5 Pixel Inquiries.- 11 Embedding the GKS Functions into GKS-3D.- 12 PHIGS.- v - The GKS Environment.- 1 Mapping Output Primitives and Attributes to Physical Workstations.- 1.1 POLYLINE Primitive and Attributes.- 1.2 POLYMARKER Primitive and Attributes.- 1.3 TEXT Primitive and Attributes.- 1.4 FILL AREA Primitive and Attributes.- 1.5 CELL ARRAY Primitive.- 1.6 Generalized Drawing Primitive (GDP).- 1.7 Colour Attribute.- 1.8 Transformability of Geometric Aspects of Non-Geometric Attributes.- 1.9 Segment Attributes.- 2 Mapping Logical onto Physical Input Devices.- 2.1 The Role of Logical Input Devices.- 2.2 Properties of Logical Input Devices.- 2.3 Properties of Physical Input Devices.- 2.4 The Logical Input Device Model.- 2.5 Means of Defining Logical Input Device Realizations.- 2.5.1 A Syntax for the Specification of Interaction Processes.- 2.5.2 Generating Logical Input Device Implementations.- 2.6 Some Examples of Logical Input Device Realizations.- 2.6.1 LOCATOR and STROKE Devices.- 2.6.2 Valuator.- 2.6.3 Choice.- 2.6.4 Pick.- 2.6.5 String.- 3 Implementation Aspects.- 3.1 Feasibility of GKS Implementations.- 3.2 Generality of GKS Implementations.- 3.2.1 Environment-Specific Systems.- 3.2.2 Device-Independent Systems.- 3.2.3 Configurable Systems.- 3.3 Some Implementation Concepts.- 3.3.1 Output.- 3.3.2 Input.- 3.4 Permitted Differences Between GKS Implementations.- 3.4.1 Global Differences.- 3.4.2 Workstation-Dependent Differences.- 3.5 Documentation of an Implementation.- 4 Language Interfaces and Their Implementation.- 4.1 Guidelines for the Definition of Language Bindings.- 4.1.1 Language Binding Rules.- 4.1.2 Implementation of the Language Interface.- 4.2 The GKS FORTRAN Language Binding.- 4.3 The GKS Pascal Language Binding.- 4.3.1 General Definitions.- 4.3.2 Pascal Data Types.- 4.3.3 Pascal Procedures.- 4.4 Other Language Bindings.- 5 Interfaces to Graphics Devices.- 5.1 Principles.- 5.2 Separation of the Device-Independent from the Device Dependent Code Parts.- 5.3 DI/DD Interfaces.- 5.3.1 DI/DD Function Set.- 5.3.2 Minimal DI/DD Interfaces.- 5.3.3 Constructing DI/DD Interfaces.- 5.4 The DI/DD Function Set.- 5.4.1 The Workstation Function Set.- 5.4.2 Device-Oriented Function Set.- 5.5 DI/DD Interface Description Tables.- 5.6 Computer Graphics Interface.- 5.6.1 Functional Description.- 5.6.2 Encoding Parts.- 5.6.3 Language Bindings.- 5.6.4 Relationship of CGI to GKS.- 5.6.5 Relationship of CGI to Metafiles.- 6 Metafiles.- 6.1 Introduction.- 6.2 Graphics Metafiles Proposals.- 6.3 GKS Metafile.- 6.3.1 Contents of the GKS Metafile.- 6.3.2 Format of the GKS Metafile.- 6.3.3 Status of the Metafile Definition.- 6.3.4 File Format and Data Format.- 6.3.5 Generation and Interpretation of Metafile.- 6.3.6 Control Items.- 6.3.7 Items for Output Primitives.- 6.3.8 Items for Output Primitive Attributes.- 6.3.9 Items for Workstation Attributes.- 6.3.10 Item for Clipping Rectangle.- 6.3.11 Items for Workstation Transformation.- 6.3.12 Items for Segment Manipulation.- 6.3.13 Items for Segment Attributes.- 6.3.14 User Items.- 6.4 The ISO Computer Graphics Metafile CGM.- 6.5 Levels of Metafiles.- 7 Certification/Validation of GKS.- 7.1 Introduction.- 7.1.1 Verifying GKS Implementations.- 7.1.2 Falsification Approach.- 7.2 A Model for Certification.- 7.2.1 Test Programs.- 7.2.2 Candidate Implementations.- 7.2.3 Reference Implementations.- 7.3 Interfaces for Testing.- 7.3.1 Application Program Interface.- 7.3.2 Operator Interface.- 7.3.3 Device Interface.- 7.4 Certification by Program Construction.- 7.5 A Combined Model for Verification and Testing.- 7.5.1 Format of Certification Data.- 7.5.2 Describing the Candidate Implementation.- 7.5.3 Reference Implementation.- 7.6 GKS Certification in Practice.- 7.6.1 Test Centres.- 7.6.2 Test Program Suite.- 7.6.3 Certification Procedure.- 7.6.4 Assistance for an Implementor.- 7.6.5 The Present State of Practical Certification.- 8 Terminology.- 8.1 Introduction.- 8.2 Vocabulary.- References.