The Design of a Parallel Graphics Interface
Gordon Stoll, and
Appears in Computer Graphics (SIGGRAPH '98 Proceedings)
It has become increasingly difficult to drive a modern high-performance
graphics accelerator at full speed with a serial immediate-mode graphics
interface. To resolve this problem, retained-mode constructs have been
integrated into graphics interfaces. While retained-mode constructs
provide a good solution in many cases, at times they provide an
undesirable interface model for the application programmer, and in some
cases they do not solve the performance problem. In order to resolve some
of these cases, we present a parallel graphics interface that may be used
in conjunction with the existing API as a new paradigm for
high-performance graphics applications.
The parallel API extends existing ideas found in OpenGL and X11 that allow
multiple graphics contexts to simultaneously draw into the same image.
Through the introduction of synchronization primitives, the parallel API
allows parallel traversal of an explicitly ordered scene. We give code
examples which demonstrate how the API can be used to expose parallelism
while retaining many of the desirable features of serial immediate-mode
programming. The viability of the API is demonstrated by the performance
of our implementation which achieves scalable performance on a 24
Copyright Notice (from ACM):
Permission to make digital or hard copies of part or all of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. Copyrights for
components of this work owned by others than ACM must be honored.
Abstracting with credit is permitted. To copy otherwise, to republish, to
post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.