Vector General 3D
   HOME

TheInfoList



OR:

Vector General (VG) was a series of
graphics terminal A computer terminal is an electronic or electromechanical computer hardware, hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. The Teleprinter, teletype was an example of an e ...
s and the name of the Californian company that produced them. They were first introduced in 1969 and were used in computer labs until the early 1980s. The terminals were based on a common platform that read
vector Vector most often refers to: *Euclidean vector, a quantity with a magnitude and a direction *Vector (epidemiology), an agent that carries and transmits an infectious pathogen into another living organism Vector may also refer to: Mathematic ...
s provided by a host
minicomputer A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold at a much lower price than mainframe and mid-size computers from IBM and its direct competitors. In a 1970 survey, ...
and included hardware that could perform basic mathematical transformations in the terminal. This greatly improved the performance of operations like rotating an object or zooming in. The transformed vectors were then displayed on the terminal's built-in
vector monitor A vector monitor, vector display, or calligraphic display is a display device used for computer graphics up through the 1970s. It is a type of CRT, similar to that of an early oscilloscope. In a vector display, the image is composed of drawn ...
. In contrast to similar terminals from other vendors, the Vector General systems included little internal
memory Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembered, ...
. Instead, they stored vectors on the host computer's memory and accessed them via
direct memory access Direct memory access (DMA) is a feature of computer systems and allows certain hardware subsystems to access main system memory independently of the central processing unit (CPU). Without DMA, when the CPU is using programmed input/output, it is t ...
(DMA). Fully equipped VG3D terminals ran at about $31,000 including a low-end
PDP-11 The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sold, ...
computer, compared to machines like the
IBM 2250 The IBM 2250 Graphics Display Unit was a vector graphics display system by IBM for the System/360; the Model IV attached to the IBM 1130. Overview The IBM 2250 Graphics Display Unit was announced with System/360 in 1964. A complete 2250 III sys ...
which cost $100,000 for just the terminal. Among a number of famous uses known within the computer graphics field, it was a VG3D terminal connected to a
PDP-11/45 The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sold, ...
that was used to produce the "attacking the Death Star will not be easy" animations in ''
Star Wars ''Star Wars'' is an American epic film, epic space opera multimedia franchise created by George Lucas, which began with the Star Wars (film), eponymous 1977 film and quickly became a worldwide popular culture, pop-culture Cultural impact of S ...
''.


Description


Hardware

