0% found this document useful (0 votes)
154 views8 pages

Overview of the Graphical Kernel System

GKS (Graphical Kernel System) was the first ISO standard for 2D vector computer graphics, established in 1977. It defines a set of drawing primitives for 2D graphics like polylines, polymarkers, fillareas, text, and cellarrays. The GKS calls are defined to be portable across programming languages, graphics hardware, and platforms. It consists of specifications for functionality, descriptive material, and language bindings like C. The standard aims to provide portability of graphics applications and help application programmers learn graphics systems. Key GKS primitives include polylines for line segments, polymarkers for markers at points, fillarea for filled polygons, and text for drawing text strings.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
154 views8 pages

Overview of the Graphical Kernel System

GKS (Graphical Kernel System) was the first ISO standard for 2D vector computer graphics, established in 1977. It defines a set of drawing primitives for 2D graphics like polylines, polymarkers, fillareas, text, and cellarrays. The GKS calls are defined to be portable across programming languages, graphics hardware, and platforms. It consists of specifications for functionality, descriptive material, and language bindings like C. The standard aims to provide portability of graphics applications and help application programmers learn graphics systems. Key GKS primitives include polylines for line segments, polymarkers for markers at points, fillarea for filled polygons, and text for drawing text strings.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Graphics Kernel System (GKS)

The Graphical Kernel System (GKS) was the first ISO standard for computer
graphics in low-level, established in 1977. GKS offers a group of drawing aspects
for 2D vector graphics appropriate for mapping and related duties. The calls are
defined to be moveable across various programming languages, graphics hardware,
so that applications noted to use GKS will be willingly portable to different devices
and platforms.

Fig.5.3. Layers of GKS

The following documents are representing GKS standards:

• The language bindings are called in ISO 8651 standard.


• ANSI X3.124 (1985) is part of ANSI standard.

• ISO/IEC 7942 noted in ISO standard, first part of 1985 and two to four parts of
1997-99.


• ISO 8805 and ISO 8806.
The main uses of the GKS standard are:

• To give for portability of application graphics programs.


• To assist in the learning of graphics systems by application programmers.


• To offer strategy for manufacturers in relating practical graphics
capabilities.

The GKS consists of three basic parts:

i) A casual exhibition of the substances of the standard which contains such


things as how text is placed, how polygonal zones are to be filled, and so
onward.

ii) An official of the descriptive material in (i), by way of conceptual the ideas
into separate functional explanations. These functional descriptions have
such data as descriptions of input and output parameters, specific
descriptions of the result of every function should have references into
the descriptive material in (i), and a description of fault situation. The
functional descriptions in this division are language autonomous.

iii) Language bindings are an execution of the abstract functions explained in


(ii). in a explicit computer language such as C.
GKS arrange its functionality into twelve functional stages, based on the
complexity of the graphical input and output. There are four stages of output (m, 0,
1, 2) and three stages of input (A, B, C). NCAR GKS has a complete execution of
the GKS C bindings at level 0 A.

1. GKS Output Primitives

GKS is based on a number of elements that may be drawn in an object know


as graphical primitives. The fundamental set of primitives has the word names
POLYLINE, POLYMARKER, FILLAREA, TEXT and CELLARRAY, even
though a few implementations widen this basic set.

i) POLYLINES

The GKS function for drawing line segments is called ‘POLYLINE’Th


e. ‘POLYLINE’

command takes an array of X-Y coordinates and creates line segments joining
them. The elements that organize the look of a ‘POLYLINE’re (Figa.5.3):

• Line type : solid, dashed or dotted.

• Line width scale factor : thickness of the line.

• Polyline color index : color of the line.


Fig.5.3. GKS POLYLINES

ii) POLYMARKERS

The GKS OLYMARKER‘P’function permits to draw symbols of marker


centered at coordinate points. The features that control the look of
‘POLYMARKERS’are (Fig.5.4.):

• Marker characters : dot, plus, asterisk, circle or cross.

• Marker size scale factor : size of marker

• Polymarker color index : color of the marker.


Fig.5.4. GKS POLYMARKERS

iii) FILLAREA

The GKS ILL‘FAREA’function permits to denote a polygonal shape of a zone to


be filled with various interior shapes. The features that control the look of fill areas
are (Fig.5.5.):

• FILL AREA interior style : solid colors, hatch patterns.

• FILL AREA style index : horizontal lines; vertical lines; left slant lines;

right slant lines; horizontal and vertical lines; or


left slant

and right slant lines.


• Fill area color index : color of the fill patterns / solid areas.

Fig.5.5. GKS FILLAREA

iv) TEXT

The GKS TEXT function permits to sketch a text string at a specified


coordinate place. The features that control the look of text are:

• Text font and precision : text font should be used for the characters

• Character expansion factor : height-to-width ratio of each character.

• Character spacing : additional white space should be inserted between


characters
• Text color index : color the text string

• Character height : size of the characters

• Character up vector : angle the text

• Text path : direction the text should be written (right, left, up,
or down).

• Text alignment : vertical and horizontal centering options for the text string.

Fig.5.6. GKS TEXT

v) CELL ARRAY

