A DISTRIBUTED GRAPHICS SYSTEM IMPLEMENTED IN PROLOG
Abstract
The construction of complex two dimensional graphics is a computationally
intensive process. This is aggravated in languages such as Prolog where it
is not easy to perform the arithmetic for geometric transformations at a
satisfactorily high speed. One approach to this problem is to distribute
the geometric computations to a special purpose graphics processor which
is tightly coupled with a display screen. Unfortunately, for complex
pictures without a lot of regularity in their structure it can take more
time to communicate the picture representation to the graphics processor
than to generate plotting instructions directly. A high level language for
two dimensional graphics (GROWL) is described. The "standard" implementation
of this generates directly executable Prolog code from the GROWL source.
A distributed version has been completed which compiles the original source
to two programs. One is intended to run on a remote processor and includes
little more than the arithmetic for geometric transformations. The other
runs on the host as a Prolog program and is completely free of the
overhead necessary for geometric transformations but includes all the
logic necessary to direct the picture construction. A novel message passing
scheme is used for communication between two components. The result is a
system which gives very compact representations of pictures on the
graphics processor, a very low communications overhead and a high degree
of parallelism between the host and graphics processors.
Description
Keywords
Computer Science