A common attempt in the late 1960s to improve performance of graphics display, especially in 3D, was to use special terminals that held a list of
vector Vector most often refers to: *Euclidean vector, a quantity with a magnitude and a direction *Vector (epidemiology), an agent that carries and transmits an infectious pathogen into another living organism Vector may also refer to: Mathematic ...
s in internal memory and then used hardware or software running in the
display controller A video display controller or VDC (also called a display engine or display interface) is an integrated circuit which is the main component in a video-signal generator, a device responsible for the production of a TV video signal in a computing ...
to provide basic transformations like rotation and scaling. As these transformations were relatively simple, they could be implemented in the terminal for relatively low cost, and thereby avoid spending time on the host CPU to perform these operations. Systems performing at least some of these operations included the IDI, Adage, and
Imlac PDS-1 IMLAC Corporation was an American electronics company in Needham, Massachusetts, that manufactured graphical display systems, mainly, the PDS-1 and PDS-4, in the 1970s. The PDS-1 debuted in 1970. It was the first low-cost commercial realizatio ...
. A key innovation in the VG series terminals was the use of
direct memory access Direct memory access (DMA) is a feature of computer systems and allows certain hardware subsystems to access main system memory independently of the central processing unit (CPU). Without DMA, when the CPU is using programmed input/output, it is t ...
(DMA) to allow it to access a host computer's memory. This meant that the terminals did not need much storage of their own, and gave them the ability to rapidly access the data without it being copied over a slower link like the serial-based
Tektronix 4010 The Tektronix 4010 series was a family of text-and-graphics computer terminals based on storage-tube technology created by Tektronix. Several members of the family were introduced during the 1970s, the best known being the 11-inch 4010 and 19-inc ...
or similar systems. The downside to this approach is that it could only be used on machines that offered DMA, and only through a relatively expensive adaptor. The basic concept was that the host computer would run calculations to produce a series of points for the 2D or 3D model and express that as 12-bit values, normally stored in 16-bit words with extra stuffed status bits. The terminal would then periodically interrupt the computer, 30 to 60 times a second, and quickly read out and display the data. Each point was read one-by-one into the local
memory register A processor register is a quickly accessible location available to a computer's processor. Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only. ...
s for temporary storage while mathematical functions were applied to them to scale, translate and (optionally) rotate, and when the final values were calculated, those points were sent to the
cathode ray tube A cathode-ray tube (CRT) is a vacuum tube containing one or more electron guns, which emit electron beams that are manipulated to display images on a phosphorescent screen. The images may represent electrical waveforms ( oscilloscope), pictu ...
(CRT) for display. There were three different models of the coordinate transformation hardware. The most basic system included the hardware needed to pan and zoom 2D images, in which case the terminal containing it would be known as a Vector General 2D. Another version added the ability to rotate the 2D image around an arbitrary point, known as the 2DR (for Rotate). The most expensive option was the 3D, which provided rotation, pan and zoom on 3D vectors. Another option that could be added to any of these models and was not reflected in the name added a
character generator A character generator, often abbreviated as CG, is a device or software that produces static or animated text (such as news crawls and credits rolls) for keying into a video stream. Modern character generators are computer-based, and they can g ...
. The square CRTs were driven directly from the output of the transformation hardware, as opposed to being displayed using a traditional
raster scanning A raster scan, or raster scanning, is the rectangular pattern of image capture and reconstruction in television. By analogy, the term is used for raster graphics, the pattern of image storage and transmission used in most computer bitmap image s ...
method. The company referred to this type of operation as "random scan", although it is universally referred to as a
vector monitor A vector monitor, vector display, or calligraphic display is a display device used for computer graphics up through the 1970s. It is a type of CRT, similar to that of an early oscilloscope. In a vector display, the image is composed of drawn ...
in modern references. Two basic CRT models were available, measuring and diagonally. The 21-inch model was also available in a special "high speed" version which improved the drawing rates. The CRTs used electromagnetic deflection, not magnetic as in televisions, to provide high-speed scanning performance. Several different input devices could be connected to the system. The most common was a 70-key
keyboard Keyboard may refer to: Text input * Keyboard, part of a typewriter * Computer keyboard ** Keyboard layout, the software control of computer keyboards and their mapping ** Keyboard technology, computer keyboard hardware and firmware Music * Musi ...
, while others included a bank of momentary pushbuttons switches with internal register-controlled lights, a
graphics tablet A graphics tablet (also known as a digitizer, digital graphic tablet, pen tablet, drawing tablet, external drawing pad or digital art board) is a computer input device that enables a user to hand-draw images, animations and graphics, with a spec ...
, a
light pen A light pen is a computer input device in the form of a light-sensitive wand used in conjunction with a computer's cathode-ray tube (CRT) display. It allows the user to point to displayed objects or draw on the screen in a similar way to a tou ...
, a
dial box A dial box is a computer peripheral for direct 3D manipulation e.g. to interactively input the rotation and torsion angles of a model displayed on a computer screen. Dial boxes were common input tools in the first years of interactive 3D graphic ...
, and a
joystick A joystick, sometimes called a flight stick, is an input device consisting of a stick that pivots on a base and reports its angle or direction to the device it is controlling. A joystick, also known as the control column, is the principal cont ...
. The system as a whole was quite large, about the size of a small
refrigerator A refrigerator, colloquially fridge, is a commercial and home appliance consisting of a thermally insulated compartment and a heat pump (mechanical, electronic or chemical) that transfers heat from its inside to its external environment so th ...
.


Drawing concepts

