Jump to content

Vector General

From Alfawiki
Adapted from the English Wikipedia article Vector General, available under CC BY-SA 4.0Updated 25 July 2025
Vector General
Company typePrivate
IndustryComputer hardware
Founded1969
Headquarters
United States
ProductsVector graphics terminals (VG series, including VG3D)

Vector General (VG) refers both to a line of graphics terminal devices and the California-based firm that developed them, launched in 1969 and prevalent in computing laboratories until the early 1980s.

These terminals functioned by interpreting vector instructions from a host minicomputer and incorporated dedicated hardware to execute fundamental mathematical operations such as rotation and scaling. This design choice improved efficiency by shifting these calculations away from the host processor. The resulting transformed vectors were then rendered on the terminal’s integrated vector monitor.

Distinct from other products of the time, Vector General terminals contained very limited internal memory, instead utilizing direct memory access (DMA) to retrieve data directly from the host system’s memory. A fully equipped VG3D terminal, bundled with an entry-level PDP-11 computer, was priced around $31,000, offering a cost-effective alternative compared to competitors like the IBM 2250, which cost approximately $100,000 for the terminal alone.

Significantly, a VG3D terminal paired with a PDP-11/45 played a role in producing key animation sequences for Star Wars, underscoring its contribution to visual effects technology.

Hardware

During the late 1960s, it was common for graphics terminals to internally store vector data and carry out transformations such as scaling and rotation to lessen the processing burden on the host CPU. Systems like IDI, Adage, and Imlac PDS-1 exemplified this method.

Vector General introduced an alternative by leveraging DMA to directly access the host computer’s memory, which drastically reduced onboard storage requirements and improved data throughput compared to serial communication-based solutions like the Tektronix 4010. This approach demanded host systems equipped with DMA capabilities and a costly interface card, with most implementations running on PDP-11 machines.

The host system produced 12-bit coordinate points encoded within 16-bit words that included status flags. The terminal polled the host between 30 and 60 times per second via interrupts to retrieve these points, temporarily buffering them in local registers for transformation before projection onto the cathode-ray tube (CRT) display.

Three tiers of transformation hardware were available: a basic two-dimensional model supporting panning and zooming; an enhanced 2DR variant that added two-dimensional rotation; and a top-tier three-dimensional version capable of rotating, panning, and zooming vectors in three-dimensional space. Any model could be optionally equipped with a character generator.

The CRT utilized electromagnetic deflection technology enabling rapid "random scan" or vector display rather than traditional raster scanning. Two screen sizes were offered—17-inch and 21-inch—with a high-speed variant of the larger screen designed for accelerated rendering.

User input devices encompassed a 70-key keyboard, pushbutton switches featuring indicator lights, graphics tablets, light pens, dial boxes, and joysticks. The entire system occupied a footprint comparable to that of a compact refrigerator.

Drawing concepts

Vectors were defined by pairs of endpoints in space, each coordinate consisting of two or three 12-bit values spanning from 0 to 4,095 along X, Y, and optionally Z axes. The terminal included three separate 12-bit registers dedicated to manipulating these coordinates.

Multiple vector memory addressing modes were supported. The fundamental "absolute" mode specified each vector with two explicit points. "Relative" vectors represented points as offsets from the preceding endpoint, reducing data size for continuous lines such as charts. "Incremental" mode further compressed data by encoding points with only 6 bits each; these values adjusted either higher- or lower-order bits to allow coarse or fine position changes. "Autoincrementing" vectors minimized storage needs by requiring only one coordinate value while incrementing others by fixed amounts—functionally similar to relative vectors with predetermined offsets along one axis. Additionally, specialized circuitry allowed drawing circular arcs without needing multiple discrete points.

The display supported 32 distinct intensity levels adjustable through terminal registers or automatically modulated in 3D mode based on depth (Z-axis), producing a depth effect where objects closer to the viewer appeared brighter. The rate at which intensity changed was configurable via the ISR register.

A 12-bit PS register stored a scaling multiplier; absent scaling, coordinates spanned roughly double the visible screen area to facilitate scrolling. Applying scaling multiplied both coordinates and character dimensions to create zooming effects.

An optional character generator employed five predefined hardware shapes—circle, vertical and horizontal line squares, plus vertically and horizontally oriented hourglass figures—to construct characters by selectively activating or deactivating the beam during shape rendering. For instance, the letter C was formed using the circle shape with beam blanking on its right portion; D combined circle and vertical line shapes with selective illumination. Characters required between one and three such shape draws. The character set included Greek letters and mathematical symbols alongside standard ASCII characters.

Programming

The terminal updated its display by periodically accessing the host computer's main memory through DMA. Additional communication was managed via a single bidirectional I/O port, triggered by an interrupt request detailed in the PIR register. Configuration and commands were transmitted by writing data to one of the terminal's 85 registers through this port.

For instance, the host could modify the PS register to adjust image zoom by initiating an interrupt that specified the register number. The terminal would then reply with a 16-bit message sent over the I/O channel. Writing operations followed a comparable method, with the terminal reading values upon receiving an interrupt.

Registers 14 and 15 contained the base address and offset for the vector list's starting point, facilitating "page flipping" by simultaneously switching display memory pointers. This method was constrained by the amount of host memory available.

The display instructions accommodated multiple formats for constructing vectors and executing commands such as loading data into registers or performing logical operations like OR and AND. These commands could be combined to manipulate display components—for example, activating lamps, rotating images, or drawing vectors—thereby enhancing overall functionality.

Notable uses

The VG3D earned distinction for its contributions to Star Wars and early computer aided design advancements.

In Star Wars

Larry Cuba produced two computer animation sequences for Star Wars utilizing a PDP-11/45 paired with a VG3D terminal. To capture each frame, a wire connected a pushbutton light to the camera shutter trigger, controlled by the host computer to advance the film frame-by-frame.

The first sequence, portraying the Death Star exterior, relied solely on VG3D's internal display capabilities. It employed a set of 3D points outlining the station stored in PDP-11 memory, created algorithmically using curve functions from the associated GRASS programming language. Movement and rotation effects were achieved by loading updated rotation and zoom parameters into terminal registers prior to triggering the camera.

The second sequence depicted a trench run from overhead and pilot viewpoints, requiring perspective calculations beyond what the terminal natively supported. The physical trench model consisted of six features replicated to form a 40-foot-long structure. Cuba digitized these features from photographs, assembling more than 50 U-shaped sections. For each frame, five sections were layered in depth with perspective applied externally before being transmitted as static images to the terminal for filming. Each frame required approximately two minutes to render.

In the US Army

Mike Muuss recounted how the US Army's Ballistic Research Laboratory procured a Cyber 173 along with three workstations equipped with VG3D terminals driven by PDP-11/34 systems. Although intended to be networked, these systems remained unused due to technical difficulties. In 1979, Muuss connected one workstation and developed software that displayed a rotating 3D cube.

When another developer requested displaying 3D points of the XM1 tank design on VG terminals instead of using a Calcomp plotter, Muuss initially produced a static image on a Tektronix 4014, then successfully enabled interactive rotation on the VG3D by leveraging its vector hardware.

This breakthrough was unprecedented within the Army. The commanding general of ARRADCOM visited to witness live demonstrations, which led to two weeks of continuous presentations for officers. The resulting attention allowed Muuss to begin developing BRL-CAD, representing a major leap forward in military graphics technology.

External links

See also