home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.ee.pdx.edu
/
2014.02.ftp.ee.pdx.edu.tar
/
ftp.ee.pdx.edu
/
pub
/
lpf
/
patent.5083262
< prev
next >
Wrap
Text File
|
1992-11-03
|
10KB
|
176 lines
5,083,262
Language bindings for graphics functions to enable one application program to
be used in different processing environments
INVENTOR: Lyle E. Haff, Jr., Owego, NY
ASSIGNEE: International Business Machines Corporation, Armonk, NY
APPL-NO: 07/590,327
DATE FILED: Sep. 27, 1990
REL-US-DATA: Continuation of Ser. No. 856,710, Apr. 28, 1986, abandoned.
INT-CL: [5] G06F 9/45; G06F 15/60; G06F 9/44
US-CL-ISSUED: 395/500; 364/239.9, 927.92, 977.1, 978, DIG.1, DIG.2
US-CL-CURRENT: 395/500; 364/239.9, 927.92, 977.1, 978, DIG.1, DIG.2
SEARCH-FLD: 364/200MSFile, 900MSFile
REF-CITED:
U.S. PATENT DOCUMENTS
3,558,811 1/1971 Montevecchio et al. 364/900
3,653,001 3/1972 Ninke 364/200
3,830,962 8/1974 Mailloux 364/900
3,893,075 7/1975 Orban et al. 364/900
4,094,000 6/1978 Brudevold 364/900
4,177,514 12/1979 Rupp 364/200
4,414,621 11/1983 Bown et al. 364/200
4,525,804 6/1985 Mosier et al. 364/900
4,529,978 7/1985 Rupp 340/727
4,539,653 9/1985 Bartlett et al. 364/900
4,623,963 11/1986 Phillips 364/300
4,646,228 2/1987 Ikeda 364/192
4,649,479 3/1987 Advani et al. 364/300
4,694,396 9/1987 Weisshaar et al. 364/300
OTHER PUBLICATIONS
IBM Publication entitled "Graphics Development Toolkit", (Aug. 1984), pp.
iii-xiii, 1-1 to 1-33.
IBM Publication entitled "IBM Personal Computer Graphical File System", (Nov.
1984), pp. iii-xxv.
IBM Publication entitled "IBM Virtual Machine/Personal Computer User's
Guide", (Dec. 1984), pp. iii-xiii.
"GSS-Drivers Assembler Binding Programmer's Guide", Graphic Software Systems,
Inc. (Oct. 1984), pp. iii-ix, 1-1 to 1-10.
IBM Publication GA37-0014-0 entitled "IBM VM/PC Toolkit-VDI Graphics User's
Guide", published Aug. 1985.
ART-UNIT: 232
PRIM-EXMR: Thomas C. Lee
ASST-EXMR: Ken S. Kim
LEGAL-REP: Baker, Maxham, Jester & Meador
ABSTRACT:
Establishing a language specific linkage between high-level graphics
application programs written in a specific programming language and different
intermediate-level graphics processors permit a graphics application program
to be transported between and used in different graphics processing systems.
A single, portable graphics application program can be used with any of the
graphics processors with which an application language linkage has been
established to produce graphs on an output device.
14 Claims, 5 Drawing Figures
EXMPL-CLAIM: 1
NO-PP-DRAWING: 4
PARENT-CASE:
This is a continuation of application Ser. No. 06/856,710 filed Apr. 28,
1986, now abandoned.
SUMMARY:
BACKGROUND OF THE INVENTION
The invention is in the field of computer graphics, and more particularly
concerns the operation of diverse graphics processors in response to a single
graphics application program written in a certain programming language, the
response of any graphics processor afforded by means of a set of common
language linkages that translate the application program functions into sets
of commands and data for the processor.
As is known in the art, a graphics processor is a software construct
embracing a set of callable subroutines, functions, or commands that provides
an interface between graphics application programs written in
device-independent languages and a graphics output device that produces
graphs defined by the application programs. The graphics processor
constitutes an intermediary between an application program written in a
high-level, user-comprehendible programming language and device-dependent
graphics device processors, which respond to sets of low-level instructions.
The volume by J. Foley and A. Van Dam, entitled "Fundamentals Of Interactive
Computer Graphics," Addison-Wesley, 1982, 1984 is instructive in the
characteristics and operations of graphics processors.
In the past, the structure and operation of a graphics processor have had to
take into account the characteristics of the software and hardware context
within which the processor operates. Thus, a representative graphics
processor is the graphics data display manager (GDDM) processing subsystem
designed for operation in the main frame computer environment exemplified by
the System 370 computing system available from IBM. The GDDM provides a
graphics-output-device-independent interface to an application programmer,
receives application language function or subroutine calls which set
processor operational conditions and activate processor graphical primitive
commands, and operates an output device driver, which produces graph
representations corresponding to the called commands and having attributes
determined by the set conditions.
Another graphics processor is represented by the proposed Computer Graphics
Interface (CGI) Standard X3.122 promulgated by ANSI. The Computer Graphics
Interface defines the characteristics of a graphics processor which stands
between output device-specific drivers and output device-independent
application processes in a graphics environment. For application programs,
the CGI processor performs receiving and operating functions that correspond
to those of the GDDM. However, the CGI assumes a basic set of graphics
primitives such as shapes, lines, and text characters, and associates with
each set of primitives a respective set of primitive attributes such as
color, line thickness, and character type. The CGI receives the application
program graphics command and attribute information in the form of one or more
standard data objects called "metafiles." A metafile is a device-independent
description of a graph or graph portion in terms of graphical primitive
elements such as lines or text and primitive attributes such as line color
and text style. The metafiles received by the processor cause it to operate a
specified output device driver. An IBM product, the personal computer AT/370,
has available a graphics processor referred to as the Virtual Device
Interface (VDI), which embodies the CGI Standard.
It will be evident to those skilled in the art that the subroutines employed
by a GDDM-type processor to transform application program statements to
graphical primitive commands and attributes differ from those of a CGI
processor. Other differences between the processors can exist. For example,
although both the GDDM and the VDI embodiments employ point coordinates in
line drawing and object positioning, the processors use different structures
to organize the data points: the GDDM point array is organized as (x.sub.1,
x.sub.2, . . . ,x.sub.n), (y.sub.1,y.sub.2, . . . ,y.sub.n), while the VDI
structures its points in the form (x.sub.1,y.sub.1), . . .
,(x.sub.n,y.sub.n). Further distinctions include: different character codes;
different color representation and indexing; and different forms of
representation for graphical primitive attributes.
From the standpoint of programmer efficiency, it would be desirable to
enable different graphics processors to respond uniformly to a single
high-level graphics application language program. This would permit an
application programmer to create a graphics program using a single set of
statements, which would result in the creation of identical graphs using any
one of a number of different graphics processing facilities. This property is
commonly called portability. However, to date, application programmers must
construct graphics programs that are tailored to the specific characteristics
of the graphics processing service embodied in the computing facility
available to the programmer. Thus, even when the programmer employs the same
graphics application language to operate different graphic processing
services, the programmer must construct an application program tailored to
the specific graphics processor. In this regard, then, graphics application
programs are not portable between different processing facilities, even if
expressed in the same language.
Therefore, there is an evident need for a construct that will provide a mode
of establishing linkages to any of a variety of different graphics processors
from a single graphics application program rendered in a particular
programming language.
SUMMARY OF THE INVENTION
The primary objective of this invention is, then, to provide such linkages
in the form of common language bindings that will permit a single graphics
application program, written in a particular programming language, to operate
any one of a plurality of respectively-constructed graphics processors.
The invention is expressed as a process construct for providing a language
binding linking a graphics application interface and a graphics processor.
The construct provides for: translating application language graphics
specification data into graphics process-specific commands and attributes;
building command and attribute data transfer structures for translated
graphics process-specific commands and attributes; and establishing a command
and attribute data transfer path for providing the built data structures from
the graphics application interface to the graphics processor.
The process construct is embodied in a representative graphics application
programming language context.
The above objects and other attendant advantages of the invention will
become clearer when the following detailed description of the invention is
read in light of the below-described drawings.