Browse Prior Art Database

Graphics Mode Performance

IP.com Disclosure Number: IPCOM000099432D
Original Publication Date: 1990-Jan-01
Included in the Prior Art Database: 2005-Mar-14
Document File: 2 page(s) / 94K

Publishing Venue

IBM

Related People

Oliver, LM: AUTHOR [+3]

Abstract

Graphics support requires the creation of complex objects from relatively simple drawing orders. Disclosed is a method of providing this function without adding special hardware assist, with acceptable performance, and with a limited amount of program and data stores.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Graphics Mode Performance

       Graphics support requires the creation of complex objects
from relatively simple drawing orders.  Disclosed is a method of
providing this function without adding special hardware assist, with
acceptable performance, and with a limited amount of program and data
stores.

      Graphics support is intended to emulate a physical pen plotter,
where graphics objects are produced by the motion of a physical pen
over the surface of the paper.  The pen has the implicit
characteristics of color and diameter; it can be raised and lowered,
producing patterns referred to as line types.  A combination of
techniques is utilized to meet these requirements:  two-dimensional
vector sweeping, array line type processing, line type color
emulation, and fast complex clipping. Two-Dimensional Vector Sweeping

      The fundamental object in graphics is the vector, which is
described by an ordered pair of Cartesian coordinates. Drawing a
vector comprises digitizing the vector and accounting for the
physical diameter of the virtual pen. The vector must be given
thickness and rounded ends to produce an acceptable emulation for a
physical pen.  Because line types are determined by the order of the
coordinate pair, the direction of the vector must also be maintained.

      Performance requirements coupled with hardware limitations
dictate that the digitization must be accomplished using an integer
conversion algorithm, as any process utilizing floating point
operations would consume too much CPU resource.  The best existing
integer digitization algorithm is the Bresenham [*] algorithm, which
handles line segments of zero width.  This algorithm is extended to
handle vectors of real width.

      Apparent pen thickness must be constant regardless of the angle
at which the vector is drawn, must merge smoothly between vectors as
when a physical pen is changing direction, and must provide for
rounded end points as when a physical pen is lifted at the end of the
line.  This is accomplished by creating a bit image of the pen
diameter at the time the pen thickness was determined and sweeping
this bit image along the digitized points determined by the extended
Bresenham algorithm. Array Line Type Processing

      Line types are produced on a plotter by physically raising and
lowering the pen at set intervals to produce...