The GKS CELL ARRAY function shows raster like pictures in a device
autonomous manner. The CELL ARRAY function takes the two corner points of a
rectangle that indicate, a number of partitions (M) in the X direction and a number
of partitions (N) in the Y direction. It then partitions the rectangle into M x N sub
rectangles noted as cells.

Common questions

Powered by AI

The 'POLYMARKER' and 'TEXT' primitives in GKS interact to provide detailed graphical annotations by combining symbols and text to convey information effectively. 'POLYMARKER' places distinct markers at specified coordinates, which can highlight points of interest, while 'TEXT' can label these markers with descriptive information. By utilizing features like marker size, shape, and color alongside text fonts, spacing, and alignment, developers can create clear and informative annotations that improve understanding and communication within graphical displays. This interaction between graphics primitives enables the creation of detailed, annotated visuals that are informative and visually coherent .

The 'POLYLINE' primitive in GKS is used to draw line segments by joining a series of X-Y coordinate points. It impacts graphical output by providing a basic yet flexible way to create continuous or segmented lines, which are essential for numerous graphical applications such as maps and diagrams. User flexibility is enhanced by the ability to specify attributes like line type (solid, dashed, dotted), line width, and color, allowing users to customize the appearance of their graphical lines to suit specific needs and preferences .

Learning through GKS provides educational benefits by offering a structured and standardized approach to understanding computer graphics. This framework reduces complexities by abstracting device-specific details, thus allowing programmers to focus on graphical concepts such as primitives and function descriptions. Compared to non-standardized systems, GKS ensures consistency in learning outcomes by eliminating the variability that often accompanies proprietary graphics systems. Additionally, GKS's formalized documentation and language bindings contribute to a clearer learning path, enabling programmers to apply their knowledge effectively across various languages and platforms, a skill highly beneficial in today's diverse technological landscape .

The 'FILLAREA' primitive in GKS enhances the visual representation of polygonal shapes by allowing these areas to be filled with different styles such as solid colors or hatch patterns. The ability to choose interior styles and fill area style indices, including various combinations of line patterns, provides rich visual differentiation and aids in the communication of data through graphical means. Additionally, the color index feature permits the use of diverse color schemes to further enhance visual contrast and aesthetics, making graphics more intuitive and visually appealing .

GKS has significantly influenced modern computer graphics development by establishing foundational concepts of device-independent graphics and standardized graphical operations. This has paved the way for subsequent graphics standards and libraries that prioritize portability and consistency across platforms, such as OpenGL and DirectX. Despite being introduced in the late 1970s, the core principles of GKS remain relevant as they continue to inform the design of graphics systems that demand compatibility and ease of use across diverse hardware configurations. However, with rapid technological advancements, newer standards and tools have built upon and evolved these concepts to address modern demands for high-performance and complex 3D graphics, which GKS was not explicitly designed to handle .

GKS manages the complexity of graphical systems by organizing its functionality into distinct input and output stages. The four output stages (m, 0, 1, 2) and three input stages (A, B, C) categorize functions based on their complexity, allowing developers to incrementally adopt more advanced graphical capabilities as needed. This hierarchical structure simplifies the learning curve for developers and facilitates the step-wise implementation of graphics features, ensuring that developers can match the system complexity to their application's requirements without being overwhelmed by all available functionalities at once .

GKS ensures device independence by defining graphical operations, such as TEXT and CELL ARRAY, in a way that abstracts away the specifics of any hardware device. For instance, the TEXT function includes features like font, size, color, and alignment, which allows text to be rendered consistently on different devices without needing to specify device-specific implementation details. Similarly, the CELL ARRAY function enables the display of raster-like images in a device-independent manner by partitioning the display area into sub-rectangles (cells) based on specified parameters. This abstraction allows applications to maintain consistent graphical output across various platforms .

Language bindings in the GKS standard are crucial because they translate the abstract functional descriptions of graphical operations into specific implementations in various programming languages. This facilitates interoperability by ensuring that GKS functions can be executed reliably across different systems and environments. By providing these language-specific bindings, GKS enables developers to write graphics applications in their preferred programming language while maintaining consistency in graphical output regardless of the underlying hardware or software platform. This supports the portability and widespread adoption of graphics applications built on GKS .

The primary objectives of the GKS standard are to ensure the portability of application graphics programs, facilitate the learning of graphics systems by application programmers, and guide manufacturers in implementing practical graphics capabilities. These objectives contribute to software portability by standardizing the way graphics are implemented across different devices and platforms, enabling programs written for GKS to be easily ported between systems. Furthermore, by providing a consistent set of graphical functions and concepts, GKS assists developers in understanding and utilizing graphics systems, thereby enhancing their skills and knowledge in computer graphics .

Developers implementing GKS standards for complex graphical applications may face challenges such as understanding and applying the extensive functional descriptions and language bindings provided by the standard. As GKS is designed to be portable and device-independent, developers must ensure that their applications manage graphical output consistently across different environments, which can be demanding for complex applications requiring intricate graphics. Additionally, interpreting the flexible but abstract definitions of graphical primitives, such as POLYLINE and FILLAREA, to fit specific application needs without causing inconsistencies or performance issues may be challenging. These factors can complicate the development process but are essential for achieving the intended portability and compatibility of GKS-based applications .

You might also like