title: GCI: a network server for interactive 3D graphics.
abstract: The Graphics Command Interpreter (GCI) is an independent server module that can be interfaced to any program that needs interactive three-dimensional (3D) graphics capabilities. The principal advantage of GCI is its simplicity. Only a limited set of powerful features have been implemented, including object management, global and local transformations, rotation, translation, clipping, scaling, viewport operations, window management, menu handling and picking. GCI and the master (client) program it serves run concurrently, communicating over a local or remote TCP/IP network. GCI sets up socket communication and provides a 3D graphics window and a terminal emulator for the master program. Communication between the two programs is via ASCII strings over standard I/O channels. The implied language for messages is very simple. GCI interprets messages from the master program and implements them as changes of graphical objects or as text messages to the user. GCI provides the user with facilities to manipulate the view of the displayed 3D objects interactively, independently of the master program, and to communicate mouse-controlled selection of menu items or 3D points as well as keyboard strings to the master program. The program is written in C and initially implemented using the Silicon Graphics GL graphics library. As the need to link special libraries to the master program is completely avoided, GCI can very easily be interfaced to existing programs written in any language and running on any operating system capable of TCP/IP communication. The program is freely available.
authors.affiliation: European Molecular Biology Laboratory, Heidelberg, Germany.
authors.forename: G
authors.initials: G
authors.lastname: Tuparev
authors.forename: G
authors.initials: G
authors.lastname: Vriend
authors.forename: C
authors.initials: C
authors.lastname: Sander
mesh_terms: D003195:Computer Communication Networks / Q000295:instrumentation*; D003196:Computer Graphics / Q000295:instrumentation*; D008958:Models, Molecular; D014584:User-Computer Interface