Vectors were represented logically by two end points in space. Each point was defined by two or three 12-bit values, thereby representing a space from 0 to 4,095 in X, Y and (optionally) Z. The terminal had three 12-bit registers to hold the values while they were being manipulated. The system allowed vectors to be represented in a number of ways in memory. The most basic mode, "absolute", required two points, one for each end of the vector. "Relative" vectors were expressed as offsets from the last set of values, so only one point was needed to define a vector, the first point being the endpoint of the last one. This could halve the number of points needed to describe a complete drawing, if the data was continuous like a
line chart A line chart or line graph or curve chart is a type of chart which displays information as a series of data points called 'markers' connected by straight line segments. It is a basic type of chart common in many fields. It is similar to a s ...
. "Incremental" vectors further reduced memory by using only 6-bits for each point, allowing the data to be ''
packed Data structure alignment is the way data is arranged and accessed in computer memory. It consists of three separate but related issues: data alignment, data structure padding, and packing. The CPU in modern computer hardware performs reads and ...
'' into less memory in the host. The system could be set to add the values to the high- or low-order 6 bits of the last value, allowing gross or fine movement. Finally, "autoincrementing" vectors further reduced the memory requirements by requiring only one value to be stored, with the others being incremented by a preset amount as each new point was read in. These were similar to relative vectors, with one of the two axes always having the same relative offset. The system also had a separate circuit to generate circular arcs, as opposed to having to send in a series of points. The display was capable of producing 32 different intensity levels. This could be programmed directly by setting a register in the terminal, but was more commonly used in a programmed mode in 3D. In this mode the intensity was changed automatically as the vector was drawn, with items deeper in the Z dimensions being drawn less intense. This produced a depth cue that made the front of the object look brighter on the display. The rapidity of this change was set through the ISR register. A separate 12-bit PS register held the scale multiplier. When this value was not used, the coordinate system represented a physical area about twice as large as the screen, allowing it to translate the image to provide scrolling. When a value was placed in this register, the coordinates in the vector registers and the character drawing system were multiplied by this value, producing a zoom effect. The optional character generator drew characters using a set of five hardware-defined shapes, a circle, a square with a vertical line in the middle, a square with a horizontal line in the middle, and hourglass shapes oriented vertically and a similar one oriented horizontally. By turning the beam on and off as each of these shapes was being drawn by the hardware, the system could draw any required character. For instance, the letter C was drawn using the O shape and turning the beam off while it was on the right. The letter D would be drawn using the O shape and turning it off while it was on the left, and then drawing the vertical-line box with the beam turned on only when the center vertical bar was being drawn. Between one and three such "draws" are needed to produce a complete character. The system included a number of greek letters and mathematical symbols in addition to the normal
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because of ...
characters.


Programming

The terminal periodically read the main memory of the host computer using DMA to refresh the display. Further communications were handled through a single bidirectional I/O port after creating an interrupt request with the request details in the PIR register. Settings and instructions were handled by sending data to and from the I/O port to one of the terminal's 85 registers. For instance, the host could set the value of the PS register, causing the image to zoom. It would do this by calling an interrupt whose 16-bit message contained the number of the register to be set, 17 in this case. The terminal would respond by sending a 16-bit message back over the I/O channel. Writes were handled using a similar process, but the terminal responded to the interrupt by reading a value instead. The base address for the start of the vector list and the offset within it were in registers 14 and 15. This allowed the display to perform a sort of "page flipping" by writing out separate sets of points within the computer's memory and then changing the display all at once by changing the value of register 14 to point to a different base address. This was limited by the amount of memory available on the host computer. The display instructions had a variety of formats that allowed the construction of not only vectors, but also various commands. For instance, there were instructions to load data into a given register, consisting of two 16-bit words the first with the register details and the next with the value. Other instructions performed logical OR or AND on register values. The display instructions themselves could be mixed with these operations, so the system could, for instance, begin displaying a selection of items, cause a lamp to light, rotate the image, and then draw more vectors.


Notable uses

The VG3D is historically notable for its use in ''
Star Wars ''Star Wars'' is an American epic film, epic space opera multimedia franchise created by George Lucas, which began with the Star Wars (film), eponymous 1977 film and quickly became a worldwide popular culture, pop-culture Cultural impact of S ...
'', but is also well known for its early role in the development of
computer aided design Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve co ...
.


In ''Star Wars''

Larry Cuba Larry Cuba (born 1950) is a computer-animation artist who became active in the late 1970s and early 1980s. Born in 1950 in Atlanta, Georgia, he received A.B. from Washington University in St. Louis in 1972 and his Master's Degree from California In ...
produced two segments of computer animation for ''Star Wars'' on a PDP-11/45 with a VG3D terminal. To film the images frame-by-frame, a wire was connected between one of the lights on the pushbutton panel and the shutter trigger on the camera. This was triggered by the host computer, causing the camera to release the shutter one time and to advance the film a single frame. The first segment, which shows the exterior of the
Death Star The Death Star is a fictional space station and Weapon of mass destruction, superweapon featured in the ''Star Wars'' Space opera, space-opera franchise. Constructed by the autocratic Galactic Empire (Star Wars), Galactic Empire, the Death Star ...
, is based entirely on the VG3D's internal display capabilities. The model consisted of a simple series of 3D points representing the outline of the station held in the PDP-11's memory, constructed algorithmically using the associated
GRASS programming language GRASS (''GRAphics Symbiosis System'') is a programming language created to script 2D vector graphics animations. GRASS was similar to BASIC in syntax, but added numerous instructions for specifying 2D object animation, including scaling, translati ...
's curve generation code. To move and rotate the image as seen in the film, the associated GRASS program would load new rotation and zoom figures into the terminal's registers and then trigger the camera. The second segment shows the view flying down the trench in the final attack, first from above and then from the pilot's perspective. This was much more difficult to create because the terminal did not support the calculation of perspective, which was required in this sequence. The physical model of the trench used during filming was made up of a series of six features which were duplicated many times and then assembled in different ways to produce a single long model. Cuba digitized each of these six features from photographs and then combined them in different configurations into over 50 U-shaped sections. For each frame, five of these sections were stacked in depth and then the perspective calculations were applied. The addition of new sections as the animation progresses can be seen in the film. This was then sent to the terminal as a static image and the camera was triggered. Each frame took about two minutes to render.


In the US Army

Mike Muuss Michael John Muuss (October 16, 1958 – November 20, 2000) was the American author of the freeware network tool ping. Career A graduate of Johns Hopkins University, Muuss was a senior scientist specializing in geometric solid modeling, ray-tr ...
recounts that the
US Army The United States Army (USA) is the land service branch of the United States Armed Forces. It is one of the eight U.S. uniformed services, and is designated as the Army of the United States in the U.S. Constitution.Article II, section 2, cla ...
's
Ballistic Research Laboratory The Ballistic Research Laboratory (BRL) was a leading U.S. Army research establishment situated at Aberdeen Proving Ground, Maryland that specialized in ballistics ( interior, exterior, and terminal) as well as vulnerability and lethality analysis. ...
had purchased a Cyber 173 and three workstations consisting of a VG3D terminal and a PDP-11/34 to drive it. These were intended to be connected together, but no one was able to get this to work, and in the end, the VG workstations were left unused. He was bothered to see all of this hardware being wasted, so in 1979 he hooked up one of the workstations and created a program that produced a rotating 3D cube. Another programmer had been given a set of 3D points of the XM1 tank design and was writing code to output it to a
Calcomp plotter Calcomp plotters (sometimes referred to as CalComp plotters) were the best known products of the California Computer Products company ( Calcomp or CalComp). Overview The Calcomp 565 drum plotter, introduced in 1959, was one of the first compute ...
. He asked Muuss if they could get it displayed on the VG terminals instead, so they could rotate it. He first output it as a static image on a
Tektronix 4014 The Tektronix 4010 series was a family of text-and-graphics computer terminals based on storage tube, storage-tube technology created by Tektronix. Several members of the family were introduced during the 1970s, the best known being the 11-inch 40 ...
, but the next night managed to get the display onto the VG3D where it could be easily spun around using the internal vector hardware. No one in the Army had seen anything like this before. The next day the commanding general of ARRADCOM flew in to see it live. Over the next two weeks Muuss was constantly giving demos of the system to a parade of officers. The demo became so well known that Muuss was able to begin development of
BRL-CAD BRL-CAD is a constructive solid geometry (CSG) solid modeling computer-aided design (CAD) system. It includes an interactive geometry editor, ray tracing support for graphics rendering and geometric analysis, computer network distributed frameb ...
.


Notes


References


Citations


Bibliography

* * * * * * * * {{cite book , first=David , last=Weisberg , title=The Engineering Design Revolution , url=http://www.cadhistory.net/13%20IBM,%20Lockheed%20and%20Dassault.pdf , date=2008


External links


Making of the Computer Graphics for Star Wars
short film made by Larry Cuba to illustrate the process of making the ''Star Wars'' animations.


See also

*
LDS-1 (Line Drawing System-1) LDS-1 (Line Drawing System-1) was a calligraphic (vector, rather than raster) display processor and display device created by Evans & Sutherland. This model was known as the first graphics device with a graphics processing unit. Features It wa ...
Graphical terminals